December 24, 2007

Spice up Joomla! with productivity-enhancing extensions

Author: Razvan T. Coloja

Joomla!, a popular content management system (CMS) for Web portals, is easy to install and maintain, and has thousands of components, modules, and Mambots for almost every thinkable function a Web site could possibly need. All of the extensions are open source, as is the CMS itself. Here are a few extensions that I find indispensable.

Once your Joomla! setup finishes, one of the first things you should install is a component called JoomlaPack. This backup software doesn't have many configuration options, but it does the job it was intended for -- keeping your files and database safe from disaster. JoomlaPack can back up your database and site files either independently or all together. In the component's configuration panel you can define which directories should be excluded from archiving (/temp, for example). Once the backup completes, you can download the archive files it creates from the JoomlaPack configuration screen. The only downside of JoomlaPack is that, unlike JoomlaCloner, another backup application, you can't set it to schedule automatic backups.

If you plan to launch a portal in which you allow users to publish news and articles, MyContent can ensure that you give them secure access. You install the component, link it to one of the menus, and set the link permissions so that only registered or special users can access it. When they click the link, they'll be taken to a text editor of your choice. Users will then be able to add materials to your site, which you must approve before it appears. It's better to offer such limited, front-end access than create special access accounts for the back end. This way your users will be able to post news without having to log in to the back end, which might need an additional .htaccess password you might not want to share.

A recently published alternative for MyContent is jp Submissionary. This component lets your users input text and images on your portal -- content that needs to be authorized by an administrator before it appears on the site. It loads faster and works well when other JavaScript modules conflict with MyContent. The downsides of jp Submissionary are that it doesn't offer rich formatting features and it only allows uploading of two images -- one for the intro text and the other for the main text of the submission.

When choosing a text editor for your users, consider Joomla! Content Editor (JCE). Joomla!'s integrated text editor offers basic formatting options, but it's eclipsed by the settings that JCE provides. In the JCE configuration window, you can set the width and height of the editor, along with tens of other options. You can even configure the layout of the buttons by dragging and dropping the button images in the JCE Layout Manager. The editor also supports individual language files that you can insert and use easily. The JCE Language Pack currently supports Japanese, Dutch, Czech, French, Spanish, German, Catalan, and Brazilian.

JCE is organized, user-friendly, and supports plugins. With the ImageManager and Advanced Link plugins, you don't have to alternate between the Joomla! Media Manager and the editor to insert a picture. ImageManager allows you to upload and manage images from the same place without leaving the editor window. Advanced Link lets you insert normal links into your text and offers a comprehensive way creating in-site category, section, and article links. For instance, suppose you wanted to insert a link to an existing category; in the lower half of the Advanced Link window, you can choose an element from the drop-down list, and the editor will detect it's URL path automatically.

Speaking of paths, once your portal is ready, you can use sh404SEF to better index it and give the URLs more friendly names. This search-engine-friendly (SEF) component automatically renames PHP URLs into more readable text, strips them of unnecessary characters, and even appends a file suffix to the end. If your site has hundreds of published articles and you don't want to let sh404SEF rename all of them automatically, you can apply it only to selected categories. The component even lets you create a custom 404 error page. For components that need special attention because they create different kinds of URL strings, sh404SEF lets you individually configure the most commonly used ones, including VirtueMart, Community Builder, the FireBoard forum component, DOCman, Remository, Letterman, and iJoomla:magazine.

The best part about sh404SEF is that if you don't want to tangle with .htaccess file configuration, you don't have to. Many SEF components need mod_rewrite enabled and declared in a .htaccess file. sh404SEF, however, can also make use of Apache's PathInfo function to remodel the URLs. Some components might not want a third-party product to rewrite the path to the configuration and image files, so sh404SEF lets you choose which ones to exclude from the SEF URL conversion.

Other Joomla! SEF components worth mentioning include JoomSEO, ARTIO JoomSEF, and NuSEF, a rewrite of the now-defunct OpenSEF. They basically do the same thing as sh404SEF and offer different additional options, but most make use of the .htaccess file.

Fun with photos

Joomla! Mambots can be used to add useful, mostly cosmetic attributes to your content: preformat text, insert video files in content items, manipulate pictures. When it comes to presenting images, the Multithumb bot can probably meet most of your needs. If your Web server has the GD graphics library or ImageMagick installed, Multithumb can automatically create thumbnails of every image you insert into your articles. You can display these pictures in a normal browser window pop-up or with animated effects. The thumbnail expansion option lets you set the JPEG quality, create a fixed width and height for the created thumbnails, specify a border style and size, and choose a watermark file or background color. If you need to make a quick gallery, you can upload some images into a folder, then replace the alt text line with mt_gallery when inserting one of them into an article. This directive tells Multithumb that this image, together with the rest, should form a gallery. If you want to give each gallery image an individual description, you can use a text file to specify the descriptions for each image. For example, if you have some files named picture01.jpg, picture02.jpg, and picture03.jpg, you can create a text file named picture01.jpg.txt and fill it with something like this:

picture01.jpg Here is some text
picture02.jpg Another description
picture03.jpg And another one

If you ever need to override Multithumb's default values for specific articles, you can specify new ones in text mode:

{multithumb thumb_width=200 thumb_height=150}

Use the online parameter tool to create custom strings that override the defaults for your images.

Among other useful functions, Multithumb allows you to set a thumbnail image that's different from the scaled version of the original, display only a fragment of a picture in the thumbnail, or make an image fit proportionally on a predefined background.

Sometimes you might want to change a file or two on your Web server, but you're just too lazy to fire up gFTP. Since you're already in the Joomla! back end, you might want to use joomlaXplorer, an online file manager that offers file transfer, permission and file editing, and uploading and downloading. It even provides a status bar that shows how much disk space you have left. If you have a good Internet connection and plenty of time before your Joomla! admin session expires, you can forgo FTP when it comes to editing files.

Many sites offer some way for users to interact with one another. Probably the best way to do this in Joomla! is to install a forum component or a comment system. For the latter I use AkoComment Tweaked Special Edition. It provides extensive configuration options and supports theming. For example, if you post a news item and want your users to share their opinions on the subject, install the component and choose the sections in which it will be active: news, newsflashes, articles. You can specify whether to allow anonymous comments and whether registered users can subscribe to an RSS feed of comments, choose the number of comments to appear on one page, and say whether you want to protect your site with CAPTCHA. Since online spammers wreak havoc wherever they can, I recommend activating the latter option. It forces users to enter a five-digit number before posting each comment. AkoComment Tweaked Special Edition also provides BBCode support and smiley pack support, and can notify an administrator through email whenever someone posts a comment on the site. Users can also report suspicious comments by clicking a link. The biggest downside of this component is that it currently doesn't allow users to edit comments they posted. You have to log in as administrator, go in the Joomla! back end, and edit the comments yourself at the request of your users.

Along with AkoComment Tweaked Special Edition you might want to use Last comments for AkoComment TSE. It displays the latest comments made by your readers in a module position of your choice. This can help ensure that registered users will check your site periodically to see if someone replied to their comments, and provides a way to easily access the comments without users having to browse through past news items or articles.

Forum and multimedia

The second best way to gain clicks and form a community is to install a forum component. Most people use well-known forum solutions like Simple Machine Forums or Invision Power Board, together with a Joomla! bridge like Joomla! SMF Forum Component. Bridges let you use the same database for your portal and forum and eliminate the necessity of separate accounts. However, Joomla! bridges may prove difficult for inexperienced users to install. A good alternative is the Fireboard Forum. Installation is a breeze, it integrates with Joomla! in whatever way you might want it to, and it has some nice templates and forum plugins. More than that, it is based on SMF, and the templating system is similar. It's not as highly configurable as a dedicated forum system, but for a small or medium-sized portal, it might prove to be the best solution.

Now that your portal has almost everything it needs, how about adding some multimedia files to it? AllVideos Plugin allows an administrator to insert almost any type of video file in a content item and decide the way it is displayed. To use it, you can insert a string like {youtube}Video_ID{/youtube} in a content item, and the YouTube video in question will appear in the place of your choice. The width and height can be configured in the Mambot's settings in the Joomla! back end. Among the video services that AllVideos supports are Yahoo! Video, Google Videos, Vimeo, Metacafe, MySpace,, iFilm, and Jumpcut. Local files in AVI, MPEG, MOV, FLV, MP3, WMV, WMA, MP4, RM, and RAM format can be displayed with tags like {avi}filename_without_extension{/avi}.

From backup systems to text editors to image plugins, Joomla! has thousands of extensions to help you tailor the CMS to meet your individual needs. Whatever needs you may have, be it an image gallery for a photo site or a directory index for your online business catalog, be sure to check the Joomla! extensions directory for the best-rated extension.

Every Monday we highlight a different extension, plugin, or add-on. Write an article of less than 1,000 words telling us about one that you use and how it makes your work easier, along with tips for getting the most out of it. If we publish it, we'll pay you $100. (Send us a query first to be sure we haven't already published a story on your chosen topic recently or have one in hand.)


  • Internet & WWW
Click Here!