Minimum Skillset for Using BLT¶
BLT is a tool that reaches far beyond Drupal development, and because of this developers planning on using it should working knowledge of the following technologies in order to be successful.
See the System Requirements for installing / using BLT. It is strongly urged that you use a Mac for local development, although certain versions of Linux and Windows 10 can also be used. Other operating systems should not be used for BLT development.
Enterprise Web Development¶
BLT can be operated on any "LAMP" stack that will run Drupal. Acquia provides several tools for this, but they are optional.
This project aims to make spinning up a simple local Drupal test/development environment incredibly quick and easy, and to introduce new developers to the wonderful world of Drupal development on local virtual machines (instead of crufty old MAMP/WAMP-based development).
Acquia Dev Desktop is a free app that allows you to run and develop Drupal sites locally on your computer and optionally host them using Acquia Cloud. Use Acquia Dev Desktop to evaluate Drupal, add and test other Drupal modules, and develop sites while on a plane or away from an internet connection.
Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development, but it can be used to keep track of changes in any files.
- git add
- git add -p
- git checkout
- git commit
- git commit --amend
- git push
- git push -f
- git rebase
- git rebase -i
Continuous Integration / Deployment¶
Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
Additional / Optional Skills¶
GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.
- Getting Started with Github
- Git Forks
- Understanding Github Flow
- Pull Requests
- BLT Github Configuration
Behat is an open source Behavior-Driven Development framework for PHP. It is a tool to support you in delivering software that matters through continous communication, deliberate discovery and test-automation.
- Getting Started with Behat
- Behat User Guide
- BLT Automated Testing with Behat
- Behat Drupal Extension
- Behat Tags
PHPUnit is a programmer-oriented testing framework for PHP.
Back End Technologies¶
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
We also strongly recommend an IDE for PHP Development Such as
Front End Technologies¶
These are technologies used by the COG theme and while not directly part of BLT, they are often integrated directly into BLT commands.
gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something.
- npm install
- npm run install-tools
- npm run build