What is Joomla! ?
Joomla! is a production of Open Source Matters, the same team that brought you the award winning Mambo Content Management System. OSM has taken their final stable version of Mambo (188.8.131.52), given it a spring clean and named it Joomla! 1.0. In addition, several small features that were going to be released in Joomla! 1.1 have been brought forward and included in this release.
The following outlines the highlights of this debut version of Joomla! All comments are made in reference to Mambo 184.108.40.206 with regard to changes and improvements made.
Several crucial fixes have been applied to this version:
- You can now properly login to different sites even if they share the same domain and are nested in sub-directories.
- Slow queries in the User Manager have been corrected. This bug affected sites with thousands of registered users. Registered users (that don't have edit rights) are also excluded from the Author select list shown when editing content pages.
- Variable references that caused notices in PHP 4.4 have been fixed.
Check the CHANGELOG.php file for more information.
Several important vulnerabilities have been patched in this version:
- Known vulnerabilities in the phpMailer class
- SQL injection vulnerability via the user activation feature
- SQL injection vulnerability via the polls component
- Files such as the CHANGELOG have been converted to PHP files to prevent them being visible.
- The "Email from Friend" form has been hardened to reduce the risk of it being used as a gateway for spam
- The mosGetParam has been hardened by using phpInputFilter for NO_HTML mode
- An alternative version of globals.php has been provided. If you rename globals.php-off to globals.php Joomla! will emulate the php setting register_globals=off. This affords some protection against certainly types of malicious attacks but may prevent some third party applications from working correctly.
Joomla! Site (Front End)
- MadeYourWeb template contest winner added
- The site is now visibile to Administrators even when the site is in Offline mode.
- Frontend Users can select the WYSIWYG editor they want to use rather than having to use the default.
- An `Apply` button has been added for frontend Content editing.
- The search page now supports pagination
Joomla! Administrator (Back End)
- The System Information link has been added back to the System Menu.
- "Force Logout" in the User Manager toolbar has been renamed to simply "Logout".
- "Submit - Content" is a new menu type available
- HTML output is now buffered to improve performance of non-display actions (like saving content)
- Users can select the WYSIWYG editor they want to use rather than having to use the default.
- Contact component: added parameter to define a certain category for a contact menu.
- Media Manager now has support for XCF, ODG, ODT, ODS, ODP file formats
- Added new menu item to clear all caches (used by 3rd party addons)
A number of minor changes have been made to facilitate the use of Mambelfish.
- The Solar Flare 2 template has been freshened with the new name. Andy Miller joined forces with Robert Deutz to deliver a stunning new Administrator Template for Joomla!
- Toolbar icons in the Administrator toolbar are now shown in full colour rather than greyed out (which would normally indicate they were unavailable).
- A "check again" button has been added to the first page of the web installer.
Support for MySQL 4.1.x
Joomla! will support installation and use with PHP 5 and MySQL 4.1. An alternative database file is provided in the /includes directory. Simply copy database.mysqli.php over the existing databased.php file. Following this you can use the web installer normally to install Joomla!.
The following developer libraries have been upgraded:
- patTemplate (this version now supports the short tag modifiers)
- Walter Zorn tooltips
- DOMIT! RSS
Usability and Accessibility
A huge thrust is being made to make Joomla! compliant with web standards for usability and accessibility. While much more will be done in future versions, the following first steps have been taken to achieve this goal:
- Label tags have been added to Site module and component output
- mosHTML::selectList and mosHTML::radioList automatically provide the correct label tags
A number of new things are available for developers. These include:
- patHTML class provides several utility methods for handling selection lists
- mosAbstractTasker class now auto-maps public methods to tasks
- setTemplateVars method has been added to both the Site and Administrator page navigation classes
- mosHash function provides a convenient method for producing secure hashes
- A <span class="article_separator"></span> now separates content items in lists
- mosParameter::_mos_filelist has been added to supportXML params
- Paramater files can now use the root element <mosparams>. This enables you to have more than one XML params file in your component installation files.
- A number of new mambot triggers have been included: onStart, onAfterMainframe
- A number of new toolbar icons have been added
- The mosToolBar::help method now correctly supports local help files in a components /help folder.
- mosDBTable::isCheckedOut method has been added
- CSS styles have been added to the administrator template to support Joomla! 1.1-like (Mambo 4.5.3-like) screen layouts.
- database:setQuery now takes arguments for query limit offset and number of records to be returned.
- PHP 5 compatibility functions file_put_contents and file_get_contents have been added (you can use these functions in your addons regardless of the PHP version).
- JS Calendar 1.0 has been added (the existing calendar still remains for backward compatibility)
- mosAbstractTasker::setAccessControl method has been added
- mosUser::getUserListFromGroup method has been added
- mosParameters::toObject and mosParameters::toArray have been added
- database:NameQuote method added to quote field names (improves database portability)
- database:getNullDate method added (improves database portability)
- mosAbstractLog class added
We have made every effort to make this version backwardly compatible with Mambo 220.127.116.11 but there are a few changes that may affect a small selection of existing addons. If you are a developer of Mambo addons (and soon to be Joomla! developer) then your attention should be drawn to the following points:
- patTemplate::createTemplate arguments have changed
- database:setQuery arguments have changed but this is unlikely to affect most sites
- A minor change need to be made to existing Administrator templates for Joomla! to work correctly.
With the launch of version 1.0 of Joomla! comes the unveiling of our new development forge site at developer.joomla.org, hosted on SourceForge Enterprise courtesy of VA Systems.
Instructions for migrating your existing Mambo site to Joomla! can be found on our help site.