An inch wide (Atom 0.3)

Bread and butter Joomla! extension roundup

  • Saturday, 29 August 2009 13:15
  • Written by Dan Knauss

Here are a couple of new or relatively new and important Joomla extensions that belong in the valuable to indispensable (please add to the core!) list. Nothing sexy or flashy, just stuff that really makes Joomla better and more effective, especially for multi-user content-based sites where search performance and security are taken seriously. Also some older extensions that offer (or aim at) unique and important functions but aren't all there yet.


Solid newcomers

  1. JoomlaFCK (editor plugin) - It's free, simple, lightweight, looks good (there are several theme options), and it can do an adequate job of handling a key task I previously needed the wonderful but bulky JCE to do: limit frontend editing features. This important security and usability feature is based on fixed frontend presets: "advanced," "creative," "blog," and "default." If these presets could be customized and/or assigned to specific user groups, JoomlaFCK would be perfect. As it is, if you select the restricted "blogger" feature set for the frontend, even super administrators are shut out from things like image upload/management functions. This might be a good replacement in the core for TinyMCE down the road. There seems to be a coder's preference for FCK over TinyMCE, which does work well but takes some work to tweak the settings to taste and lacks the feature restriction possible in JoomlaFCK. JCE is still the way to do just about anything, but it's often far more software and work than you need. Another great feature of JoomlaFCK is the ability to generate relative, internal links to Joomla articles which can be called up by typing the title or keywords in the title of the target article.
  2. Ninja Content with Version Control (component and plugin suite) - An essential commercial extension that offers the only comprehensive solution for Joomla limited frontend article creation and editing capabilities. Now with version control and email notifications. Very customizable for permissions and views. If the very limited core content management component (com_content) remains in the Joomla core past version 1.6, something like Ninja Content will become even more useful for the many users who don't need very robust content management features from Joomla. I gather that Andrew Eddie/The Art of Joomla's impressive but very young Content Manager is a potential (possible core) alternative to the old com_content, but it is rather cumbersome and complex to use at this point. The 1.6 ACL interface and Content Manager at this stage of its development seem only marginally less difficult to learn and use than Drupal's access controls plus CCK and Views. Joomla's ways of doing CCK (like K2, ZOO, and also jSeblod or Jxtended Catalog) are not terribly simple either. It may be there is no way to offer highly flexible custom content, views, and permissions that does not demand a high learning curve and a complex interface. If so, com_content with Ninja Content may be valuable for a long time. NB: Joomla core notifications and the 3rd party notification extensions that exist will not work with Ninja Content. Ninja Content's version control will work in tandem with Michael Fatica's version control component and plugin, which is what Ninja Content's versioning feature is based on.
  3. Jxtended Comments (component. module and plugin suite) - This is the best built native comment extension by far, and it is going into the Joomla 1.6 core. It does everything essential for comment creation and management, and it does them all very well. The only things missing at this point are the icing on the cake: preset theme options, and avatar integration for Community Builder and JomSocial. (Yet it seems to me that Joomla 1.6's beefed up custom user profile system may actually necessitate changes from CB and JomSocial so they use the core profile system's avatar field, which will surely be usable in the core comments.) Comments has its own CAPTCHA/reCAPTCHA, IP blocking, and other anti-spam features as well as integration with Moovur and Akismet.

    NB:
    For many purposes, third-party hosted comment services may be the best choice.
    Brian Teeman explains why/when Disqus (integrated via a JoomlaWorks plugin) is a good way to go.
  4. Moovur (component and plugins) - Prior to Moovur's debut in 2009, there hasn't been a serious attempt to provide comprehensive anti-spam functions for Joomla. Each extension that might fall victim to spam is expected to contain its own implementation of CAPTCHA. Not really an ideal system. Moovur is the Joomla! implementation of Dries Buytaert's Mollum anti-spam service. It's free up until you have 100 or more good (ham/not-spam) comments or CAPTCHAs per day, at which point is costs 30 EUR ($43 USD) per month. The Moovur dashboard offers really good, effective security and stats about your spam and ham. It will screen user input from Joomla core components and others that offer Moovur plugins. (At this point it looks like JomSocial is the only 3rd party Joomla extension with a Moovur plugin.) Akismet and Mollum are probably the best comprehensive solutions to spam and a good way for the providers (the owners/founders of Wordpress and Drupal) to make some money from high traffic users. In the long term, if they prove effective, popular, profitable, and retain a price point that starts with free, it would be nice to see the Joomla project draw some direct revenue from a related service or via commissions.
    1. The best way to stop spam in Joomla without relying on a commercial third party service may be Easy Spam Killer, which uses blacklists like Project Honeypot to filter spam. (German Tutorial video.) You'll have to do your own hacking and coding to cover the forms spammers strike on your site.
    2. Another complementary solution is to use the Bad Behavior spambot blocking plugin, which is recommended for use along with systems like Moovur or Easy Spam Killer: "Bad Behavior complements other link spam solutions by acting as a gatekeeper, preventing spammers from ever delivering their junk, and in many cases, from ever reading your site in the first place. This keeps your site’s load down, makes your site logs cleaner, and can help prevent denial of service conditions caused by spammers."
  5. Advanced Administrator Menu (component) - Free solution from Andrew Eddie/The Art of Joomla for people with tons of components installed. If you are using the standard, unmodified Joomla administrator interface, all your components stack up under a single dropdown menu. AAM allows you to add more dropdown menus to the right of the default "Components" menu item and left of the "Extensions" menu item.

Extensions to watch: Auto Read More just came out, providing a much needed automatic splitting of new content articles into unform, designated length introductions of blog view index pages.


If you want to do complex content management well...

Joomla 1.5's core/out-of-the-box search capability is not very good. (More on this below.) Neither is it good at significant content management duties where you have a lot of material where categorization, cross-referencing, and SEO/search result performance matter. If that's what you need and not much else, you may be better off with Wordpress, Drupal, or something other than Joomla. Joomla is more of a general purpose web application platform which you can build out with over 3,000 extensions to do all kinds of things that Wordpress and Drupal can't do period, or not without a much bigger investment in time and money. If you do need Joomla to be a strong CMS, you need to add some more things to it. Jxtended extensions--built by some of the longest-running Joomla core contributors--cover the primary gaps in Joomla 1.5 and make it more of a legitimate CMS. These are not free extensions, but they are inexpensive, well supported, and set the standard in quality.

Every Joomla 1.5 site can definitely overcome some core content-related deficiencies with Jxtended Finder and Labels. Will this be the case in Joomla 1.6 too, or will the 1.6 core need them less--I don't know. Many Joomla 1.5 sites will benefit from Catalog or Magazine, but these are essentially substitutes and workarounds for the weak core content management component. So are ZOO, K2, and the Jxtended/Art of Joomla Content Manager. Will any of this code make it into 1.6 or 1.7? We don't know that either. Which one should you use? It's a totally open question.

If you are trying to answer that question for a project, keep in mind that com_content is almost exclusively used by third party content display modules. Until 2009, "content" in Joomla meant "articles in com_content." If you go with an alternative to com_content, make sure it has or you can build the moduls you need for it.


Small but essential administrative, performance, and security enhancements

These are all free components, modules, and (mostly) plugins that ought to be used in every Joomla! site.

  1. Jxtended Reports - Pick off duplicate content and menu item aliases, articles without metadata, unactivated user registrations, get reports on search terms used, and dump tables to CSV files. search terms etc. Look up aging articles and send notices to the authors to update them. Allows frontend access to reports.
  2. Better Preview - Get a preview of what you are actually looking at in the backend, and get the relative URL copied to the clipboard.
  3. RS Finder - Search everything in the backend.
  4. Backend Activity Log - Monitor who did what in the backend. (A commercial version has more features.)
  5. Google Gears - Makes the backend run faster, from Phil Taylor.
  6. AJAX Toggler - AJAX ordering/publishing/access level toggles in the backend. (Sometimes hangs up on slow queries.)
  7. GuardXT - Essential basic security diagnostics, analysis, and maintenance functions.
  8. Ninja Security - This is a possible complement or alternative to Moovur or Easy Spam Killer if you know what you are doing and don't mind the work involved. Ninja Content is preconfigured to block known SQL injections, but it can filter any input you want, e.g. comment/contact form spam. Ninja Security will let you redirect the standard /administrator login panel to a secret address, but its main work is screening everything passed through URLs. IP blocking is possible and can be set to automatically block sources of suspected attacks. I found Ninja Security too aggressive against SQL injection to be used on comment and other text entry forms since it was set off by many legitimate posts, but each component installed in Joomla can be selectively omitted from the screening.
  9. Missing Metadata - An administrator module to list articles missing descriptions, keywords, or both.

Other promising security and performance enhancing plugins that probably should be wrapped into the core for efficiency and better basic security. (I haven't been able to fully test these plugins and determine where they result in conflicts or just don't work right, but their basic purposes are obviously good.)

  1. Double Login Blocker - Joomla will allow multiple sessions from the same user unless you use this plugin. Multiple user sessions can be annoying, inconvenient, and exploited.
  2. Redirect Failed Login - Throttle login attempts and send users who fail a login attempt to a help screen. This can deter crackers and help truly lost users.
  3. Disable Core Registration - If you use Community Builder, JoomSuite, AUser Manager, and other alternatives to the core Joomla user registration system (com_user), the core system is still available. Close that open window with this plugin. Alternatively, plg_reg_redirector sends requests to com_user for new user registration and also password recovery to CB (com_comprofiler).
  4. Registration Validator (cedit_blockdisposable) - Lets you screen new user registrations for disposable email addresses; specified domains and/or subdomains, usernames, IPs and IP ranges, bots in the BotScout database.
  5. RokGZipper or CssJsCompress - Compress your CSS and JS files. CssJsCompress gives you the option to compress only CSS, only JS, or both. You can also exclude specific files and components, use JQuery no conflict mode, and specify an order for the script libraries.

Why isn't there anything better than this?

Essential for lack of a better alternative, these are moderately clunky ways to do essential things the Joomla core should do: feed building, basic SEO for all pages, tagging, search that works, and custom actions on event triggers to create custom workflows.

  1. Syndication: BCA RSS Syndicator - Not perfect or in active development, but it's the only way to create custom feeds for articles by section and category. Fortunately Daniel Chapman of Ninja Forge has taken custody of this essential extension and we eagerly await its further development.
  2. Notifications: DY Notification Manager, JP Submit Mailer, and Notify Admin all offer partly overlapping ways to do basic and clunky email alerts to designated addresses or user groups based on certain event triggers, mainly related to com_content activity. For that reason they've been pitchforked into News Production Planned Content at the JED, but DYNM also handles additions and edits in the weblinks component.
  3. Tagging: There are a bunch of tagging systems for Joomla, and some suck less than others. I suspect the winners are mainly the commercial ones (Phil Taylor's Tags and Jxtended's Labels), but I haven't tried enough of them to say which is best. (See "Tagging: what counts, what's the best way?") Labels is probably the code with the greatest likelihood of joining the core, but with Joomla's section/category system in flux for 1.6 and no way to do category multi-mapping in sight, barring widespread adoption of one tagging system or one way of doing tagging in Joomla, I am leery of committing to any content taxonomy extensions, especially if they create their own database structure for the tags. That may not be very portable down the road, and it may just add weight that's not necessary. Keep in mind that some of Joomla's CCK extensions now offer ways to do a lot of things that involve advanced, custom content taxonomy as well. Give some thought to what is portable and what will be usable, if not used more (or become standard) in the future with Joomla 1.6 and beyond. 

    What is really needed is a standardized foundation for content taxonomy in Joomla. Until that happens, a lot of the simple tagging extensions seem attractive since they just use the existing keyword field for articles in com_content. JoomlaTags/Tags for Joomla is a free and complete tagging extension suite that works both ways--it can import keywords as tags and still use tags that are different from an article's keywords. The simplest solutions just display keywords as tags: AlphaToolbar, Zaragoza Clouds, etc. Tags that aren't more appropriate as category names may not be words that actually occur in the article, but they probably should be. Is there still thought to be a penalty for using keywords that aren't in the page content? I doubt it. Keywords are dead to Google if they don't correspond to the page title or description, so they might be ripe to use for tags. (See Tags vs. Keywords from a dated Wordpress user perspective and a view of museum archivists.) A variation of plugins like SEO Generator geared toward tagging might be useful--or just good autotaggers like Wordpress has.
  4. SEO: You shouldn't need extra extensions to give major index pages (section and category views) meta-descriptions and keywords, but you do: RS SEO adds metadata fields for all menu items. SC Meta is another option, as is Zaragoza SEO Complements which includes other SEO improvements, like title tag improvements. SEO Simple is good for title tags specifically. Content Search SEO looks like a good idea--it generates automatic title, description, and keyword metadata for any search result page using Joomla's core search component. If you want a real SEO boost to get your new articles indexed fast, tweet them. There are some plugins for tweeting articles automatically and to let your visitors do that. Automated tweets can also be generated by TwitterFeed and similar services. (Likewise, automated posting to Facebook profiles and pages via Twitter or RSS using Facebook applications.) Twitter posts are almost immediately indexed by Google, at least if they mention Joomla! or other high-relevance keywords.
  5. Site Search: Jxtended Finder is the (commercial) solution. If you just want to improve the sub-mediocre Joomla core site search, the best thing you can do is make search results sorted by search term density by default or offer this as an option to filter results. To do that, you need the Keyword Density search plugin. As with tagging/taxonomy issues, search is really an essential core function in any web content management framework that needs to be done well in one "official" or at least widely adopted way to foster mass integration with third party extensions. The value of the core search in Joomla, despite its shortcomings, is that a large number search plugins exist to make it work with many third party extensions, rendering their content searchable as well through the core com_search component. If you use an alternative system, you lose this benefit or must do custom coding to get it back or else resort to a third-party search service like Google which can involve giving up screen real estate to their advertising (which may be desirable if you like Adsense) and depends on full and frequent indexing of your site by the third party search engine.
Other desiderata: Joomla and related applications handle user registration and management poorly. This will improve in Joomla 1.6, but the whole concept of user registration as a discrete, intentional, one-time process is regressive. The Lazy Registration (really Smart Registration) concept is the best way forward, especially for social/membership based sites.

Fudging multi-site capabilities, FOR FREE

Some interesting possibilities here: Working Copy and Virtual Domains. Working Copy is actually a system for creating a test clone of a Joomla install that can be modified and then merged back into the live site. See a video demo here. mtwMultiple is the only free extension offering a multisite capability. Not well-explained or documented, home site is a mess, no comments or ratings at the JED. Is there gold buried here?


Jxtended Plug

As you can tell from their presence in the preceding lists, I think Jxtended extensions add some pretty important features to most general-purpose Joomla sites. Buying them also supports a couple of long-time core Joomla developers. As I mentioned before, Jxtended Comments and code from several other extensions will be used in the Joomla 1.6 core.

948 Votes

0 Comments

Add Comment


    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)



    Click to get a new image.