I work almost exclusively with Joomla! these days. After an amusingly confusing conversation with a client, it occurred to me that I should create a list of resources for people who are new to Joomla, or CMSes in general. From my Google searches, I’ve found that somewhere around 80% of Joomla documentation seems out of date, focusing on version 1.5.
This will mostly be an overview of resources, and not an in-depth tutorial.
Understanding How Joomla! Works
There aren’t any brilliant resources on this that I’m aware of, so here is the gist.
All content on a Joomla! site is stored in a mysql database (support for other databases is coming). All main content is referred to as “articles”, while other content is called “modules”. To display this content, Joomla! requires a template. This template sets up the CSS/HTML of the site in general, but articles can still have inline styles applied to them.
Articles are displayed in the “component” section of the website, while modules are displayed in various module positions defined in the template. To better understand this, take a look at the site on the right, and then mouse over to see possible module positions.
If you take a look at the left position, you’ll see multiple menus. This is an example of multiple modules being published to the same module position. In this case, the first module, “About Joomla” is positioned at Left, 0; the second module, “This Site” is positioned at Left, 1, and “Login Form” at Left, 2.
In the “Component” section, you’ll see three different articles. The first one is displayed full-width, while the next three split the space in thirds. In the bottom three we see “Read More” links that link to the full article text. The number of columns to display articles, and subsequently their width, are configured within Joomla!.
This is arguably the most difficult part of Joomla! for beginners to understand. If you can understand how pages are displayed, then you should be able to follow most documentation on the official wiki.
The previous screenshot showed an example home page. Not all sections of the website display the same way, nor should they. For example, the administrator may want to remove the “left” modules on an article with many large images, in order for the article to feel less cramped. To do this, one must navigate through the administration panel and edit the module positions.
Module positions are defined on a menu-item basis, not article. Looking at the screenshot to the right, we see a module published to the following positions within “Main Menu”: Home, Services, Resources, News->Sub-Item, Partners, About Us. This means the module will not display on the Products or News pages.
Not all articles deserve their own menu item, but all articles should be published to a menu item for formatting reasons. This is where things can get confusing. A menu item must be created, but the menu itself does not have to be published to a position. Without being published to a module position (yes, menus are considered a type of module), the menu will not display on the site at all, but will retain normal functionality.
For a better diagram, check out the third page of this PDF: http://downloads.joomlacode.org/frsrelease/3/6/7/36751/understanding_the_structure_of_joomla.1.0.pdf
This document was created for Joomla 1.0, which is extremely out-dated, but the third page remains true. Please ignore all other pages unless you want to confuse yourself.
There are other configuration options for articles, albeit minor ones. Things such as showing the article title, showing the author, allowing a print icon, etc. can all be configured on an article-by-article basis, but major things such as modules and templates are configured on a menu-item basis.
As I write this (08/22/2012), the current version of Joomla! is 2.5.6. As I mentioned earlier, much of the online documentation is centered around J1.5. I wanted to take this opportunity to briefly explain how similar different releases tend to be.
Joomla 1.0 came out in 2005, and became End-of-life (EOL) mid-2009. Version 1.0 was completely different than current versions, and most 1.0 documentation should be disregarded.
Joomla 1.5 came out in early 2008 and was highly successful, but is EOL as of mid-2012. It lacked many features that newer versions have, and articles had a completely different organizational method. A lot of this documentation isn’t relevant or inaccurate, but many things stay similar. Anything about Users & Groups, and Article Sections & Categories can be completely disregarded.
Joomla 1.6 was released in early 2011 and brought with it a new way of handling release cycles. Since release, 1.6 has evolved into 1.7, and then again into 2.5. Nearly all documentation on Joomla! 1.6 and 1.7 should be applicable to 2.5.
Since J1.6 release, new Joomla versions come out every six months. New versions are supported for about three months after a new version comes out, while major versions (usually X.5) retain long-term support for one year after the next major version is released. Below is a fairly accurate depiction of the old and new release cycles, courtesy of OpenSourceSupportDesk.
With all that out of the way, I’ll begin posting links to other relevant documentation!
This is a pretty good video series by BuildAJoomlaWebsite. I skipped to the sixth video because the first few are tailored more towards new-to-CMS users, but all the videos are listed on the right of the page if you wish to start from the beginning, or skip further into the series.
Of course, the official docs are a good place to start as well:
Learning the back-end of Joomla:
(Sometimes it’s best to just play around with it, too!)
Creating new articles:
Access Control List (Advanced):
And finally, for those of you who don’t like reading,
Article Menu Item Types (different ways to display articles):