People new to Mambo or Joomla may be confused by all the different types of extension.  I am writing this article to try to explain the differences in extensions from what I have learned thus far.  This will apply to Joomla 1.5  ( aka Joomla 1.1 )

People new to Mambo or Joomla may be confused by all the different types of extension.  I am writing this article to try to explain the differences in extensions from what I have learned thus far.

Components are a type of subsystem or plugin in a sense.  They usually occupy an area in the main body, and they are usually tied to a database table.  There can be interfaces for the component on the backend (admin), frontend, or both.  Components usually will have menu options such as New, Edit, Save, Close.

Modules are found mostly on the frontend.  They are the user interface elements of the site that are usually not in the main body, but rather they are located around the edges.  This is not to say that they could not occupy the main body if a template was designed in such a way.  Modules usually display some information, links, or a table.  One example would be the news flash, or the most popular news items.

Mambots are a function that is registered to be triggered with certain events like onPrepareContent and onSearch.  When the event is called, the mambot is triggered, it intercepts the content and manipulates it in some way before it is displayed. In the next release of Joomla 1.5  mambots will be called plugins.  There will also be class based plugins that will implement the Observer pattern.
Templates are skins that deterine how the web page will look.  Templates are composed of a index.php file, some images, and one or more css file.  Most modern templates in Joomla have avoided the use of tables by using CSS combined with div tags.  The way a module is displayed is largely a result of the CSS and what parameters are passed on the call to load the module.

Components, Modules, Mambots, and Templates can all be installed using a single zip file of all their respective files.  A specially formated xml installer file included in the zip file is used by the Joomla installer to perform various functions.  I will cover the details of the xml file in another article where I will show you how to create your own extensions for Joomla 1.5 ( aka 1.1).
Note: after a recent March, 16 2006 IRC meeting of the joomla core developers, I learned more about the installation process.  Joomla 1.1 will be renamed Joomla 1.5 due to the major number of changes in the code.  There are plans to add the ability to install extensions in the same way  that firefox extensions are installed.  That is, you visit a website with the extension, click on it, and it is installed.

I hope this has helped you to get a basic understanding of some of the extensions available in Joomla.  Joomla 1.1 is changing the interface used to install these extensions.  As of this writing, there is only one link to Manage extensions under the installers in the 1.1 svn release 1901.  Previous versions of Joomla provided different links to install Modules, Components, Templates, and Mambots.