In the beginning content meant text, and later started to include multimedia content, and over time Joomla has become one of the most complete products on the internet for the management of any type of content.
But, how is it done?
Let's take an example of an internet portal, which will be visible in a web browser. Let’s start from the end…
Usually we know how we will display information in the web browser, before deciding details like "if we need logistics management", "the number of languages" or "the number of access attempts before locking the user", and almost always before knowing whether we will create twenty categories, or two hundred of them to organize our content.
The information is displayed in Joomla through a template. And a template is... imagine a sheet of paper held in front of you... that is a template.
In the picture above the template is all we can see through our paper.
What, you don't see anything?
Of course not! To see something, it is necessary for the template programmer (layout designer) to make the "holes" necessary for the information to be shown in places as clients desire. A place for the "title", another for “important” information and another hole for the "access" of registered users, perhaps another to show "information" in a more generic way. We need a bunch of holes in the paper. Now we can see through the holes of our paper:
We can create our overall appearance with a decorative page to our liking, or ask a template developer to decorate it for us. In our case, and in order to distinguish it from the background so you can see through it, we'll leave it blank. Visitors, however, will probably find it more comfortable to read on a white background, as they are accustomed, as opposed to another color or design.
Now we will start showing information… in Joomla this is normally done with what is called a “Module”.
We will use the login module of “registered users” to check to see if it does what we want or even better, asking our Joomla experts to check if its behavior is the way we desire.
Once we have checked that this does what we want we will include it in our template in one of our spots:
We have our first module visible in the template!
We will continue…
Let’s go to “article” management which we will discuss further on, and write four or five articles indicating that all of these should be “unpublished in the main page” and place a couple of them in the “featured” category. (We still don’t know what the categories are but don’t worry we will discuss it later).
Now we will publish another module, one where we can only see the “featured” contents. In the extension mangaer we have selected to show the title and the first one hundred characters and the first picture of the article. When the title or picture is clicked on it should pass the article to the center of the template completely.
Once the module is published it will show in the area of our template we prepared for it. But we have published five articles and only two of them are being shown in one way or another in our portal.
Where will these contents be published if they are not inside a module but are being managed from a “Component”?
The component for “managing articles” is in the “back-end” of our portal which we call the “Administrator” portal.
And what is the difference between a “component” and a “module”?
The main objective of a module is to show "something" (usually content, but may be the time or some other information) through the template, while a "component" is usually managing that content or information (creating the articles , inserting media into the portal, etc ...).
In the case of modules, the configuration is done from the back-end, but it is usually much lighter than a component. A component will generate the necessary information for multiple modules that show in various portal sites, in different ways and forms.
Published content from components may vary over time depending on the business logic that these support. For example, it can be programmed to show different content through the hole in the template at different times of the day.
And at the same time this change may cause a new module to appear with new content that wasn't there before.
As you can see, the content displayed by the last module is different from the previous ones. An example might be a different language article being displayed to match that my browser language.
A "plugin" is what is responsible for changing the behavior of an existing component or module.
We have seen that there are various elements to a Joomla website:
If this cake was Joomla, the "core" would be the pineapple and strawberry (security, access to databases, etc ...), something to which a user doesn’t have direct access. We do have access to the kiwi outside which is the extensions that display information through the browser (modules, templates, languages, components). And in between are all the extensions that expand the core functionality to provide the information ready to be shown to the outer layers of our "Joomla" (components, plugins, etc ...)
Great, now we have finished with the explanation of the “visual” structure of the CMS. I was going to write about how Joomla structures information and how it facilitates its exploitation, but that is too much for one article. So if what you read has awoken some interest, in the next issue we will take a look at “categories”, “nested categories”, “menus”, “actions associated to the menu elements”, “users”, “permissions”, etc.