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
For the latest minimum requirements details, see Joomla! Technical Requirements.
No you don't. Versions of MySQL lower than 4.1 do not have built in UTF-8 support. However, Joomla! 1.5 has made provisions for backward compatibility and is able to use UTF-8 on older databases. Let the installer take care of all the settings and there is no need to make any changes to the database (charset, collation, or any other).

Yes it can! This is a significant security improvement.

The safe mode limits PHP to be able to perform actions only on files/folders who's owner is the same as PHP is currently using (this is usually 'apache'). As files normally are created either by the Joomla! application or by FTP access, the combination of PHP file actions and the FTP Layer allows Joomla! to operate in PHP Safe Mode.

The FTP Layer allows file operations (such as installing Extensions or updating the main configuration file) without having to make all the folders and files writable. This has been an issue on Linux and other Unix based platforms in respect of file permissions. This makes the site admin's life a lot easier and increases security of the site.

You can check the write status of relevent folders by going to ''Help->System Info" and then in the sub-menu to "Directory Permissions". With the FTP Layer enabled even if all directories are red, Joomla! will operate smoothly.

NOTE: the FTP layer is not required on a Windows host/server.

Well... how about never needing to mess with encoding settings again?

Ever needed to display several languages on one page or site and something always came up in Giberish?

With utf-8 (a variant of Unicode) glyphs (character forms) of basically all languages can be displayed with one single encoding setting.

Got a question? With more than 210,000 members, the Joomla! Discussion Forums at forum.joomla.org are a great resource for both new and experienced users. Ask your toughest questions the community is waiting to see what you'll do with your Joomla! site.

Do you want to show off your new Joomla! Web site? Visit the Site Showcase section of our forum.

Do you want to contribute?

If you think working with Joomla is fun, wait until you start working on it. We're passionate about helping Joomla users become contributors. There are many ways you can help Joomla's development:

  • Submit news about Joomla. We syndicate Joomla-related news on JoomlaConnectTM. If you have Joomla news that you would like to share with the community, find out how to get connected here.
  • Report bugs and request features in our trackers. Please read Reporting Bugs, for details on how we like our bug reports served up
  • Submit patches for new and/or fixed behaviour. Please read Submitting Patches, for details on how to submit a patch.
  • Join the developer forums and share your ideas for how to improve Joomla. We're always open to suggestions, although we're likely to be sceptical of large-scale suggestions without some code to back it up.
  • Join any of the Joomla Working Groups and bring your personal expertise to the Joomla community.

These are just a few ways you can contribute. See Contribute to Joomla for many more ways.

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.
  • Nearly 4,000 extensions for Joomla! have been registered on the Joomla! Extension Directory
  • Joomla.org exceeds 2 TB of traffic per month!

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
  • Calendars
  • 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:
http://extensions.joomla.org/content/view/15/63/

Types of Extensions

There are five types of extensions:

  • Components
  • Modules
  • Templates
  • Plugins
  • Languages

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.


Component - Joomla! Extension Directory Components

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:

  • Contacts
  • Front Page
  • News Feeds
  • Banners
  • Mass Mail
  • Polls

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.


Module - Joomla! Extension Directory Modules

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.

Displaying Modules

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 Example

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.


Plugin - Joomla! Extension Directory Plugins

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.


Language - Joomla! Extensions Directory Languages

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
http://community.joomla.org/translations.html

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.

Content

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

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.

List Layout

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)

Wrapper

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.

Content Parameters

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.

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.