Organization and Definitions
Joomla! has two interfaces, one for the public and one for administration.
Every call for a page runs code that selects the information asked for from the database and presents it through a template.
Different parts of the code build queries for various modules that have been activated, and for the content area itself.
Joomla defines various extensions including:
- components (generally for the content area)
- modules (for areas on the sides, top and bottom)
- plugins (to run special code at various places in the process)
- templates (to present the data)
Components manage aspects of your site. A major component that comes with Joomla! is called "Content" and is referred to in the code as "com_content". Others that come with Joomla! include "Banners", "Contacts", "News Feeds", "Redirects" and "Search".
Modules generally do something special for parts of your site. Joomla! comes with about 20 modules that include "login", "banner", "latest news", "search" and "menu". Joomla! defines menus as modules. Modules can be set to show in certain positions on the site, or to show only on certain pages.
Plugins run code for special functions. For example, the editor in the admin area is a plugin whose function is allow you to edit pages over the web.
Templates set the style of the text and the colour scheme and define positions for things to be presented. These positions have names like
"banner", "top", "left", "right" and "footer". The template designer can name them as they please. Modern templates have some kind of grid that makes placement of modules extremely flexibile.
Joomla! has been translated into dozens of languages. Joomla! has all the tools to make a multi-lingual site. Unfortunately, it does not do the translation for you. :)
Many More Extensions
Joomla! developers are writing their own extensions and thousands can be found at http://extensions.joomla.org.
Many are free and some must be purchased.