You are previewing Joomla!® Bible.
O'Reilly logo
Joomla!® Bible

Book Description

Comprehensive guide to creating Web sites with the open-source Joomla!1.5

Joomla! is an open-source content management system (CMS) for Web sites. While it is free and relatively easy to use, there are lots of tricks and functionality that may not be intuitive to new users or those switching from other systems. And the previous version is quite different from the new Joomla 1.5, for which documentation is sparse. Joomla! Bible is the complete, step-by-step guide you need to build and manage Web sites using the very newest version of this powerful and popular CMS.

  • Walks you through obtaining the Joomla! 1.5 code and how to deploy it to a server, configure the site, create content, and manage content and user hierarchies

  • Helps you get the most out of core modules that provide advanced functionality, including the Polls Module, the Banner Manager, the Media Manager, Galleries, Weblinks, Content Syndication, and Newsfeed Aggregation

  • Vaults you into the world of Web 2.0 with extensive coverage of JomSocial, and shows you how to set up for e-commmerce with VirtueMart

Get the most out of Joomla! 1.5 with this complete guide guide.

Table of Contents

  1. Copyright
  2. About the Author
  3. Credits
  4. Acknowledgments
  5. Introduction
    1. About the Icons
    2. Minimum Requirements
    3. Where To Go From Here
  6. I. Getting Started with Joomla!
    1. 1. Introducing the Joomla! Content Management System
      1. 1.1. Discovering Open Source Content Management
        1. 1.1.1. Deciding to use a CMS
        2. 1.1.2. Deciding to use open source
          1. 1.1.2.1. Determining whether open source is right for you
      2. 1.2. Discovering Joomla!
        1. 1.2.1. Deciding to use Joomla!
          1. 1.2.1.1. Pros
          2. 1.2.1.2. Cons
        2. 1.2.2. The Joomla! open source license
      3. 1.3. The Joomla! architecture
        1. 1.3.1. Programming languages used
          1. 1.3.1.1. The database
        2. 1.3.2. Finding out how the community works
        3. 1.3.3. Participating in the community
      4. 1.4. Summary
    2. 2. Obtaining and Installing Joomla!
      1. 2.1. Getting the Installation Files
        1. 2.1.1. Exploring the JoomlaCode site
        2. 2.1.2. Determining which files you need
      2. 2.2. Technical Requirements
        1. 2.2.1. Server requirements
        2. 2.2.2. Site visitor and administrator requirements
      3. 2.3. Installing Joomla!
        1. 2.3.1. Creating a local development site
        2. 2.3.2. Installing on a web hosting service
        3. 2.3.3. Running the Joomla! installer
        4. 2.3.4. Sample data
      4. 2.4. Summary
    3. 3. Taking a Look at Joomla!
      1. 3.1. Introducing the Front End (The Public Interface)
        1. 3.1.1. Understanding content organizational structure
        2. 3.1.2. Understanding menu structure
        3. 3.1.3. Modules and module positions
      2. 3.2. Introducing the Back End (The Admin Interface)
        1. 3.2.1. Exploring the admin interfaces
          1. 3.2.1.1. Control Panel
          2. 3.2.1.2. Manager pages
          3. 3.2.1.3. Workspace pages
        2. 3.2.2. The Site menu
        3. 3.2.3. The Menus menu
        4. 3.2.4. The Content menu
        5. 3.2.5. The Components menu
        6. 3.2.6. The Extensions menu
        7. 3.2.7. The Tools menu
        8. 3.2.8. The Help menu
      3. 3.3. Summary
    4. 4. Getting the Most from Site Configuration
      1. 4.1. Exploring the Global Configuration Manager
      2. 4.2. Working with the Site Tab
        1. 4.2.1. Site settings
        2. 4.2.2. Metadata settings
        3. 4.2.3. SEO settings
      3. 4.3. Using the System Tab
        1. 4.3.1. System settings
        2. 4.3.2. User settings
        3. 4.3.3. Media settings
        4. 4.3.4. Debug settings
        5. 4.3.5. Cache settings
        6. 4.3.6. Session settings
      4. 4.4. Managing Server Tab Options
        1. 4.4.1. Server settings
        2. 4.4.2. Locale settings
        3. 4.4.3. FTP settings
        4. 4.4.4. Database settings
        5. 4.4.5. Mail settings
      5. 4.5. Summary
  7. II. Working with Content and Users
    1. 5. Managing Content
      1. 5.1. Understanding the Joomla! Content Hierarchy
      2. 5.2. Creating Content Hierarchies
        1. 5.2.1. Working with sections and categories
          1. 5.2.1.1. Overview of the Section Manager
          2. 5.2.1.2. Adding new sections
          3. 5.2.1.3. Copying sections
          4. 5.2.1.4. Editing and deleting sections
          5. 5.2.1.5. Overview of the Category Manager
          6. 5.2.1.6. Adding new categories
          7. 5.2.1.7. Copying categories
          8. 5.2.1.8. Moving categories
          9. 5.2.1.9. Editing and deleting categories
        2. 5.2.2. Understanding the role of uncategorized content
        3. 5.2.3. Creating typical content structures
          1. 5.2.3.1. Flat site structures
          2. 5.2.3.2. Multilevel content structures
          3. 5.2.3.3. Blog sites
      3. 5.3. Working with Articles
        1. 5.3.1. Using the Article Manager
        2. 5.3.2. Creating articles
        3. 5.3.3. Setting the parameters
          1. 5.3.3.1. Global parameters
          2. 5.3.3.2. Article parameters
          3. 5.3.3.3. Advanced parameters
          4. 5.3.3.4. Article metadata
        4. 5.3.4. Controlling intro text
        5. 5.3.5. Creating multipage articles
      4. 5.4. Managing Existing Articles
        1. 5.4.1. Publishing and unpublishing articles
        2. 5.4.2. Modifying articles
        3. 5.4.3. Copying articles
        4. 5.4.4. Moving articles
        5. 5.4.5. Deleting articles
          1. 5.4.5.1. Overview of the Articles Trash Manager
          2. 5.4.5.2. Restoring articles from the Trash
          3. 5.4.5.3. Permanently deleting articles
        6. 5.4.6. Archiving articles
          1. 5.4.6.1. Unarchiving articles
          2. 5.4.6.2. The Archive module
        7. 5.4.7. Global Check-in
      5. 5.5. Summary
    2. 6. Working with Editors and Media
      1. 6.1. Using WYSIWYG Editors
        1. 6.1.1. Using the TinyMCE editor
          1. 6.1.1.1. Top row controls
          2. 6.1.1.2. Middle row controls
          3. 6.1.1.3. Bottom row controls
          4. 6.1.1.4. Optional features
          5. 6.1.1.5. Simple Mode
        2. 6.1.2. Using the XStandard editor
          1. 6.1.2.1. Installing XStandard
          2. 6.1.2.2. The XStandard controls
          3. 6.1.2.3. Top row controls
          4. 6.1.2.4. Bottom row controls
          5. 6.1.2.5. Configuration options
        3. 6.1.3. Working with the No Editor option
      2. 6.2. Overview of the Media Manager
      3. 6.3. Working With Media Files
        1. 6.3.1. Viewing file information
        2. 6.3.2. Uploading files
        3. 6.3.3. Organizing files
        4. 6.3.4. Adding files to articles
      4. 6.4. Summary
    3. 7. Employing Advanced Content Management Techniques
      1. 7.1. Using Content Display Modules
        1. 7.1.1. Using the Custom HTML module
        2. 7.1.2. Using the Newsflash module
        3. 7.1.3. Placing modules inside articles
      2. 7.2. Bringing External Content into Your Site
        1. 7.2.1. Using wrappers
        2. 7.2.2. Displaying syndicated content
      3. 7.3. Managing Content from the Front End
        1. 7.3.1. Understanding advantages and limitations
        2. 7.3.2. Enabling user-created content
        3. 7.3.3. Workflow options
          1. 7.3.3.1. Authors
          2. 7.3.3.2. Editors
          3. 7.3.3.3. Publishers
      4. 7.4. Syndicating Your Articles
      5. 7.5. Summary
    4. 8. Working with the Menu System
      1. 8.1. Introducing the Menu Manager
      2. 8.2. Creating and Managing Menus
        1. 8.2.1. Understanding the relationship between menus and modules
        2. 8.2.2. Creating a new menu
        3. 8.2.3. Copying a menu
        4. 8.2.4. Editing and deleting menus
      3. 8.3. Introducing the Menu Item Manager
      4. 8.4. Creating and Managing Menu Items
        1. 8.4.1. Creating new menu items
        2. 8.4.2. Menu item types
          1. 8.4.2.1. Internal Link - Articles
            1. 8.4.2.1.1. Archived Article List
            2. 8.4.2.1.2. Article Layout
            3. 8.4.2.1.3. Article Submission Layout
            4. 8.4.2.1.4. Category Blog Layout
            5. 8.4.2.1.5. Category List Layout
            6. 8.4.2.1.6. Front Page Blog Layout
            7. 8.4.2.1.7. Section Blog Layout
            8. 8.4.2.1.8. Section Layout
          2. 8.4.2.2. Internal Link - Contacts
            1. 8.4.2.2.1. Contact Category Layout
            2. 8.4.2.2.2. Standard Contact Layout
          3. 8.4.2.3. Internal Link - News Feeds
            1. 8.4.2.3.1. Category List Layout
            2. 8.4.2.3.2. Category Layout
            3. 8.4.2.3.3. Single Feed Layout
          4. 8.4.2.4. Internal Link - Polls
          5. 8.4.2.5. Internal Link - Search
          6. 8.4.2.6. Internal Link - User
            1. 8.4.2.6.1. Default Login Layout
            2. 8.4.2.6.2. Default Registration Layout
            3. 8.4.2.6.3. Default Remind
            4. 8.4.2.6.4. Default Reset Layout
            5. 8.4.2.6.5. Default User Layout
            6. 8.4.2.6.6. User Form Layout
          7. 8.4.2.7. Internal Link - Web Links
            1. 8.4.2.7.1. Web Link Category List Layout
            2. 8.4.2.7.2. Category List Layout
            3. 8.4.2.7.3. Web Link Submission Layout
          8. 8.4.2.8. Internal Link - Wrapper
          9. 8.4.2.9. External links
          10. 8.4.2.10. Separator
          11. 8.4.2.11. Menu Alias
        3. 8.4.3. Creating multitiered menus
        4. 8.4.4. Editing and deleting menu items
          1. 8.4.4.1. The Menu Trash Manager
          2. 8.4.4.2. Restoring items from the trash
          3. 8.4.4.3. Permanently deleting items
      5. 8.5. Controlling Access to Menus and Menu Items
      6. 8.6. Summary
    5. 9. Managing the Front Page of Your Site
      1. 9.1. Controlling Front Page Layout
        1. 9.1.1. Understanding the default content layout options
          1. 9.1.1.1. Single-column layout
          2. 9.1.1.2. Multicolumn layout
        2. 9.1.2. Using a distinct template for the front page
      2. 9.2. Publishing Articles on the Front Page
        1. 9.2.1. Working with the Front Page Manager
        2. 9.2.2. Working without the Front Page Manager
      3. 9.3. Publishing Component Output on the Front Page
      4. 9.4. Publishing Modules on the Front Page
      5. 9.5. Summary
    6. 10. Working with the User Manager
      1. 10.1. Introducing the User Manager
      2. 10.2. Understanding the Joomla! User Hierarchy
        1. 10.2.1. Classifying public front-end users
          1. 10.2.1.1. Registered
          2. 10.2.1.2. Author
          3. 10.2.1.3. Editor
          4. 10.2.1.4. Publisher
        2. 10.2.2. Classifying public back-end users
          1. 10.2.2.1. Manager
          2. 10.2.2.2. Administrator
          3. 10.2.2.3. Super Administrator
      3. 10.3. Adding Users to the System
        1. 10.3.1. Creating a new user
        2. 10.3.2. Working with the New User dialogue
          1. 10.3.2.1. User Details
          2. 10.3.2.2. Parameters
          3. 10.3.2.3. Contact Information
      4. 10.4. Managing Users
        1. 10.4.1. Editing user accounts
        2. 10.4.2. Deleting users
        3. 10.4.3. Forcing a user to log out
        4. 10.4.4. Blocking users
      5. 10.5. Creating User Registration
        1. 10.5.1. Using the Login module
        2. 10.5.2. Configuring user registration
        3. 10.5.3. The Username Reminder function
        4. 10.5.4. The Password Reset function
        5. 10.5.5. Creating a Login page
        6. 10.5.6. Redirecting users after login or logout
      6. 10.6. Controlling Access to Content and Functionalities
        1. 10.6.1. Default access levels
        2. 10.6.2. Restricting access to content items
        3. 10.6.3. Restricting access to menus and menu items
        4. 10.6.4. Restricting access to components, modules, and plugins
      7. 10.7. Summary
    7. 11. Working with the Language Manager
      1. 11.1. The Function of the Language Manager
      2. 11.2. Installing New Language Packs
      3. 11.3. Modifying a Language Pack
        1. 11.3.1. Editing the default language files
        2. 11.3.2. Creating a new language pack
      4. 11.4. Specifying the Language Used
        1. 11.4.1. Changing the default language
        2. 11.4.2. Setting the language for users
        3. 11.4.3. Setting the language for specific articles
      5. 11.5. Summary
  8. III. Working with Components, Modules, and Plugins
    1. 12. Using the Banner Manager
      1. 12.1. Introducing the Banner Manager
      2. 12.2. Understanding Banner Parameters
      3. 12.3. Managing Clients
        1. 12.3.1. Exploring the Banner Client Manager
        2. 12.3.2. Creating clients
        3. 12.3.3. Editing and deleting clients
      4. 12.4. Managing Categories
        1. 12.4.1. Exploring the Banner Category Manager
        2. 12.4.2. Creating categories
        3. 12.4.3. Editing and deleting categories
      5. 12.5. Managing Banners
        1. 12.5.1. Creating banners
        2. 12.5.2. Copying banners
        3. 12.5.3. Editing and deleting banners
      6. 12.6. Using the Banners Module
        1. 12.6.1. Module parameters
        2. 12.6.2. Creating additional Banner modules
      7. 12.7. Summary
    2. 13. Working with the Contact Manager
      1. 13.1. Introducing the Contact Manager
      2. 13.2. Setting Contact Parameters
        1. 13.2.1. Contact parameters
        2. 13.2.2. Advanced parameters
        3. 13.2.3. E-mail parameters
      3. 13.3. Managing Contacts and Categories
        1. 13.3.1. Creating a new category
        2. 13.3.2. Editing and deleting categories
        3. 13.3.3. Adding a new contact
        4. 13.3.4. Editing and deleting contacts
      4. 13.4. Creating Contact Forms
      5. 13.5. Summary
    3. 14. Using the News Feeds Component
      1. 14.1. Introducing the News Feeds Manager
      2. 14.2. Understanding News Feed Parameters
      3. 14.3. Managing Feeds and Categories
        1. 14.3.1. Creating a new category
        2. 14.3.2. Editing and deleting categories
        3. 14.3.3. Adding a new feed
        4. 14.3.4. Editing and deleting feeds
      4. 14.4. Summary
    4. 15. Using the Polls Component
      1. 15.1. Introducing the Poll Manager
      2. 15.2. Creating and Managing Polls
        1. 15.2.1. Creating polls
        2. 15.2.2. Editing and deleting polls
      3. 15.3. Displaying Polls
        1. 15.3.1. Using the Polls module
          1. 15.3.1.1. Module parameters
          2. 15.3.1.2. Displaying multiple polls
        2. 15.3.2. Displaying poll results
      4. 15.4. Summary
    5. 16. Using the Web Links Component
      1. 16.1. Introducing the Web Link Manager
      2. 16.2. Setting Web Links Parameters
      3. 16.3. Managing Links and Categories
        1. 16.3.1. Creating a new category
        2. 16.3.2. Editing and deleting categories
        3. 16.3.3. Adding a new link
        4. 16.3.4. Editing and deleting Web Links
      4. 16.4. Summary
    6. 17. Working with the Site Modules
      1. 17.1. Reviewing the Module Manager
        1. 17.1.1. Creating new modules
        2. 17.1.2. Copying modules
        3. 17.1.3. Editing and deleting modules
      2. 17.2. Introducing the Site Modules
        1. 17.2.1. Archived Content module
        2. 17.2.2. Banner module
        3. 17.2.3. Breadcrumbs module
        4. 17.2.4. Custom HTML module
        5. 17.2.5. Feed Display module
        6. 17.2.6. Footer module
        7. 17.2.7. Latest News module
        8. 17.2.8. Login module
        9. 17.2.9. The Menu modules
        10. 17.2.10. Most Read Content module
        11. 17.2.11. Newsflash
        12. 17.2.12. Poll
        13. 17.2.13. Random Image
        14. 17.2.14. Related Articles
        15. 17.2.15. Search
        16. 17.2.16. Sections
        17. 17.2.17. Statistics
        18. 17.2.18. Syndicate
        19. 17.2.19. Who's Online
        20. 17.2.20. Wrapper
      3. 17.3. Summary
    7. 18. Working With the Administrator Modules
      1. 18.1. Reviewing the Module Manager
        1. 18.1.1. Creating new modules
        2. 18.1.2. Copying modules
        3. 18.1.3. Editing and deleting modules
      2. 18.2. Reviewing the Administrator Modules
        1. 18.2.1. Admin Menu module
        2. 18.2.2. Admin submenu
        3. 18.2.3. Custom HTML module
        4. 18.2.4. Feed Display module
        5. 18.2.5. Footer module
        6. 18.2.6. Item Stats module
        7. 18.2.7. Latest News module
        8. 18.2.8. Logged In Users module
        9. 18.2.9. Login Form module
        10. 18.2.10. Online Users module
        11. 18.2.11. Popular Articles module
        12. 18.2.12. Quick Icons module
        13. 18.2.13. Title module
        14. 18.2.14. Toolbar module
        15. 18.2.15. Unread Messages module
        16. 18.2.16. User Status module
      3. 18.3. Summary
    8. 19. Working with Plugins
      1. 19.1. Introducing the Plugin Manager
        1. 19.1.1. Editing and deleting plugins
      2. 19.2. Reviewing the Default Plugins
        1. 19.2.1. Authentication plugins
          1. 19.2.1.1. Joomla
          2. 19.2.1.2. LDAP
          3. 19.2.1.3. OpenID
          4. 19.2.1.4. GMail
        2. 19.2.2. Content plugins
          1. 19.2.2.1. Page Navigation
          2. 19.2.2.2. Rating
          3. 19.2.2.3. Email Cloaking
          4. 19.2.2.4. Code Highlighter (GeSHi)
          5. 19.2.2.5. Load Module
          6. 19.2.2.6. Pagebreak
        3. 19.2.3. Editor plugins
          1. 19.2.3.1. No Editor
          2. 19.2.3.2. TinyMCE 2.0
          3. 19.2.3.3. XStandard Lite 2.0
        4. 19.2.4. Editors XTD plugins
          1. 19.2.4.1. Image
          2. 19.2.4.2. Pagebreak
          3. 19.2.4.3. Readmore
        5. 19.2.5. Search plugins
          1. 19.2.5.1. Content
          2. 19.2.5.2. Weblinks
          3. 19.2.5.3. Contacts
          4. 19.2.5.4. Categories
          5. 19.2.5.5. Sections
          6. 19.2.5.6. Newsfeeds
        6. 19.2.6. System plugins
          1. 19.2.6.1. SEF
          2. 19.2.6.2. Debug
          3. 19.2.6.3. Legacy
          4. 19.2.6.4. Cache
          5. 19.2.6.5. Log
          6. 19.2.6.6. Remember Me
          7. 19.2.6.7. Backlink
        7. 19.2.7. User - Joomla! plugin
        8. 19.2.8. XML-RPC plugins
          1. 19.2.8.1. Joomla
          2. 19.2.8.2. Blogger API
      3. 19.3. Summary
  9. IV. Customizing and Extending the System
    1. 20. Customizing Joomla! Templates
      1. 20.1. Discovering How the Templates Work
      2. 20.2. Exploring the Default Templates
        1. 20.2.1. Beez
        2. 20.2.2. JA_Purity
        3. 20.2.3. RHUK_Milkyway
        4. 20.2.4. Khepri
      3. 20.3. Knowing the Parts of a Template
        1. 20.3.1. Directory structure
        2. 20.3.2. The key files
          1. 20.3.2.1. component.php
          2. 20.3.2.2. index.php
          3. 20.3.2.3. template.css
          4. 20.3.2.4. templateDetails.xml
          5. 20.3.2.5. template_thumbnail.png
      4. 20.4. Introducing the Template Manager
        1. 20.4.1. Editing templates
          1. 20.4.1.1. Editing the template's HTML
          2. 20.4.1.2. Editing the template's CSS
        2. 20.4.2. Setting the default template
        3. 20.4.3. Assigning templates
      5. 20.5. Customizing Templates
        1. 20.5.1. Working with template parameters
        2. 20.5.2. Changing the logo
          1. 20.5.2.1. Beez
          2. 20.5.2.2. JA_Purity
          3. 20.5.2.3. RHUK_Milkway
          4. 20.5.2.4. Khepri
        3. 20.5.3. Modifying the CSS
      6. 20.6. Controlling the Appearance of Menus
        1. 20.6.1. Using the default options
        2. 20.6.2. Creating drop-down menus
      7. 20.7. Working with Module Chrome
      8. 20.8. Overriding Pagination Formatting
      9. 20.9. Creating a New Template
        1. 20.9.1. Creating the structure
        2. 20.9.2. Creating the index.php file
          1. 20.9.2.1. Inside the <head>
          2. 20.9.2.2. Inside the <body>
        3. 20.9.3. Creating the template.css file
        4. 20.9.4. Creating the templateDetails.xml file
        5. 20.9.5. Creating the component.php file
        6. 20.9.6. Packaging the template files
      10. 20.10. Working With the Admin Template
      11. 20.11. Summary
    2. 21. Customizing Joomla! Functionality
      1. 21.1. Understanding Basic Principles
      2. 21.2. Using the Right Tools
        1. 21.2.1. Tools you need to customize a Joomla! site
        2. 21.2.2. Useful extensions that aid customization
      3. 21.3. Discovering the Joomla! API
      4. 21.4. Working with Components
        1. 21.4.1. Knowing the elements of a component
          1. 21.4.1.1. Models
          2. 21.4.1.2. Views
          3. 21.4.1.3. Controllers
        2. 21.4.2. The anatomy of a typical component
        3. 21.4.3. Overriding component output
        4. 21.4.4. Creating a new component
          1. 21.4.4.1. Minimum requirements
          2. 21.4.4.2. Registering a component
          3. 21.4.4.3. Packaging a component
      5. 21.5. Working with Modules
        1. 21.5.1. Understanding the elements of a typical module
          1. 21.5.1.1. The mod_modulename.php file
          2. 21.5.1.2. The helper.php file
          3. 21.5.1.3. The XML file
          4. 21.5.1.4. The Module template
        2. 21.5.2. Overriding module output
        3. 21.5.3. Creating a new module
          1. 21.5.3.1. Minimum requirements
          2. 21.5.3.2. Registering a module
          3. 21.5.3.3. Packaging a module
      6. 21.6. Working with Plugins
        1. 21.6.1. Plugin architecture
        2. 21.6.2. Creating a new plugin
          1. 21.6.2.1. Registering a plugin
          2. 21.6.2.2. Packaging a plugin
      7. 21.7. Summary
    3. 22. Extending Your Site
      1. 22.1. Finding Extensions
      2. 22.2. Working with the Extension Manager
        1. 22.2.1. Introducing the Extension Installer
        2. 22.2.2. Going over the Extension Packages dialogue
        3. 22.2.3. Installing extensions
          1. 22.2.3.1. Installing from a Package File
          2. 22.2.3.2. Installing from a directory
          3. 22.2.3.3. Installing from an URL
        4. 22.2.4. Uninstalling extensions
      3. 22.3. Finding the Right Extension for the Job
        1. 22.3.1. Improving content management
          1. 22.3.1.1. AllVideos Reloaded
          2. 22.3.1.2. Attachments for Content articles
          3. 22.3.1.3. Content Templater
          4. 22.3.1.4. Custom Properties
          5. 22.3.1.5. JCE
          6. 22.3.1.6. JomComment
          7. 22.3.1.7. JoomlaFCK Editor
          8. 22.3.1.8. K2
          9. 22.3.1.9. Labels
          10. 22.3.1.10. MetaMod
          11. 22.3.1.11. News Show Pro
        2. 22.3.2. Improving administration
          1. 22.3.2.1. eXtplorer
          2. 22.3.2.2. Joomla! Tools Suite
          3. 22.3.2.3. JoomlaPack
        3. 22.3.3. Enhancing search
          1. 22.3.3.1. JXtended Finder
          2. 22.3.3.2. PixSearch
        4. 22.3.4. Enhancing menus and navigation
          1. 22.3.4.1. Extended Menu
          2. 22.3.4.2. swMenu
        5. 22.3.5. Building complex forms
          1. 22.3.5.1. bfForms
          2. 22.3.5.2. ChronoForms
          3. 22.3.5.3. RSform!Pro
        6. 22.3.6. Adding a gallery
          1. 22.3.6.1. Expose
          2. 22.3.6.2. Frontpage Slideshow
          3. 22.3.6.3. Phoca Photo Gallery
          4. 22.3.6.4. RokSlideshow
          5. 22.3.6.5. RSGallery2
        7. 22.3.7. Adding a directory
          1. 22.3.7.1. Mosets Tree
          2. 22.3.7.2. SOBI2
        8. 22.3.8. Adding a forum
          1. 22.3.8.1. ccBoard
          2. 22.3.8.2. Kunena
        9. 22.3.9. Adding a file exchange
          1. 22.3.9.1. DocMan
          2. 22.3.9.2. Remository
        10. 22.3.10. Managing multilingual content
          1. 22.3.10.1. Joom!Fish
        11. 22.3.11. Enhancing SEO
          1. 22.3.11.1. Artio JoomSEF
          2. 22.3.11.2. Sh404SEF
          3. 22.3.11.3. Xmap
        12. 22.3.12. Extending user management
          1. 22.3.12.1. JACLPlus
          2. 22.3.12.2. Jfusion
          3. 22.3.12.3. JUGA
        13. 22.3.13. Adding Web 2.0 functionality
          1. 22.3.13.1. AddThis Social Bookmarking
          2. 22.3.13.2. Community Builder
          3. 22.3.13.3. JReviews
          4. 22.3.13.4. MyBlog
          5. 22.3.13.5. Plugin Googlemaps
          6. 22.3.13.6. Tweetme
        14. 22.3.14. Improving Ad Management
          1. 22.3.14.1. AdSense Module
          2. 22.3.14.2. Easy AdSense for Joomla
          3. 22.3.14.3. iJoomla Ad Agency
      4. 22.4. Summary
    4. 23. Implementing e-Commerce with VirtueMart
      1. 23.1. Introducing VirtueMart
        1. 23.1.1. Features
          1. 23.1.1.1. For visitors
          2. 23.1.1.2. For site administrators
        2. 23.1.2. Finding an appropriate use for VirtueMart
      2. 23.2. Obtaining and Installing VirtueMart
        1. 23.2.1. Creating a fresh installation
        2. 23.2.2. Integration with an existing site
          1. 23.2.2.1. Installing the Complete Package
          2. 23.2.2.2. Installing by using the Remote Installer
          3. 23.2.2.3. Installing the Manual Installation package
      3. 23.3. Reviewing the VirtueMart Control Panel
      4. 23.4. Configuring VirtueMart
        1. 23.4.1. Global Store configuration
          1. 23.4.1.1. Global tab
          2. 23.4.1.2. Security tab
          3. 23.4.1.3. Site tab
          4. 23.4.1.4. Shipping tab
          5. 23.4.1.5. Checkout tab
          6. 23.4.1.6. Downloads tab
          7. 23.4.1.7. Feed Configuration tab
        2. 23.4.2. Setting the Store Information
        3. 23.4.3. Working with products and categories
          1. 23.4.3.1. Overview of the Category Manager
          2. 23.4.3.2. Creating a new category
          3. 23.4.3.3. Editing and deleting categories
          4. 23.4.3.4. Overview of the Product List
          5. 23.4.3.5. Creating a new product
          6. 23.4.3.6. Editing and deleting products
      5. 23.5. Administering the Store
        1. 23.5.1. Tracking orders
        2. 23.5.2. Generating reports
      6. 23.6. Summary
    5. 24. Creating a Community Site with JomSocial
      1. 24.1. Introducing JomSocial
        1. 24.1.1. Figuring out features for visitors
        2. 24.1.2. Features for site administrators
      2. 24.2. Obtaining and Installing JomSocial
        1. 24.2.1. Installing the JomSocial component
        2. 24.2.2. Installing the JomSocial modules
        3. 24.2.3. Installing the JomSocial apps
      3. 24.3. Overview of the JomSocial Control Panel
      4. 24.4. Configuring JomSocial
        1. 24.4.1. The Site tab
        2. 24.4.2. The Media tab
        3. 24.4.3. The Layout tab
        4. 24.4.4. The Network tab
        5. 24.4.5. The Facebook Connect tab
      5. 24.5. Administering the Community
        1. 24.5.1. Working with users
          1. 24.5.1.1. Creating custom profiles
          2. 24.5.1.2. Setting up user points
        2. 24.5.2. Working with groups
      6. 24.6. Summary
  10. V. Site Maintenance and Management
    1. 25. Keeping Your Site Secure and Up to Date
      1. 25.1. Security Best Practices
        1. 25.1.1. Securing the Joomla! core
          1. 25.1.1.1. Protecting directories and files
          2. 25.1.1.2. Protecting from unauthorized access
          3. 25.1.1.3. Removing unnecessary files
          4. 25.1.1.4. Maintaining a sensible server setup
        2. 25.1.2. Securing third-party extensions
      2. 25.2. Keeping Up With Security Notices
      3. 25.3. Managing Site Maintenance
        1. 25.3.1. Taking a site offline
        2. 25.3.2. Backing up your site
        3. 25.3.3. Restoring from a backup
        4. 25.3.4. Regaining access to your admin account
      4. 25.4. Upgrading a Joomla! Installation
      5. 25.5. Summary
    2. 26. Managing Performance and Accessibility
      1. 26.1. Understanding Cache Management
        1. 26.1.1. Setting the Site cache
        2. 26.1.2. Setting the System - cache
        3. 26.1.3. Setting the module cache
        4. 26.1.4. Cleaning the cache
        5. 26.1.5. Purging the expired cache
      2. 26.2. Improving Content Performance
        1. 26.2.1. Avoid large files
        2. 26.2.2. Save images in the right format
        3. 26.2.3. Don't resize images
        4. 26.2.4. Keep your code clean
        5. 26.2.5. Avoid tables
        6. 26.2.6. Use image rotators conservatively
        7. 26.2.7. Use wrappers (iframes) reluctantly
        8. 26.2.8. Limit use of animation
        9. 26.2.9. Limit use of flash
        10. 26.2.10. Don't stream video until requested
      3. 26.3. Tuning Joomla! Performance
        1. 26.3.1. Use server-side compression
        2. 26.3.2. If you don't use it, disable it
        3. 26.3.3. Minify your CSS and JavaScript
        4. 26.3.4. Be careful with Google Analytics
        5. 26.3.5. Be selective about your template
        6. 26.3.6. Be selective about extensions
        7. 26.3.7. Skip live stat reporting
        8. 26.3.8. Disable SEF URLs
        9. 26.3.9. Optimize your database
      4. 26.4. Enhancing Accessibility
        1. 26.4.1. Joomla! and accessibility
        2. 26.4.2. Improving template accessibility
          1. 26.4.2.1. Support semantic structure
          2. 26.4.2.2. Avoid tables
          3. 26.4.2.3. Don't rely on JavaScript
          4. 26.4.2.4. Use system fonts for your nav menus
          5. 26.4.2.5. Use a suitable color scheme
          6. 26.4.2.6. Order elements on the screen logically
          7. 26.4.2.7. Make sure your text resizes
          8. 26.4.2.8. Use jump links
          9. 26.4.2.9. Make forms accessible
          10. 26.4.2.10. Provide alternatives to applets and plugins
          11. 26.4.2.11. Avoid requiring timed responses
        3. 26.4.3. Creating accessible content
          1. 26.4.3.1. Use headings correctly
          2. 26.4.3.2. Use lists correctly
          3. 26.4.3.3. Use alt image attributes
          4. 26.4.3.4. Summarize graphs and charts
          5. 26.4.3.5. Summarize multimedia
      5. 26.5. Summary
    3. 27. Making a Site Search Engine Friendly
      1. 27.1. Creating Search Engine Friendly URLs
      2. 27.2. Creating Custom Error Pages
      3. 27.3. Working with Metadata and Page Titles
        1. 27.3.1. Setting the metadata
        2. 27.3.2. Setting the page titles
      4. 27.4. Summary
  11. VI. Appendixes
    1. A. The Directory Structure of a Joomla! Installation
    2. B. A Guide to the Location of Key Files
    3. C. Installing XAMPP
    4. D. Installing MAMP
    5. E. Additional Online Help Resources
      1. E.1. The Help Files inside Joomla!
      2. E.2. Online Help and Support Resources
      3. E.3. Using Community Support Options
      4. E.4. Finding Commercial Support