Study Guide
Tools to Know for Drupal Development
Drupal Coding Standards
An overview of coding best practices and standards as they are applied in the Drupal community can be found here:
https://www.drupal.org/docs/develop/standards
These coding standards, detailed for every area in which code might be produced during Drupal development, represent the broadly established best practices of the community. Adhering to these best practices will make development go more smoothly, and your contributions to Drupal core or modules to be more readily and easily accepted. If you are working on a project with Acquia technical support, these are the coding standards to which pull requests must adhere.
Drush
Drush is considered a basic skill for Drupal site development.
https://github.com/drush-ops/drush
Section 1 : Fundamental Web Development Concepts
1.1 Demonstrate knowledge of HTML, CSS and Javascript
Resources:
https://developer.mozilla.org/en-US/docs/Web
https://css-tricks.com/almanac/
https://www.drupal.org/docs/8/api/javascript-api/javascript-api-overview
1.2 Demonstrate knowlwdge of OO PHP programing concepts
https://developer.mozilla.org/en-US/docs/Web/JavaScript
1.3 Demonstrate knowledge of managing dependencies using Composer
https://www.drupal.org/docs/develop/using-composer
1.4 Demonstrate the use of Git for version control
https://confluence.atlassian.com/bitbucket/tutorial-learn-bitbucket-with-git-759857287.html
https://www.atlassian.com/git/workflows
1.5 Demonstrate knowledge of Automated Testing concepts
https://www.drupal.org/docs/8/phpunit
https://api.drupal.org/api/drupal/core!core.api.php/group/testing/8
Section 2 : Drupal core API
2.1 Demonstrate an ability to register paths to define how URL requests are handled in Drupal using Routing system and Menu API
https://www.drupal.org/docs/8/creating-custom-modules
https://www.drupal.org/node/1353118
https://www.drupal.org/node/2156625
http://php.net/manual/en/language.namespaces.rationale.php
2.2 Demonstrate ability to build, alter, validate and submit forms using Form API
https://www.drupal.org/docs/8/api/form-api
2.3 Demonstrate ability to interact with the Entity system using Entity API
https://www.drupal.org/docs/8/api/entity-api
2.4 Demonstrate ability to use Core APIs for building and extending Drupal functionality
https://api.drupal.org/api/drupal/core!lib!Drupal.php/function/Drupal%3A%3Aservice/8
https://api.drupal.org/api/drupal/core!core.services.yml/8
https://www.drupal.org/docs/8/api/block-api
https://www.drupal.org/docs/8/api/cache-api
https://www.drupal.org/node/2133171
https://api.drupal.org/api/drupal/core!core.api.php/group/container/8
https://www.drupal.org/docs/8/api/plugin-api
https://api.drupal.org/api/drupal/core!modules!views!views.api.php/8.2.x
And all other core APIs listed on https://www.drupal.org/docs/8/api
https://docs.acquia.com/tutorials/fast-track-drupal-8-coding/
Section 3 : Debug code and troubleshooting
3.1 Demonstrate ability to debug code
https://www.drupal.org/docs/develop/development-tools
https://www.drupal.org/docs/develop/development-tools/xdebug-debugger
3.2 Demonstrate ability to troubleshoot site problems
https://www.drupal.org/project/devel
https://www.drupal.org/troubleshooting
Section 4 : Theme Integration
4.1 Demonstrate ability to work with Drupal's theme system using Render API and JavaScript APIs.
https://www.drupal.org/docs/8/theming
https://www.drupal.org/docs/8/api/javascript-api/javascript-api-overview
https://github.com/acquia-pso/cog
4.2 Demostrate ability to work with Twig templates and syntax
https://www.drupal.org/docs/8/theming/twig
https://www.drupal.org/docs/8/theming/twig/debugging-twig-templates
Section 5 : Performance
5.1 Demonstrate ability to analyze and resolve site performance issues arising from site configuration
http://buytaert.net/making-drupal-8-fly
5.2 Demonstrate ability to analyze and resolve site performance issues arising from custom code
https://www.drupal.org/docs/develop/profiling-drupal
5.3 Implement Drupal caching strategies using Cache API
https://www.drupal.org/docs/8/api/cache-api/cache-api
https://api.drupal.org/api/drupal/core!core.api.php/group/cache/8.2.x
Section 6 : Security
6.1 Demonstrate ability to analyze and resolve security issues arising from site configuration
https://www.drupal.org/documentation/modules/filter
https://dev.acquia.com/blog/drupal-8/10-ways-drupal-8-will-be-more-secure/2015/08/27/6621
6.2 Demonstrate ability to analyze and resolve security issues arising from site custom code
https://www.drupal.org/docs/8/security/writing-secure-code-for-drupal-8
6.3 Demonstrate the abilty to implement Drupal core security mechanisms
https://www.drupal.org/docs/8/security
Section 7 : Leveraging Community
7.1 Demonstrate the ability to contribute to the community
https://www.drupal.org/contribute
7.2 Demonstrate ability to write code using Drupal Coding Standards
https://www.drupal.org/docs/develop/standards
Drupalize.me Resources
Drupalize.me has published a concise list of the Drupalize.Me tutorials, and other resources, that will help you prepare for Acquia's Certified Back End Specialist exam for Drupal 8. The list is available at:
https://drupalize.me/series/module-development-guide
Learn more about the Acquia Certification Program at https://acquia.com/certification
Last updated