Joomla is an content management system (CMS), which enables to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone.
Joomla is written in PHP, uses object-oriented programming (OOP) techniques (since version 1.5) and software design patterns, stores data in a MySQL, MS SQL (since version 2.5), or Postgre SQL (since version 3.0) database, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization.
Joomla has been downloaded over 35 million times. Over 6,000 free and commercial extensions are available from the official Joomla! Extension Directory, and more are available from other sources. It is estimated to be the second most used content management system (CMS) on the Internet after WordPress.
Joomla is so much more than just a powerful content management system. Here is a list of features "out of the box," but the true power of Joomla is in its extensibility.
Joomla has a registration system that allows users to configure personal options. There are nine user groups with various types of permissions on what users are allowed to access, edit, publish and administrate.
Authentication is an important part of user management and Joomla support multiple protocols, including LDAP, OpenID, and even Gmail. This allows users to use their existing account information to streamline the registration process.
The Media Manager is the tool for easily managing media files or folders and you can configure the MIME type settings to handle any type of file. The Media Manager is integrated into the Article Editor tool so you can grab images and other files at any time.
There is international support for many world languages and UTF-8 encoding. If you need your Web site in one language and the administrator panel in another, multiple languages are possible.
It's easy to set up banners on your Web site using the Banner Manager, starting with creating a client profile. Once you add campaigns and as many banners as you need, you can set impression numbers, special URLs, and more.
The Contact Manager helps your users to find the right person and their contact information. It also supports multiple contact forms going to specific individuals as well as groups.
If you want to find out more about your users, it's easy to create polls with multiple options.
Help navigate users to most popular search items and provide the admin with search statistics.
Providing link resources for site users is simple and you can sort them into categories, even count every click.
Joomla's simplified three-tiered system of articles makes organizing your content a snap. You can organize your content any way you want and not necessarily how it will be on your Web site. Your users can rate articles, e-mail them to a friend, or automatically save a PDF (with UTF-8 support for all languages). Administrators can archive content for safekeeping, hiding it from site visitors.
On public Web sites, built-in e-mail cloaking protects email addresses from spambots.
Creating content is simple with the WYSIWYG editor, giving even novice users the ability to combine text, images in an attractive way. Once you've created your articles, there are a number of pre-installed modules to show the most popular articles, latest new items, newsflashes, related articles, and more.
With Joomla, it's easy to syndicate your site content, allowing your users to subscribe to new content in their favorite RSS reader. It's equally easy to integrate RSS feeds from other sources and aggregate them all on your site.
The Menu Manager allows you to create as many menus and menu items as you need. You can structure your menu hierarchy (and nested menu items) completely independent of your content structure. Put one menu in multiple places and in any style you want; use rollovers, dropdown, flyouts and just about any other navigation system you can think of. Also automatic breadcrumbs are generated to help navigate your site users.
Templates in Joomla are a powerful way to make your site look exactly the way you want and either use a single template for the entire site or a separate template for each site section. The level of visual control goes a step further with powerful template overrides, allowing you to customize each part of your pages.
Joomla has a built-in help section to assist users with finding what they need. A glossary explains the terms in plain English, a version checker makes sure you're using the latest version, a system information tool helps you troubleshoot, and, if all else fails, links to a wealth of online resources for additional help and support.
Speedy page loads are possible with page caching, granular-level module caching, and GZIP page compression.
If your system administrator needs to troubleshoot an issue, debugging mode and error reporting are invaluable.
The FTP Layer allows file operations (like installing Extensions) without having to make all the folders and files writable, making your site administrator's life easier and increasing the security of your site.
Administators quickly and efficiently communicate with users one-on-one through private messaging or all site users via the mass mailing system.
With Web services, you can use Remote Procedure Calls (via HTTP and XML). You can also integrate XML-RPC services with the Blogger and Joomla APIs.
These are just some of the basic Joomla features and the real power is in the way you customize Joomla. Visit the Joomla Extensions Directory to see thousands of ways to enhance Joomla to suit your needs.
Joomla extensions help extend the Joomla websites' ability. There are five types of extensions for Joomla: Components, Modules, Plugins, Templates, and Languages.
Each of these extensions handles a specific function.
Components: The largest and most complex extensions of them all; they can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, one component is called to render the main page body. Components are the major portion of a page because a component is driven by a menu item and every menu item runs a component.
Plugins: These are more advanced extensions and are, in essence, event handlers. In the execution of any part of Joomla, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to block user-submitted articles and filter out bad words.
Templates: Describe the main design of the Joomla website and are the extensions that allow users to change the look of the site. Users will see modules and components on a template. They are customizable and flexible. Templates determine the “style” of a website.
Modules: Rendering pages flexibly in Joomla requires a module extension, which is then linked to Joomla components to display new content or new images. Joomla modules look like boxes – like the “search” or “login” module. However, they don’t require html to Joomla to work.
Languages: Very simple extensions that can either be used as a core part or as an extension. Language and font information can also be used for PDF or PSD to Joomla conversions.
A Joomla template is a multifaceted Joomla extension which is responsible for the layout, design and structure of a Joomla powered website. While the CMS itself manages the content, a template manages the look and feel of the content elements and the overall design of a Joomla driven website. The content and design of a Joomla template is separate and can be edited, changed and deleted separately.
The template is where the design of the main layout for a Joomla site is set. This includes where users place different elements (components, modules, and plug-ins), which are responsible for the different types of content. If the template is designed to allow user customization, the user can change the content placement on the site, e. g., putting the main menu on the right or left side of the screen.
Joomla was the result of a fork of Mambo on August 17, 2005. At that time, the Mambo name was trademarked by Miro International Pvt. Ltd., who formed a non-profit foundation with the stated purpose of funding the project and protecting it from lawsuits. The Joomla development team claimed that many of the provisions of the foundation structure went against previous agreements made by the elected Mambo Steering Committee, lacked the necessary consultation with key stakeholders and included provisions that violated core open source values.
Many companies and organizations have requirements that go beyond what is available in the basic Joomla package. In those cases, Joomla's powerful application framework makes it easy for developers to create sophisticated add-ons that extend the power of Joomla into virtually unlimited directions.
The core Joomla framework enables developers to quickly and easily build:
Version of Joomla
Joomla 1.0 was released on September 22, 2005 as a re-branded release of Mambo 18.104.22.168 that combined other bug and moderate-level security fixes.
Joomla 1.5 was released on January 22, 2008. The latest release of this version was 1.5.26 on March 27, 2012.This version was the first to attain long-term support (LTS). LTS versions are released each three major or minor releases and are supported until three months after the next LTS version is released.
Joomla 1.6 was released on January 10, 2011. This version adds a full access control list functionality plus, user-defined category hierarchy, and admin interface improvements.
Joomla 1.7 was released on July 19, 2011, six months after 1.6.0. This version adds enhanced security and improved migration tools.
Joomla 2.5 was released on January 24, 2012, six months after 1.7.0. This version is a long term support (LTS) release. Originally this release was to be 1.8.0, however the developers announced August 9 that they would rename it to fit into a new version number scheme in which every LTS release is an X.5 release. This version was the first to run on other databases besides MySQL. Support version is extended until the end of 2014.
Joomla 3.0 was released on September 27, 2012. Originally, it was supposed to be released in July 2012; however, the January/July release schedule was uncomfortable for volunteers, and the schedule was changed to September/March releases. On December 24, 2012, it was decided to add one more version (3.2) to the 3.x series to improve the development life cycle and extend the support of LTS versions. This will also be applied to the 4.x series.
Joomla 3.1 was released on April 24, 2013. Release 3.1 includes several new features including tagging.
Joomla 3.2 was released on November 06, 2013. Release 3.2 highlighting Content Versioning
Joomla is designed to be easy to install and set up even if you're not an advanced user. Many Web hosting services offer a single-click install, getting your new site up and running in just a few minutes. Since Joomla is so easy to use, as a Web designer or developer, you can quickly build sites for your clients. Then, with a minimal amount of instruction, you can empower your clients to easily manage their own sites themselves. Joomla is free, open, and available to anyone under the GPL license.