Minggu, 21 Maret 2010

Joomla Components, Modules and Plugins

Joomla is a fantastic piece of software and once you know how to use it, it's very user friendly. Certainly Joomla 1.5 has taken a huge step forward in usability. But for someone new, certainly for someone who never used a CMS before, it can be quit overwhelming in the beginning. We all had the same feeling the first time we installed Joomla: where do I start? Well a good start of course is to learn the basics. So if you are already familiar with Joomla, you can stop reading now (really!). In this article I'll explain the difference between the 3 types of extensions for Joomla: components, modules and plugins.

A component is in fact a seperate application. You can think of a component as something that has it's own functionality, it's own database and it's own presentation. So if you install a component, you add an application to your website. Examples of components are a forum, a newsletter, a community system, a photo gallery, etc. You could think of all of these as being a seperate application. Everyone of these would make perfectly sence as a stand-alone system. A component will be shown in the main part of your website and only one component will be shown. A menu is then in fact nothing more then a switch between different components. You can compare it a bit with your windows taskbar, where you see a tab for each open application.

Modules are extensions which present certain pieces of information on your site. It's a way of presenting information that is already present. This can add a new function to an application which was already part of your website. Think about latest article modules, login module, a menu, ... . Typically you'll have a number of modules on each web page. The difference between a component and a module is not always very clear for everybody. But if you think about it, it's really not that difficult. A module doesn't make sense as a standalone application, it will just present information or add a function to an existing application. Take a newsletter for instance. A newsletter is a component. You can have a website which is used as a newsletter only. That makes perfectly sense. Although a newsletter component probably will have a subscription page integrated, you might want to add a subscription module on a sidebar on every page of your website. You can put this subscribe module anywhere on your site. You'll probably agree with me that a site with just a subscription module and no actual newsletter component would be rather ridiculous.

They used to be called mambots in Joomla 1.0.x, but since Joomla 1.5.x they're called plugins. A plugin is a function which is performed on a part of Joomla before this part is shown. This part can be on content, on the editor, on the complete system, etc. This might seem a bit abstract, but you'll understand it with an example. Let's take one of the plugins of Ulti Joomla as an example: Ulti Reflection. This is a plugin which can make a reflection of the images you use in your content articles. To use this you just have to put something like
inside your content. Before the content is shown to the user, the Ulti Reflection plugin will scan the content to find the {reflection} tag. If it finds the tag, it will replace the tag with the image and it's reflection. Be carefull not to put to many plugins one your website, because some of them can really slow down your site.

If the difference between the three types of extensions is still not completely clear, then I advice you to go to admin pages of your joomla installation and check the components menu, the module manager and the plugin manager. Joomla comes with a number of core components, modules and plugins. By checking what they're doing, the difference between the three types of building blocks should become clear. You can also check out the official Joomla extensions page. Browse through the extension categories and you'll be amazed about the extension possiblities you have for your site.

from: http://www.ultijoomla.com/blog/Joomla-Components-Modules-and-Plugins.html