-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refs #219: create page about Drupal training.
- Loading branch information
1 parent
0e8a461
commit 3045a56
Showing
1 changed file
with
125 additions
and
0 deletions.
There are no files selected for viewing
125 changes: 125 additions & 0 deletions
125
content/working-at-sparkfabrik/drupal-frontend-training.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
# Drupal Learning Path | ||
|
||
## Introduction | ||
|
||
The following training program includes a section of Core Drupal Knowledge, with which every Drupalist should be comfortable at least on a basic level. | ||
|
||
A skilled Drupal developer should possess a combination of frontend and backend expertise, along with a good understanding of Drupal's architecture and best practices. | ||
|
||
## Core Skills | ||
|
||
Even before specific knowledge of Drupal, there are some core skills that we consider essential for working on any project - refer to the playbook for them: [Core Skills at Sparkfabrik](https://playbook.sparkfabrik.com/working-at-sparkfabrik/core-skills) | ||
|
||
All core skills are important, but in particular you need to know how to master: | ||
|
||
- Command line usage | ||
- GIT (basic commands) | ||
- Terminology and basic concepts for CI/CD | ||
|
||
## Core Drupal Knowledge: | ||
|
||
1. **Drupal Architecture:** | ||
- Understand the structure of Drupal and its components. | ||
- Familiarity with the Drupal core modules and how they interact. | ||
|
||
2. **Basic Theming:** | ||
- Proficient in creating and customizing themes. | ||
- Knowledge of Twig templating engine. | ||
|
||
3. **Basic Module Development:** | ||
- Ability to create custom modules. | ||
- Understanding of Drupal hooks and events. | ||
|
||
4. **Site Building:** | ||
- Expertise in building and configuring Drupal sites. | ||
- Content type creation and management. | ||
- Views configuration for content display. | ||
- Media library, image styles and Responsive images. | ||
|
||
6. **Entity API:** | ||
- Understanding of entities and the Entity API. | ||
- Creation of custom entities and fields. | ||
|
||
7. **Configuration:** | ||
- Configuration import and export. | ||
- Deploy lifecycle of Drupal project. | ||
- Usage of Config Ignore and Config Split | ||
|
||
8. **Drupal 8/9/10 Standards:** | ||
- Adherence to Drupal coding standards. | ||
- Familiarity with changes and improvements introduced in each Drupal version. | ||
|
||
## Backend skills | ||
|
||
1. **Backend Development:** | ||
- Proficiency in PHP, especially within the Drupal context. | ||
- Knowledge of Drupal's database abstraction layer (DBAL). | ||
- Implementation of custom functionality using hooks and services. | ||
|
||
2. **Module Development:** | ||
- Knwoledge of main Drupal's APIs. | ||
- Integration with third-party modules. | ||
|
||
## Frontend skills | ||
|
||
**Note:** in this playbook, you can find frontend development guidelines originally written for Drupal 8 (D8), but they remain relevant for Drupal 10 (D10): [Frontend Guidelines for Drupal 8](https://playbook.sparkfabrik.com/tools-and-policies/frontend-guidelines-drupal8) | ||
|
||
1. **HTML/CSS/JavaScript:** | ||
- Strong skills in HTML, CSS, and JavaScript for frontend development. | ||
- Drupal behavior and core JS libraries. | ||
- Knowledge of modern frontend frameworks (e.g., React, Vue.js) if required. | ||
|
||
2. **Twig Templating:** | ||
- Proficient in using Twig for theming. | ||
- Ability to create and modify templates effectively. | ||
|
||
3. **Responsive Design:** | ||
- Understanding and implementation of responsive web design principles. | ||
- Breakpoints usage. | ||
|
||
4. **Theme libraries:** | ||
- Strategies for including libraries in a theme. | ||
- Extension and override of a library. | ||
|
||
## Tools and Best Practices: | ||
|
||
1. **Drush and Composer:** | ||
- Expertise in using Drush for Drupal site administration. | ||
- Experience with Composer for dependency management. | ||
|
||
2. **Performance Optimization:** | ||
- Knowledge of performance optimization techniques for Drupal sites. | ||
- Familiarity with caching strategies. | ||
- Kwnoledge of WebProfiler module. | ||
- Key metrics from Google PageSpeed Insights. | ||
|
||
3. **Security Best Practices:** | ||
- Understanding of Drupal security best practices. | ||
- Regular application of security updates. | ||
|
||
4. **Testing:** | ||
- Familiarity with testing frameworks (e.g., PHPUnit and Behat) for automated testing. | ||
- Writing and executing tests for Drupal code. | ||
|
||
5. **Documentation:** | ||
- Creating and maintaining clear and comprehensive code documentation. | ||
- Writing documentation for site configuration and architecture. | ||
|
||
6. **Continuous Integration/Continuous Deployment (CI/CD):** | ||
- Integration of Drupal projects into CI/CD pipelines. | ||
- Automated testing and deployment processes. | ||
|
||
7. **Troubleshooting:** | ||
- Ability to identify and resolve issues quickly. | ||
- Proficient in debugging and using Drupal's error reporting tools. | ||
|
||
## Community Involvement: | ||
|
||
1. **Drupal Community Participation:** | ||
- Active involvement in the Drupal community. | ||
- Contribution to Drupal core or contributed modules/themes. | ||
|
||
2. **Stay Updated:** | ||
- Continuous learning and staying updated with the latest Drupal trends and technologies. | ||
|
||
A well-rounded Drupal developer should be comfortable working on both frontend and backend aspects, ensuring the efficient development and maintenance of Drupal projects. |