I have learned some core concepts about Joomla, particularly as it applies to this website. I will share those concepts in this article and explain how I have applied them to this website.

Joomla Reference

I have found several resources in Joomla that provide detailed information about the product itself and how to do specific tasks. I have provided these links here.

Components and Content

A Joomla website includes all of the following Components in various combinations:

  • Articles, which are where the site content is built.
    • This article is an example.
  • Categories, which are used to group related articles.
    • Each article is assigned to a single category.
    • Categories can be nested. For example the Joomla category that I use in this website has Tools as its parent.
  • Menus, which are used to navigate the website.
    • In this website, there are two primary menus - one for English and the second one for French.
  • Menu Items, which provide the links within a menu that a user selects to view specific content.
    • Menu Items can be linked to a specific article or to a display of articles within a category.
    • Menu Items can be nested. For example, within the Tools menu item, there is an additional menu item for Joomla. Within the Joomla menu item, there are multiple menu items.
  • Modules, which provide specific functionality.
    • Each menu will have a module that supports the menu. In the case of this website, there is a module for each of the languages that are supported here.
    • On the Home page, there is a module that displays the most recent articles.
  • Templates, which control how the contents of the website are displayed.
    • Joomla comes with two templates as standard.
    • For this website, I chose to use a commercial template from Joomla51.
    • For each language, there is separate copy of the template, with adjustments specific to that language.
    • In addition to controlling the display of content, the templates control the display of the website name or logo, the slogan, and the copyright information.

Initial Setup

 I used the following process to setup up Joomla to support this website:

  • Determine where the site will be hosted.
    • In my case, that was an easy decision - GreenGeeks. I have been using their services since late 2012.
  • Install Joomla on the site.
    • Many web hosting providers, including GreenGeeks, often have a utility to install Joomla.
    • If there is no installation utility, there is a link in the Joomla Website that includes instructions on how to install Joomla.
  • Setup the first user.
    • All content, including articles, categories, menus, and modules can display the name of the user who created or maintained them.
    • By default, Joomla installs a user named, "Administrator".
    • In order to provide proper information to be used on the content, a new user should be setup. That process is described here.
    • The new user will have the same privileges as the Administrator.
  • Install a template if required.
    • Joomla comes with two templates. If these are adequate for your purposes, then this task is done.
    • In my case, I chose to install a commercial template from Joomla51. The specific template is Kinvara.
    • I worked with the template and found that there were presentation items that I wanted to change.
      • For example, the default for all titles and menus was that all were rendered in all capital letters. I strongly preferred small capital letters.
      • I accessed the forums for Joomla51 and learned how I could customise these options. I initially used the Custom CSS option, but eventually created a custom.css file, since I had to maintain three copies of the template.
  • Determine if the website is to be in multiple languages.
    • If the website is in multiple languages, then that imposes additional tasks.
    • The additional languages need to be installed from within Joomla.
      • Once a language has been installed, then it must be identified as a Content Language.
        • During this process, there are configuration options.
    • There must be one article that is set to All Languages.
      • That article must be identified as the Home Page. 
      • In the case of this website, that article is associated with a menu item that is not published, which means that the article will never be published.
    • If additional languages are required, then they must be installed.
    • There are actually three copies of the template required:
      • A default template, which is used for the front page - the one page that must be in All Languages.
      • A template for each language.
        • In the case of this website, there is one required for English (Canada) and a second for French (Canada).
    • There are also three top-level menus required.
      • One is the default menu. This must be for All Languages, but published is set to Unpublished.
      • Separate menus are required for each language.
        • In this site, they have been named Main Menu-EN and Main Menu-FR
          • The language for each of these menus has been set to the appropriate language.