RE: Extensions


A software extension, is a file containing programming that serves to extend the capabilities of or data available to a more basic program.  It is a kind of list of commands which are directly included in the program.  This term often (mistakenly) coincides with the plug-in.  When installing software, you may be instructed to take one or more steps related to installing extensions (or these steps may automatically be done for you).

Add-on is often considered the general term comprising snap-ins, plug-ins, extensions, and themes.     -- Wikipedia

odesk-joomlaCurrently, there are over 8,061 extensions available to be incorporated into the Joomla! WCMS.  At this point in the explanation of the process, we are going to start getting into the technical stuff.  Some of you won't even want to go here. Just contact RE: and save yourself the brain cells.  :-)  You have been forewarned.

Joomla! already is a rich featured content management system, but if you're building a website with Joomla! and you need extra features which aren't available in Joomla! by default, you can easily extend it with these extensions.  There are five types of extensions for Joomla!: Components, Modules, Plug-ins, Templates, and Languages.  Each of these extensions handle specific functionality.  (Some built-in features of Joomla! are implemented using extensions.)  In the image below, if Joomla! is the internal base sphere, extensions are the puzzle pieces that lay over, around and enhance the Joomla! WCMS.Joomla! Extensions Photo

Some of our favorite extensions can be found listed in our Content Management Resources Weblinks Page.


Components are the largest and most complex extensions.  They can be seen as mini-applications.  Most components have two parts: a site part ( front end ) and an administrator part ( back end ).  Every time a Joomla! page loads, one component is called to render the main page body.  For example, Content, is the component which handles the display of the content users can view at the front end of your site and, as an administrator, you can edit the content from the back end.  Components are the major portion of your page because a component is driven by a menu item and every menu item runs a component.  Examples: Content, Banners, Contact, News Feeds and Web Links.


Modules are more lightweight and flexible extensions used for page rendering.  These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module.  The footer is a module.  Modules are assigned per menu item.  So, you can decide to show or hide the logon module depending on which menu item the user is viewing.  Sometimes modules are linked to components such as the “latest news” module which links to the Content and displays links to the newest content items.  However, modules do not need to be linked to components, as a matter of fact they don't even need to be linked to anything and can be just static HTML or text.  Examples: Login, Banners, Menus, Who's Online.


Plug-ins are more advanced extensions and are in essence event handlers.  In the execution of any part of Joomla!, be it the core, a module or a component, an event can be triggered.  When an event is triggered, plug-ins that are registered with the application to handle that event execute.  For example, a plug-in could be used to intercept user-submitted articles and filter out bad words.  Examples: content.searchbot, tinymce.


A template is basically the design of your Joomla! powered website.  With a template you can change the look and feel of your website.  Templates have certain fields in which the component (just one) and modules (as many as you like) will be shown.  Templates can be custom built, pre-designed and / or customized and they provide maximum flexibility in how you style your site.


Probably the most basic extensions are languages.  Languages can be packaged in two ways, either as a core package or as an extension package.  In essence, these files consist of key/value pairs, these pairs provide the translation of static text strings which are assigned within the Joomla! source code.  These language packs will affect both the front end ( user ) and back end ( administrator ) side.  Note: these language packs also include an XML meta file which describes the language and font information to use for PDF content generation.

      Step 4a -- Modules

The implementation of extensions can be what makes a website unique.  RE: remains ready to shepherd you with their experience with any extension requirements.  You as our client, can describe your dreams to us and RE: will incorporate any of these powerful software extensions to make your website feel and act how you want it to.  Please contact RE: with your website development dreams.