Out of the box, Joomla! does a great job of managing the content needed to make your Web site sing. But for many people, the true power of Joomla! lies in the application framework that makes it possible for developers all around the world to create powerful add-ons that are called Extensions. An Extension is used to add capabilities to Joomla! that do not exist in the base core code. Here are just some examples of the hundreds of available Extensions:
- Dynamic form builders
- Business or organisational directories
- Document management
- Image and multimedia galleries
- E-commerce and shopping cart engines
- Forums and chat software
- E-mail newsletters
- Data collection and reporting tools
- Banner advertising systems
- Paid subscription services
- and many, many, more
You can find more examples over at our ever growing Joomla! Extensions Directory. Prepare to be amazed at the amount of exciting work produced by our active developer community!
A useful guide to the Extension site can be found at:
Types of Extensions
There are five types of extensions:
You can read more about the specifics of these using the links in the Article Index - a Table of Contents (yet another useful feature of Joomla!) - at the top right or by clicking on the Next link below.
A Component is the largest and most complex of the Extension types. Components are like mini-applications that render the main body of the page. An analogy that might make the relationship easier to understand would be that Joomla! is a book and all the Components are chapters in the book. The core Article Component (com_content), for example, is the mini-application that handles all core Article rendering just as the core registration Component (com_user) is the mini-application that handles User registration.
Many of Joomla!'s core features are provided by the use of default Components such as:
- Front Page
- News Feeds
- Mass Mail
A Component will manage data, set displays, provide functions, and in general can perform any operation that does not fall under the general functions of the core code.
Components work hand in hand with Modules and Plugins to provide a rich variety of content display and functionality aside from the standard Article and content display. They make it possible to completely transform Joomla! and greatly expand its capabilities.
A more lightweight and flexible Extension used for page rendering is a Module. Modules are used for small bits of the page that are generally less complex and able to be seen across different Components. To continue in our book analogy, a Module can be looked at as a footnote or header block, or perhaps an image/caption block that can be rendered on a particular page. Obviously you can have a footnote on any page but not all pages will have them. Footnotes also might appear regardless of which chapter you are reading. Simlarly Modules can be rendered regardless of which Component you have loaded.
Modules are like little mini-applets that can be placed anywhere on your site. They work in conjunction with Components in some cases and in others are complete stand alone snippets of code used to display some data from the database such as Articles (Newsflash) Modules are usually used to output data but they can also be interactive form items to input data for example the Login Module or Polls.
Modules can be assigned to Module positions which are defined in your Template and in the back-end using the Module Manager and editing the Module Position settings. For example, "left" and "right" are common for a 3 column layout.
Each Module is assigned to a Module position on your site. If you wish it to display in two different locations you must copy the Module and assign the copy to display at the new location. You can also set which Menu Items (and thus pages) a Module will display on, you can select all Menu Items or you can pick and choose by holding down the control key and selecting multiple locations one by one in the Modules [Edit] screen
Note: Your Main Menu is a Module! When you create a new Menu in the Menu Manager you are actually copying the Main Menu Module (mod_mainmenu) code and giving it the name of your new Menu. When you copy a Module you do not copy all of its parameters, you simply allow Joomla! to use the same code with two separate settings.
Newsflash is a Module which will display Articles from your site in an assignable Module position. It can be used and configured to display one Category, all Categories, or to randomly choose Articles to highlight to Users. It will display as much of an Article as you set, and will show a Read more... link to take the User to the full Article.
The Newsflash Component is particularly useful for things like Site News or to show the latest Article added to your Web site.
One of the more advanced Extensions for Joomla! is the Plugin. In previous versions of Joomla! Plugins were known as Mambots. Aside from changing their name their functionality has been expanded. A Plugin is a section of code that runs when a pre-defined event happens within Joomla!. Editors are Plugins, for example, that execute when the Joomla! event onGetEditorArea occurs. Using a Plugin allows a developer to change the way their code behaves depending upon which Plugins are installed to react to an event.
New to Joomla! 1.5 and perhaps the most basic and critical Extension is a Language. Joomla! is released with multiple Installation Languages but the base Site and Administrator are packaged in just the one Language en-GB - being English with GB spelling for example. To include all the translations currently available would bloat the core package and make it unmanageable for uploading purposes. The Language files enable all the User interfaces both Front-end and Back-end to be presented in the local preferred language. Note these packs do not have any impact on the actual content such as Articles.
More information on languages is available from the
Joomla! runs on the PHP pre-processor. PHP comes in many flavours, for a lot of operating systems. Beside PHP you will need a Web server. Joomla! is optimized for the Apache Web server, but it can run on different Web servers like Microsoft IIS it just requires additional configuration of PHP and MySQL. Joomla! also depends on a database, for this currently you can only use MySQL.Many people know from their own experience that it's not easy to install an Apache Web server and it gets harder if you want to add MySQL, PHP and Perl. XAMPP, WAMP, and MAMP are easy to install distributions containing Apache, MySQL, PHP and Perl for the Windows, Mac OSX and Linux operating systems. These packages are for localhost installations on non-public servers only.
The minimum version requirements are:
- Apache 1.x or 2.x
- PHP 4.3 or up
- MySQL 3.23 or up
Joomla! provides plenty of flexibility when displaying your Web content. Whether you are using Joomla! for a blog site, news or a Web site for a company, you'll find one or more content styles to showcase your information. You can also change the style of content dynamically depending on your preferences. Joomla! calls how a page is laid out a layout. Use the guide below to understand which layouts are available and how you might use them.
Joomla! makes it extremely easy to add and display content. All content is placed where your mainbody tag in your template is located. There are three main types of layouts available in Joomla! and all of them can be customised via parameters. The display and parameters are set in the Menu Item used to display the content your working on. You create these layouts by creating a Menu Item and choosing how you want the content to display.
Blog layout will show a listing of all Articles of the selected blog type (Section or Category) in the mainbody position of your template. It will give you the standard title, and Intro of each Article in that particular Category and/or Section. You can customise this layout via the use of the Preferences and Parameters, (See Article Parameters) this is done from the Menu not the Section Manager!
Blog Archive Layout
A Blog Archive layout will give you a similar output of Articles as the normal Blog Display but will add, at the top, two drop down lists for month and year plus a search button to allow Users to search for all Archived Articles from a specific month and year.
Table layout will simply give you a tabular list of all the titles in that particular Section or Category. No Intro text will be displayed just the titles. You can set how many titles will be displayed in this table by Parameters. The table layout will also provide a filter Section so that Users can reorder, filter, and set how many titles are listed on a single page (up to 50)
Wrappers allow you to place stand alone applications and Third Party Web sites inside your Joomla! site. The content within a Wrapper appears within the primary content area defined by the "mainbody" tag and allows you to display their content as a part of your own site. A Wrapper will place an IFRAME into the content Section of your Web site and wrap your standard template navigation around it so it appears in the same way an Article would.
The parameters for each layout type can be found on the right hand side of the editor boxes in the Menu Item configuration screen. The parameters available depend largely on what kind of layout you are configuring.
Joomla! runs on any platform including Windows, most flavours of Linux, several Unix versions, and the Apple OS/X platform. Joomla! depends on PHP and the MySQL database to deliver dynamic content.
The minimum requirements are:
- Apache 1.x, 2.x and higher
- PHP 4.3 and higher
- MySQL 3.23 and higher
As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.
Here are some interesting facts about Joomla!
- Over 210,000 active registered Users on the Official Joomla! community forum and more on the many international community sites.
- over 1,000,000 posts in over 200,000 topics
- over 1,200 posts per day
- growing at 150 new participants each day!
- 1168 Projects on the JoomlaCode (joomlacode.org ). All for open source addons by third party developers.
- Well over 6,000,000 downloads of Joomla! since the migration to JoomlaCode in March 2007.
- Well over 6,000,000 downloads of Joomla! since the migration to JoomlaCode in March 2007.
- Nearly 4,000 extensions for Joomla! have been registered on the Joomla! Extension Directory
- Joomla.org exceeds 2 TB of traffic per month!
Support for the Joomla! CMS can be found on several places. The best place to start would be the Joomla! Official Documentation Wiki. Here you can help yourself to the information that is regularly published and updated as Joomla! develops. There is much more to come too!
Of course you should not forget the Help System of the CMS itself. On the topmenu in the Back-end Control panel you find the Help button which will provide you with lots of explanation on features.
Another great place would of course be the Forum . On the Joomla! Forum you can find help and support from Community members as well as from Joomla! Core members and Working Group members. The forum contains a lot of information, FAQ's, just about anything you are looking for in terms of support.
Two other resources for Support are the Joomla! Developer Site and the Joomla! Extensions Directory (JED). The Joomla! Developer Site provides lots of technical information for the experienced Developer as well as those new to Joomla! and development work in general. The JED whilst not a support site in the strictest sense has many of the Extensions that you will need as you develop your own Web site.
The Joomla! Developers and Bug Squad members are regularly posting their blog reports about several topics such as programming techniques and security issues.
Joomla! Documentation can of course be found on the Joomla! Official Documentation Wiki. You can find information for beginners, installation, upgrade, Frequently Asked Questions, developer topics, and a lot more. The Documentation Team helps oversee the wiki but you are invited to contribute content, as well.
There are also books written about Joomla! You can find a listing of these books in the Joomla! Shop.
If you're new to Web publishing systems, you'll find that Joomla! delivers sophisticated solutions to your online needs. It can deliver a robust enterprise-level Web site, empowered by endless extensibility for your bespoke publishing needs. Moreover, it is often the system of choice for small business or home users who want a professional looking site that's simple to deploy and use. We do content right.
So what's the catch? How much does this system cost?
Well, there's good news ... and more good news! Joomla! 1.5 is free, it is released under an Open Source license - the GNU/General Public License v 2.0. Had you invested in a mainstream, commercial alternative, there'd be nothing but moths left in your wallet and to add new functionality would probably mean taking out a second mortgage each time you wanted something adding!
Joomla! changes all that ...
Joomla! is different from the normal models for content management software. For a start, it's not complicated. Joomla! has been developed for everybody, and anybody can develop it further. It is designed to work (primarily) with other Open Source, free, software such as PHP, MySQL, and Apache.
It is easy to install and administer, and is reliable.
Joomla! doesn't even require the user or administrator of the system to know HTML to operate it once it's up and running.
To get the perfect Web site with all the functionality that you require for your particular application may take additional time and effort, but with the Joomla! Community support that is available and the many Third Party Developers actively creating and releasing new Extensions for the 1.5 platform on an almost daily basis, there is likely to be something out there to meet your needs. Or you could develop your own Extensions and make these available to the rest of the community.
- Completely database driven site engines
- News, products, or services sections fully editable and manageable
- Topics sections can be added to by contributing Authors
- Fully customisable layouts including left, center, and right Menu boxes
- Browser upload of images to your own library for use anywhere in the site
- Dynamic Forum/Poll/Voting booth for on-the-spot results
- Runs on Linux, FreeBSD, MacOSX server, Solaris, and AIX