This is the study guide for the Acquia Certified Drupal 9 Front End Specialist Examination.
This guide explains the exam blueprint, breaks down knowledge domains, and helps you get familiar with the nature of questions asked in the exam. It also provides helpful steps to prepare for the exam and links to further resources for study and preparation.
The purpose of the Acquia Certified Developer Front End Specialist (D9) exam is to validate the skills and knowledge of a Drupal Developer in the area of Front end Development (Theming). This exam is based on the Drupal 9 platform.
This exam validates a candidate’s ability to:
The basic knowledge and skills required include the following areas and objective components:
Acquia offers free Drupal preparatory courses on Acquia Academy.
Customers, Partners, and the public can self-register on the appropriate branch of Acquia Academy to access these and other Drupal resources.
We offer private, instructor-led Drupal training for groups of up to 10 people. Visit Professional Services Product Guide to review our available private training.
Through our network of training partners, we offer public, instructor-led training, sold by the seat. Visit the Acquia Developer Portal for public training listings.
After taking an introductory course, build a small website on your own to reinforce the concepts learned in the course.
Completing the courses may not fully prepare you to take the certification exam. You need some practical experience to attempt the exam. We recommend that you gain practical experience by working on at least 2-3 real-life projects.
Once you decide to take the exam, we recommend that you study the domains and topics covered by the exam and their relative weight. You should also perform a self-assessment of your own areas of strength and weakness vis-a-vis the domains/topics covered by the exam blueprint. This is a recommended starting point for experienced Drupal front end developers.
Based on your self-assessment, you may need to gain knowledge and experience in some domains or topics. The best way to learn Drupal is by working or experimenting with it. Follow the suggestions given for preparation in the Preparation section and refer to the external resources given in the Study Guide section.
At this stage, you should be ready to take the exam. Follow the instructions for registering for an exam.
Domain | % of Questions |
---|---|
1.0 Fundamental Web Development Concepts | 25% |
2.0 Theming Concepts | 25% |
3.0 Templates and Preprocess functions | 25% |
4.0 Layout configuration | 15% |
5.0 Performance | 5% |
6.0 Security | 5% |
TOTAL | 100% |
Note
This exam blueprint includes topics /domains and test objectives to help guide the test taker. They should not be construed as a comprehensive listing of all of the content on this examination.
Experienced Drupalists will likely know their weaknesses more than they know their strengths. You might have judged your own skill levels while reading through the domains listed above. It is quite natural for you to be more experienced and proficient in one domain than another Also, within a domain, it is quite likely that you have hands-on experience on some topics but have never touched other areas within the same domain.
We suggest you perform a skills and expertise self-analysis with respect to the domains and topics listed in the blueprint. The blueprint lists test objectives (topics) for each domain. Rank your skills on a scale of 0 to 10 against each test objective (0 for absolutely zero knowledge or exposure and 10 for complete mastery).
You may use the following table to carry out your evaluation.
Domain | Topic | Your Score (1-10) |
---|---|---|
1 | Fundamental web development concepts | |
1.1 | Demonstrate knowledge of HTML and CSS | |
1.2 | Identify PHP programming concepts | |
1.3 | Identify JavaScript and jQuery programming concepts | |
1.4 | Demonstrate knowledge of responsive design concepts | |
2 | Theming concepts | |
2.1 | Demonstrate ability to define and use custom regions in a theme | |
2.2 | Demonstrate ability to work with theme configuration | |
2.3 | Demonstrate knowledge of working with stylesheets | |
2.4 | Demonstrate knowledge of working with JavaScript in a theme | |
2.5 | Demonstrate knowledge of working with Breakpoints in a theme | |
2.6 | Demonstrate ability to build a sub-theme from a base theme | |
3 | Templates and pre-process functions | |
3.1 | Demonstrate ability to use Twig syntax | |
3.2 | Demonstrate ability to build and customize core templates for managing markup | |
3.3 | Demonstrate ability to work with template suggestions | |
3.4 | Demonstrate ability to write template pre-process functions for overriding custom output | |
3.5 | Demonstrate ability to use form alter and template suggestions alter | |
4 | Layout configuration | |
4.1 | Demonstrate ability to create and configure blocks for building layouts | |
4.2 | Demonstrate ability to create and configure views for building content list pages, blocks and feeds | |
4.3 | Demonstrate ability to use Layout Builder module to build layouts | |
5 | Performance | |
5.1 | Demonstrate ability to analyze and resolve site performance issues arising from site configuration | |
5.2 | Demonstrate ability to analyze and resolve site performance issues arising from custom theme | |
6 | Security | |
6.1 | Demonstrate ability to analyze and resolve security issues arising from site configuration | |
6.2 | Demonstrate ability to analyze and resolve security issues arising from site custom theme |
Once you have a list of topics for which you need preparation, you will possibly face two challenges:
Customers and Partners the public can self-register on the appropriate branch of Acquia Academy and take courses in the relevant domain to refresh their knowledge.
Supplementing introductory Drupal training with documentation and online resources is a good idea.
A list of online resources and documentation for each learning domain appears in the Study Guide section.
Finding sufficient practical case studies covering exam topics can be a challenge. Here are a few ideas and suggestions for finding case studies for your preparation:
Site building
Review several (3-5) Drupal 9 projects that you or your team has worked on in the past year. Review the content types, field settings, display settings, vocabularies, blocks, menus, and views used on the sites.
Ask questions
Front end development
Find custom themes developed by your team over the last year. If possible, obtain the source designs or wireframes on which they were based. Review template files and Twig syntax, review CSS and JS files, review pre-process functions implemented by the theme.
Ask questions
If you do not have access to themes developed by your team, you could do this exercise by examining a few contributed themes.
If you wish to sharpen your knowledge further, you could try building a theme on your own!
Drupal Coding Standards
To get an overview of coding best practices and standards as they are applied in the Drupal community, see Coding 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.
The application of Drupal concepts is the hands-on practice of development. The courses provide some opportunities to practice doing basic front-end development tasks alongside the videos, but you will need more practice than that to pass the exam. Some suggested resources are below, which provide details for the completion of specific front-end development tasks in Drupal.
Resources:
Topic | Link |
---|---|
Drupal Theming Documentation | Theming Drupal |
A front-end specialist should have extensive experience writing clean, standards-compliant HTML and CSS. They should be well versed in the HTML5 and CSS3 specifications and should be up to date on modern standards and practices.
Resources:
Topic | Link |
---|---|
HTML5 Developer Guide | HTML5 |
CSS (Mozilla Developer Network) | CSS |
A front-end specialist should have knowledge of PHP syntax, including but not limited to:
Resources:
Topic | Link |
---|---|
PHP Manual | PHP Manual |
A front-end specialist should have extensive experience writing custom UI components using “vanilla” Javascript and jQuery. They should follow modern best practices and be familiar with common security and performance issues.
Resources:
Title | Link |
---|---|
Javascript Documentation | JavaScript |
jQuery Documentation | jQuery |
A front-end specialist should understand the principles of responsive design. Drupal 9 uses a responsive “Mobile First” approach out of the box.
Resources:
Title | Link |
---|---|
Media Queries: Width vs. Device Width | Media Queries: Width vs. Device Width |
Responsive web design (Drupal.org) | Responsive web design |
A front-end specialist should have experience defining custom regions, printing those regions out in the proper templates, and creating conditional display logic for when to print regions.
Resources:
Title | Link |
---|---|
Adding regions to a theme | Adding Regions to a Theme |
page.html.twig (API) | page.html.twig |
A front-end specialist should be familiar with administrative settings related to theme configuration and should have the ability to create his/her own theme settings using custom code.
Resources:
Title | Link |
---|---|
Creating advanced theme settings | Creating advanced theme settings |
A front-end specialist should be familiar with CSS and Drupal’s best practices for writing and organizing CSS. They should be able to add their own stylesheets to a theme, be familiar with the ways Drupal aggregates stylesheets, be familiar with how Drupal orders stylesheets, and be able to conditionally load stylesheets.
Resources:
Title | Link |
---|---|
CSS | CSS |
CSS and Javascript | Adding assets (CSS, JS) to a Drupal theme via *.libraries.yml |
A front-end specialist should have experience writing custom Javascript and jQuery for Drupal. They should be comfortable using Drupal’s Javascript API and be familiar with Drupal’s javascript coding standards. They should be able to conditionally load javascript.
Resources:
Title | Link |
---|---|
CSS and Javascript | Adding assets (CSS, JS) to a Drupal theme via *.libraries.yml |
Javascript API | JavaScript API |
A front-end specialist should know how to define and use a common set of breakpoints that can be used throughout a site. They should be well versed in CSS media queries and be proficient in constructing media queries that can target a wide variety of devices.
Resources:
Title | Link |
---|---|
Working with Breakpoints in Drupal | Working with breakpoints in Drupal |
Using media queries | Using media queries |
A front-end specialist should be well versed in the pros and cons of a wide variety of core and contributed base themes. They should know how to choose the appropriate base theme for a project and know how to properly sub-theme in a way that utilizes, overrides, and extends the assets of the base theme.
Resources:
Title | Link |
---|---|
Creating Sub-themes | Creating sub-themes |
A front-end specialist should have knowledge of the basic and advanced twig syntax, including but not limited to:
Resources:
Title | Link |
---|---|
Twig official documentation | Twig Documentation |
Twig in Drupal | Twig in Drupal |
Functions in Twig templates | Functions - In Twig Templates |
Twig for Template Designers | Twig for Template Designers |
Filters - Modifying Variables in Twig Templates | Filters - Modifying Variables in Twig Templates |
A front-end specialist should have knowledge of how to use, name, and create the templates to output the desired markup for the project.
Resources:
Title | Link |
---|---|
Working with Twig Templates | Working With Twig Templates |
Twig Template naming conventions | Twig Template naming conventions |
Creating advanced theme settings | Creating advanced theme settings |
Drupal provides a better way to: handle template suggestions, add custom suggestions, or define a specific template suggestion for an element.
Resources:
Title | Link |
---|---|
Debugging Twig Templates | Debugging Twig templates |
A front end specialist should be able to use pre-process functions to override, improve, or get extra data needed for templates.
Resources:
Title | Link |
---|---|
Function hook_preprocess_HOOK | function hook_preprocess_HOOK |
A front-end specialist should be proficient in creating and managing blocks in Drupal’s UI, and in custom code. They should follow best practices for creating flexible layouts using Drupal’s built-in block system.
Resources:
Title | Link |
---|---|
Drupal User Guide : Blocks | Blocks |
A front-end specialist should be proficient in presenting content using views. They should be familiar with the different types of views displays, their options, and the pros and cons of using each.
Resources:
Title | Link |
---|---|
Drupal User Guide : Views | Creating Listings with Views |
A front-end specialist should know how to use Drupal core Layout builder module to configure layouts on per content type or per node basis.
Resources:
Title | Link |
---|---|
Drupal User Guide : Layout Builder | Layout Builder |
Topics focus on standard methods of Drupal configuration that optimize site performance in multiple scenarios. The various scenarios cover preferred combinations that result in minimizing page loads and render time.
This section covers common pitfalls with performance when creating various themes. Scenarios will cover efficient options with PHP, Javascript, and CSS. Questions will also cover techniques in debugging slow code within Drupal themes.
Resources:
Title | Link |
---|---|
Frontend Performance Guide | Front-end performance |
This includes common techniques around Drupal security for development and site building tasks. Security topics focus on programming scenarios, and configuration changes made thru the Drupal UI.
Topics include best practices revolving around proper security in the theme layer. This includes data sanitization techniques with for both PHP and Twig processing. A knowledge of security protocols in each layer of the render cycle is required.
Resources:
Title | Link |
---|---|
Security in Drupal | Security in Drupal |