Course outline for Drupal
Pre-requisites for learning Drupal
- Developers must be familiar with PHP, RDBMS's and Web Services
- Knowledge of other CMS's like Wordpress is preferable
Lab Setup
Hardware Configuration
Participants must have access to a system with the following hardware configuration:
- 2GB of free RAM, 20GB of free disk space and full network connectivity
Software configuration
- Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)
- Firefox and Chrome browsers
Duration
5 days
Training Mode
Online training for Drupal
We provide:
- Instructor led live training
- Self-paced learning with access to expert coaches
- 24x7 access to cloud labs with end to end working examples
All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.
Classroom training for Drupal
Classroom sessions are conducted in client locations in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
Note: Classroom training is for corporate clients only
Detailed Course Outline for Drupal
High Level Overview
- Installation
- Administrative Interface
- What comes pre-packaged in Drupal
- Blocks, Modules
- Hooks
- Themes
- Nodes and Content Types
- Drupal's directory structure
- The Request/Response cycle
Modules
- A walk-through of the built-in modules
- Writing custom modules
- Module related directories
- Module related files
- Implementing a hook
- Adding module specific settings
Hooks
- Use of Hooks to customize functionality
- Triggers and Actions
- Code walkthrough
Menus
- Use of Menus
- Mapping URLs to Functionality
- Nesting of Menus
- Access control for Menus
- URL aliases
- Clean URLs
- Code walkthrough
Database
- Database Abstraction Layer
- CRUD operations
- Installing tables during installation of the module
- Deleting tables on uninstall
- Use of the schema module
- DB specific hooks
- Working with multiple databases
Nodes
- Nodes and Content Types
- Building a node module
- Create our own node types
Themes
- Introduction to themes
- The Drupal template structure
- Building your own theme
- Creating and using blocks in layouts
- Themeing blocks
Taxonomy
- Understanding Taxonomy related terminologies
- Tags
- Vocabularies
- Flat and Hierarchical Taxonomies
- RDF support
Translation
- The locale module
- Translating strings
- Working with .pot files
- i18n best practices
Testing
- Introduction to SimpleTest
- SimpleTest integration in Drupal
- DrupalUnitTestCase
- setUp, tearDown
- Test Functions and Assertions
- Testing best practices
Search
- Understanding what is built-in
- Adding to the default search via hooks
- Search internals
- Integrating Solr
Services
- Understanding various service protocols
- Consuming various services
- Drupal services module
- Creating service endpoints
- Use of AJAX
- Integrating with third-party software
System Administration
- Backuping up the site
- Restoring a backed up site
- Upgrading Drupal - things to remember
- Using Continuous Integration tools
Security
- Validating input
- Sanitizing output
- Preventing XSS
- Preventing CSRF
- User and session security
- Securing queries
Development Best Practices
- Code as Art
- Coding Conventions
- Documentation
- Contributing bug fixes
- Understanding patches
- Maintaining branches
- Using Drush
- Using Devel module
Scaling, Optimization and Performance
- Identifying where the issue is (revisiting request/response cycle)
- Improving performance via webserver configuration tweaking
- Use of caching
- Improving database performance
- Database architectures
- Performance testing