Course Outline


About Joomla

Pre-requisites

  • Good to have basic knowledge of PHP

Duration

  • 2-3 Days

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 16.04 Desktop Edition (sudo/root access required)

Course Outline for Joomla

High Level Overview
  • Installation
  • Administrative Interface
  • Modules in Joomla
  • Themes
  • Directory structure of Joomla
Modules
  • Default modules in Joomla
  • Creating custom modules in Joomla
  • Adding module specific settings
  • Joomla plugins
Menus
  • Mapping URLs to menu items
  • Showing a menu
  • Hidden menus
  • URL aliases
  • Clean URLs
Database
  • Joomla database layer
  • Joomla database class
  • CRUD operations using SQL
  • CRUD operations using Object
  • Single row results
  • Multi row results
  • Single column results
Themes
  • Front-end & back-end templates
  • Creating your own template
  • Joomla template structure
Taxonomy
  • Understanding Taxonomy related terminologies
  • Tags
  • Registering content type for each view
Translation
  • Joomla translation extension
  • Embedding translable strings in template
  • Internationalization of templates
Testing
  • Running automated tests for Joomla
  • Running unit tests
Search module
  • Creating a search
Services
  • Using Joomla Ajax Interface
  • Integrating third-party software
Security
  • Client-side and server-side form validation
  • Using JInput class to sanitize the input
  • Preventing CSRF
Development Best Practices
  • Code as Art
  • Coding Conventions
  • Documentation
  • Contributing bug fixes
  • Maintaining branches
Scaling, Optimization and Performance
  • Use of caching
  • Performance improvements

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.