Web Development Using Joomla CMS

Course Outline

Course Objectives Learning Web Development using Joomla 1.5
Duration 32 hours
(Recommended duration 4 days @ 8 hours per day)
Target Audience
  • Web developers using LAMP intending to develop websites using Joomla
  • Web masters seeking knowledge on Joomla based websites.
Pre-requisites
  • Good experience on Web development using the LAMP stack.
  • Indepth knowledge of PHP programming language.
  • Good knowledge of the following web technologies:
    • HTTP protocol, web servers and web browsers.
    • HTML, XHTML markup language and basics of XML.
    • Basic understanding of JavaScript and CSS.
    • Basic understanding of SQL compliant RDBMS with knowledge of SQL commands and constructs (MySQL skills recommended).
    • Basic understanding of Apache httpd web server configuration and setup.

Course Coverage

Day Description
Day 1 Basic concepts
  • Introduction to Joomla.
  • Features of Joomla.
  • Conceptual architecture of Joomla.
  • An overview on various components of Joomla.
  • Advantages of using Joomla.

Installation and Configuration

  • System requirements.
  • Installing Joomla on XAMPP stack (Demo).
  • Conceptual architecture of Joomla.
  • Using Bitnami Joomla Stack!
  • Advantages of using Joomla.

Joomla Terminology and Concepts

  • Concepts used in Joomla.
  • Menus, Articles, Sections and Categories
  • Modules, Components and Plugins.
  • Admin and Site Extensions.
  • Global Configuration.

Day 2 Joomla Extensions
  • Installing Modules, Components and Plugins.
  • Using VirtueMart Shopping Cart for Joomla
  • Audio and Video Streaming with Joomla!
  • Hosting large sized files and configuring large file uploads.

Content Management using Joomla

  • Using the Article Manager.
  • Using the Section Manager.
  • Using the Category Manager.
  • Front Page Manager
  • Menu Manager
  • Archive Manager
  • Article Parameters

Hands On exercise emphasizing content management

  • Create a website to host audio and video streams
    • Allow authorized users of the website to upload audio/video
    • Allow all users to download audio/video streams

Day 3 Designing custom templates for Joomla
  • Default Joomla Templates.
  • Customizing the Joomla Template
  • User positions and Template Elements
  • Creating a custom Joomla template.
  • File structure of a template.
  • Using CSS Styling
  • Fixed size Vs. Variable size web pages
  • Creating template packages
  • Understanding various layout schemes
  • List of template tags and template functions

Hands On exercise emphasizing custom template creation

  • Create a re-usable template for website with support for custom template tags and template functions

Using Joomla Managers

  • Create a website to host audio and video streams
    • Media Manager
    • Links Manager
    • User Manager
    • Template Manager
    • Language Manager
    • Banner Manager

Day 4 Advanced Joomla content management
  • Securing web pages.
  • Hidden web pages
  • Customizing HTML headers
  • Integrating Flash animations in web pages.
  • Integrating JavaScript in web pages
  • An overview on various JavaScript UI and AJAX toolkits
    • Dojo Toolkit, YUI, JQuery
  • Integrating Google analytics support for the website
  • An overview on web robots/spiders
  • An overview on SEO optimization - tips and tricks
  • Stopping web crawlers from crawling certain parts of websites
  • Tips and techniques involved in dealing with the bad crawlers

Joomla web security overview

  • Various forms for security attacks and exploits
  • Common security pitfalls on web sites
  • XSS/Script injection attacks
  • SQL injection attacks
  • Securing Joomla based websites
    • Managing file permissions (UNIX)
    • Using Apache webserver's htaccess and htpasswd for securing critical folders of the website
    • Input validations
    • Using CAPTCHA for forms
    • Securing databases
  • An overview on Web Application Firewalls

Q&A

Feedback