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