Glossary

The mechanism that offers users a stored view of (part of) a web page so that does not have to be pulled from the database. Joomla core offers three levels of caching:

Page caching
View caching
Module caching.

By default, Joomla does not cache any content. When caching is switched on, the stored views for this are stored in the filesystem for Joomla ../cache/page/ folder.

In Joomla!, a Menu is a set of menu items used for website navigation. Each menu item defines an URL to a page on your site, and settings that control the contents(articles, category(ies) lists, taggged items, etc.) and style(module(s), layout) of that page. Additionally, each menu has a Menu Type, these are shown in the menu manager, see Adding a new menu. The menu type will actually be the Unique Name or alias that will be used to create human-readable URLs if Search Engine Friendly URLs are turned on. Menu items can have any number of subitems.

A Menu isn't automatically shown on any page. You need to create a menu module to show the menu on all or some pages. Each menu can be shown by one or more modules (making it possible to show the same menu in different positions). It is also possible to create Split menus.

A Menu that isn't shown by any module is usually called a hidden menu. Hidden menus can be used to create URLs that are not visible on any page.

Reference: http://docs.joomla.org/Glossary

In Joomla! a Category is a collection of Articles. In Joomla! a website might have Categories called "Animals" and "Plants". Within the "Animals" Category, the website might have Sub Categories such as "Birds" and "Mammals". Within the "Birds" Category, the website might have Articles such as "Parrots" and "Sparrows".

The example above could be expanded even more with specific articles on different species of Parrots and Sparrows. Start with using an "Animal" Top Category. Placing the Sub Categories "Birds" and "Mammals" are under the Animal category, and then a "Parrots" and "Sparrows" Sub Category under the "Birds" Sub Category as shown.

Animals
Birds
Parrots
Sparrows
Mammals

Now you can create multiple articles in the Parrot and Sparrow Categories.

Categories are maintained using the Category Manager which can be reached in the Administrator (Back-end) by clicking on the Content menu, then the Category Manager menu item.

Joomla makes extensive use of the Model-View-Controller design pattern. A standard OOP design pattern that separates different logical functions into different classes to improve the maintainability of the software.

When Joomla is started to process a request from a user, such as a GET for a particular page, or a POST containing form data, one of the first things that Joomla does is to analyse the URL to determine which component will be responsible for processing the request, and hand control over to that component.

If the component has been designed according to the MVC pattern, it will pass control to the controller. The controller is responsible for analysing the request and determining which model(s) will be needed to satisfy the request, and which view should be used to return the results back to the user.

The model encapsulates the data used by the component. In most cases this data will come from a database, either the Joomla database, or some external database, but it is also possible for the model to obtain data from other sources, such as via a web services API running on another server. The model is also responsible for updating the database where appropriate. The purpose of the model is to isolate the controller and view from the details of how data is obtained or amended.

The view is responsible for generating the output that gets sent to the browser by the component. It calls on the model for any information it needs and formats it appropriately. For example, a list of data items pulled from the model could be wrapped into an HTML table by the view.

Since Joomla is designed to be highly modular, the output from the component is generally only part of the complete web page that the user will ultimately see. Once the view has generated the output the component hands control back to the Joomla framework which then loads and executes the template. The template combines the output from the component, and any modules that are active on the current page, so that it can be delivered to the browser as a single page.

To provide additional power and flexibility to web designers, who may only be concerned with creating new designs rather than manipulating the underlying code, Joomla splits the traditional view into a separate view and layout. The view pulls data from the model, as in a traditional MVC pattern, but then simply makes that data available to the layout, which is responsible for formatting the data for presentation to the user. The advantage of having this split is that the Joomla template system provides a simple mechanism for layouts to be overridden in the template. These layout overrides (often called "template overrides" because they form part of the template, although actually it is the layout that is being overridden) are bundled with the template and give the template designer complete control over all the output from the Joomla core and any installed third-party extensions that comply with the MVC design pattern.

Reference: http://docs.joomla.org/Glossary

One of the three elements of the model-view-controller design pattern. The model encapsulates the data used by the component. The model is typically all about the “business” or “domain” logic and the database. The base API class we use for models is called JModel.

The main visual tool that shows a list of the Categories defined on the Joomla web site.

Modules are lightweight and flexible extensions used for page rendering. These modules are often “boxes” arranged around a component on a typical page. A well-known example is the login module. Modules are assigned per menu item, so you can decide to show or hide (for example) the login module depending on which page (menu item) the user is currently on. Some modules are linked to components: the “latest news” module, for example, links to the content component (com_content) and displays links to the newest content items. However, modules do not need to be linked to components; they don't even need to be linked to anything and can be just static HTML or text.

Modules are managed in the Joomla! Administrator view by the Module Manager.

Joomla default modules:

  • Archived Articles?
  • Articles – Newsflash
  • Articles – Related Articles
  • Articles – Categories
  • Articles Category
  • Banners?
  • Breadcrumbs
  • Custom HTML
  • Random Image
  • Search?
  • Statistics
  • Syndication Feeds
  • Feed Display
  • Footer?
  • Language Switcher
  • Latest News
  • Latest Users
  • Login?
  • Menu?
  • Most Read Content
  • Weblinks
  • Who’s Online
  • Wrapper

Reference: http://docs.joomla.org/Glossary