25 Improvements in Joomla 2.5

joomla25Joomla 2.5 is the third version to be launched using Joomla's new release cycle. After the launch of 1.6 in January and 1.7 in July, the benefits of the new realease cycle are really becoming clear. Releases are on time, well organized and increasingly contain a lot of great improvements.

In this tutorial we're going to focus on the upgrades to the Joomla 2.5 administrator area. We've collected 25 of the most useful improvements.

Why Joomla 2.5?

Yes, the numbering is a little strange. Basically every major CMS has made mistakes with it's version numbers at some point:

  • WordPress jumped from 0.7 to 1.2 to 1.5 then 2.0.
  • Drupal took five years to go through various permutations on Drupal 4 before finally deciding to move to version 5.

What was Joomla's mistake? Joomla 1.5 was the stable version that was supported for several years. They then went to 1.6 even though it was a fairly major upgrade and then moved to 1.7.

In order to resolve this mistake and to maintain consistency, Joomla 2.5 is the new, stable version that will be supported for several years.

So, what's new in Joomla 2.5? Let's show you ...

1. A new search component


Smart Search adds a better natural language search engine to the Joomla core. The best example of this in action is in the Joomla Extension Directory. Try it out here: https://extensions.joomla.org/search.

Smart Search is disabled by default. You can enable it by turning on the plugin and then making it accessible via a module or menu link.

Smart Search comes complete with auto-completion and stemming (so that if you enter running you also see run). It is faster and more versatile than the standard search.

The data does need to be indexed in order to get this flexibility and speed. Third party developers will need to create plugins to work with this new search, so by default, the standard search is active and this search is disabled. You can enable the plugin and index your files when any third party extensions you want to search have the new plugins.

2. Joomla core and extension update notification buttons


To access it: Site > Control Panel. The Quick Icons area now show your update status.

You will now be automatically notified when a Joomla or extension update is available while viewing the control panel.

This feature is the #1 request at ideas.joomla.org. Site admins will now be able to see these icons as soon as they log in. If Joomla or any extensions are out-of-date, these icons will display that information.

3. Add ability to support other databases starting with Microsoft SQL Server and PostgreSQL

A new option list should be available in the installation process that shows your available data bases, and allows you to choose.This is not an obvious change that we can demonstrate. The new capability allows you to run Joomla using a database other than MySQL. Initial support will be for MS SQL Server. According to the Joomla.org site it's been tested and works. The range of databases that Joomla supports now includes MySQL, MySQLi, Oracle, SQL Server 2008 and SQL Azure.

4. Set Joomla to offline during installation

Choose during installation process or after installation from the Site > Global Configuration

For site creators, when you installed Joomla it was automatically online as soon as it was installed. With this feature you have the choice of having it come up offline so no unauthorized people can see it before you want them to.

5. Custom image option for the offline page


To configure it: Site > Global Configuration > Site tab > Site Settings pane

You can easily use any logo when the system is offline (for maintenance). Just select the logo you want to use and you can upload it at the same time you create a custom message.

Joomla has always displayed a big Joomla logo when a site is offline. Developers with clients often want the company logo to show. In the past you had to hack the core. With this feature, no image is displayed by default and you can upload/select any image you want to be displayed went your system is offline.

6. Captcha in the core


To enable it : Site > Global Configuration

Choose Captcha from inside Global Configuration and define the access level; there is no need to install a new module or plugin.


To configure it: Extensions > Plugin Manager - find the plugin and edit it to add the public and private keys.

Captcha-ReCaptcha is now a built-in plugin. It adds the ability to do captcha without a third-party extension.

Captcha uses scrambled text to prevent robotic spammers from submitting forms. This new plugin gives you the ability to use reCAPTCHA, the most accessible of the captcha services. Once you sign up for free with reCAPTCHA and enter your keys, you can enable captcha on new user registration. It could also be used by other extensions needing captcha.

7. Add notes to menu items


To access it: Menus > Main Menu > Add new menu item.

This is helpful for site admins, especially if you use custom layouts. This feature was already available for other components such as modules. Now you can keep some notes on menu items as well. It allows you to further identify the item or clarify how it is used.

8. Filter the Who's Online module by groups connected to the user


To enable it: Module Manager > Edit Who's Online module > Advanced Options pane.

This can limit the display of online users based on the current user's groups. Organizing people into groups becomes more important as social sites continue to grow. For site admins, you can, optionally, limit the display of online users in the backend to those in the admin's user group.

9. Category filtering can now include subcategories


To access it: Content > Article Manager > Select Max Levels from filter.

It's now easier to sort articles by category and include the articles in subcategories at the same time.

In Joomla 1.7 when looking at articles you could filter by category. However, you didn't have a way of selecting a category and getting all the articles that are in that category and its subcategories. In 2.5, selecting a category in the articles manager will include its subcategories, down to the depth you select. If you only want the top-level category, you can select a level of 1.

10. A manager for language overrides


To access it: Extensions > Language Manager > Overrides tab > New.

There is now a screen in Language Manager to let you easily create and manage language override files.

Site creators will really like this one. In 1.7 you could add overrides to language files to change the text. So if you wanted to change a label, message, or tooltip, you could put the language key in a text file in the right spot with the right name with the wording you wanted, once you figured out what the language key was.

This was an improvement from 1.5 where you had to hack the core. With this feature you can make these changes in the familiar backend of Joomla instead of putting on a programmer's hat. You can search for the text that you see and it will give you a list of language keys and text for you to select. You can then change what you want and save it. Want to add your Company's name to the email that goes out with the "Forgot Your Password" email? Here's where you would do it.

11. Use the images and URL fields to create simple standardized layouts


To access it: Article Manager > Options icon > Editing Layout tab

Adds the ability to create simple standardized layouts for blogs with images and URL's.

In 2.5 you can opt to use the existing image and url fields in the articles to set up a simple standardized layout for blogs, news reports, etc. After activating in the Article Options Editing Layouts, you will be able to specify an image for the intro and an image for the full article, as well as 3 links. This means that you don't have to fuss with an image in the text.

12. New check for native ZIP support


Checks that native ZIP is available on your host during installation.

You'll see an additional line under Recommended settings as you go through the installation steps. Native ZIP is recommended because it is much faster than using PHP to unzip files and it could help avoid timeouts when you install large extensions or updates.

13. New user notification email sent to admin

When a user registers, after the user completes the email verification, a message is sent to the administrator that a new user has registered.

Site admins have been asking for this since 1.0. It wasn't possible without doing a core hack. It's useful if you are using already established users from another system or want to notify users in a different manner than the standard email.

14. Improved pop-up boxes


To access it: Menus > Main Menu > Add Menu Item

The performance of pop-up windows for menu links has been improved.

Previously when you clicked Select to choose a menu item type, lots of code was loaded. The more extensions you have installed the slower this gets. Thanks to a new patch in Joomla 2.5, this process has been improved and the list of item types will load much more quickly.

15. User status display optimization


Nothing fancy here. It improves the display of the mod_status module in the administrator area. For site admins, it reduces the footprint of status displays.

16. User notes


To access it: Users > User Notes > Add User Note.

This adds the ability to attach notes to a user. Like other Joomla features, you'll need to create categories for your user notes first.

Now you can attach notes to users as well as assign tracking dates to the users. You can have multiple notes per user and the notes can be in different categories. It will make it a lot easier to administer membership sites.

17. Custom Black List in Text Filters


To configure it (for user groups): Site > Global Configuration > Text Filters Tab.

Allows more flexibility in setting up content filters to filter entries by users.

The filtering done automatically by Joomla when filling in text has moved from its hiding place in the Articles Options to Global Configuration. This is appropriate since it covers all the components, not just articles. Even better, you are now able to create your own custom blacklist.

Blacklists are easier to manage because the contain only the forbidden tags and attributes. Before you either used the default blacklist or had to resort to typing in all the possible tags and attributes that were allowed.

You can also use User Groups to give certain people permission to use a tag/attribute on the blacklist. Just create a user group for, say, the people who can use iframe. In the Text Filter specify that User Group as White listed with iframe in the tag list. If you want to let someone use iframes, just add them to that User Group

18. Easier work flow by linking Menu Manager and Module Manager


To access it: Create a new menu in the Menu Manager. The link to "Add a module for this menu type" will now be visible. Click that link to create a menu module for it.

This work flow is a bit better than it was. It allows menus to be assigned to modules when menus are created, instead of having to do it in a completely separate step.

With this feature, if there is no module associated with the menu, there is a link showing in the Modules Link to the Menu column. You can click that to go directly into a new module that you can create. You then have the choice of saving this standard menu module or canceling out and using a different menu module.

19. Indicate a default language for News Feeds


To access it: Components > News Feeds > Feeds > New

There is a new option in News feeds that extends multi-language support.

20. Right to Left option for News Feeds


To access it: Components > News Feeds > Feeds > New > Publishing Options panel.

There is now a Right to Left display option for News Feeds.

21. Improving SEO with a new Language Code plugin


To enable it: Extensions > Plugin Manager > System- Language Code plugin details.

Allows search engines to see the language and country code they expect in cases where the Joomla language pack uses a different code.

22. A true autoloader was added to the CMS

A new  autoloader makes it easier to write code using the platform without worrying about including files. Developers no longer have to worry if a file or class is in the Joomla Platform folder or the CMS folder. The autoloader only works on classes named properly in the platform so this is a feature that will become more useful over time as more classes are standardised.

23. Improved image capability

The MooTools library is upgraded (1.4) and more capability comes with the JImage class and the JGrid class. Extensions that will allow more image editing, and also creation of HTML tables can be developed.

24. Database version check


To access it: Extensions > Database tab.

You now have the ability to check that database schema version is up to date. This will become essential as Joomla, modules and plugins evolve.

For site admins, creators, developers. Added a new feature to the Extensions which will check to see that your database is up to date with any database schema changes added during upgrades.

If they are out of date, you can press the Fix button to apply the needed changes. This is important for those people who are used to updating releases the 1.5 way by FTPing up the release files. Since that cannot apply database changes, those people would have to apply the database changes manually which not everyone could. With this improvement, they just need to go to Extensions > Database and hit the Fix button.

25. Debug Plugin Reloaded makes it easier to inspect messages


To enable it: Site > Global Configuration > System tab - Click yes for Debug System and/or Debug Language.

It will be easier to find what you're looking for with Improved formatting and information when running Joomla in debug mode.

Before the debug logging was extremely long and difficult to scan through. With this improvement, sliders allow you to see just the sections of information that you need. Reformatting and color highlighting make the database information, in particular, much easier to scan through.