Out of the box, Joomla! does a great job of managing the content needed to make your Web site sing. But for many people, the true power of Joomla! lies in the application framework that makes it possible for developers all around the world to create powerful add-ons that are called Extensions. An Extension is used to add capabilities to Joomla! that do not exist in the base core code. Here are just some examples of the hundreds of available Extensions:
- Dynamic form builders
- Business or organisational directories
- Document management
- Image and multimedia galleries
- E-commerce and shopping cart engines
- Forums and chat software
- Calendars
- E-mail newsletters
- Data collection and reporting tools
- Banner advertising systems
- Paid subscription services
- and many, many, more
You can find more examples over at our ever growing Joomla! Extensions Directory. Prepare to be amazed at the amount of exciting work produced by our active developer community!
A useful guide to the Extension site can be found at:
http://extensions.joomla.org/content/view/15/63/
Types of Extensions
There are five types of extensions:
- Components
- Modules
- Templates
- Plugins
- Languages
You can read more about the specifics of these using the links in the Article Index - a Table of Contents (yet another useful feature of Joomla!) - at the top right or by clicking on the Next link below.
Components
A Component is the largest and most complex of the Extension types. Components are like mini-applications that render the main body of the page. An analogy that might make the relationship easier to understand would be that Joomla! is a book and all the Components are chapters in the book. The core Article Component (com_content), for example, is the mini-application that handles all core Article rendering just as the core registration Component (com_user) is the mini-application that handles User registration.
Many of Joomla!'s core features are provided by the use of default Components such as:
- Contacts
- Front Page
- News Feeds
- Banners
- Mass Mail
- Polls
A Component will manage data, set displays, provide functions, and in general can perform any operation that does not fall under the general functions of the core code.
Components work hand in hand with Modules and Plugins to provide a rich variety of content display and functionality aside from the standard Article and content display. They make it possible to completely transform Joomla! and greatly expand its capabilities.
Modules
A more lightweight and flexible Extension used for page rendering is a Module. Modules are used for small bits of the page that are generally less complex and able to be seen across different Components. To continue in our book analogy, a Module can be looked at as a footnote or header block, or perhaps an image/caption block that can be rende