Drupal/Joomla Site Owners


It's official: Drupal 6 will be going the way of the dinosaurs on February 24th, 2016.

Have a look at the official announcement

Sites still running Drupal 6 could continue to do so, but without Drupal community support. This means you'd be on your own when it comes to security issues, patches, and the like. If you're running a dedicated or virtual dedicated server, you can of course continue running PHP 5 but eventually that too will become untenable, because if you have PCI scans the scanner may force you to upgrade PHP, for example.

Updating Drupal 6 to 7 (or 8! is not easy but we have tools in our arsenal to get it done. 


We receive our fair share of RFPs and often have mixed feelings about how to respond to these. All too often such RFPs are just companies or organizations going through the motions, when they may already have an agency selected. Other times the client has done a lot of internal work and stakeholder discussion to get to this stage, but have not yet involve an agency. We feel it's important for clients to know that early involvement of a web agency can be the difference between project failure and success.

Clients often start a project with pre-conceived notions.

By the time clients contact web development agencies, they often will already have formed ideas about problem definition as well as the correct solution. Many times, these are based on incorrect assumptions about the nature of the problem, subsequently exacerbated by deciding on a solution without first asking some important questions. This often takes the form of an RFP (Request for Proposal), which may mean the project is already fairly far along. This is a shame, because it would benefit clients to work with a web development agency earlier on, to define the problems, goals, and scope. Such planning can save a lot of grief later in the process.

Asking the right questions to understand the client's needs:

Following are a few examples of typical issues that come up, and how we might ask questions about these:

Client: “We need this site built with XYZ.” (insert Drupal, WordPress, or Joomla here!)
Us: “Why XYZ rather than {insert other CMS name here}? How did you come to that conclusion?”
(The point of this question is to understand WHY the client selected WordPress. Ideally this decision-making process would involve input from the eventual web developer, who could advise on the merits of one CMS over another.)

Client: “Here is a list of 10 pages we must have in the new menu.”
Us: “Why so many items? Users won’t know what to focus on. We need to cull this list.”
(Often older sites will contain a slew of menu items, which make visitors’ eyes glaze over as they hit their browser’s Back button, or they continue to search your site in frustration. The short answer here is that less is more, and giving visitors fewer choices initially is much better than throwing a dozen of different things on the screen at once.)

Client: “Please make our site SEO-friendly, too.”
Us: “What are your goals, in terms of SEO? Which keywords matter most, and which pages are top priority? Who on your end will be editing content?”
(SEO is not just a one-time technical implementation, but a process. It requires ongoing content addition and editing, so it is as much a workflow training issue as it is a technical implementation issue.)

A project is never just about one goal or one thing.

There is always more than meets the eye, and it is our job as information architects, web developers and project managers to uncover all of those aspects of a project.  

First, we find out what the client believes the problems, needs, and goals to be. Then we set out to uncover items the client may not have considered, or may have overlooked. This can lead to some very different project scopes by the time this discussion is over.

Asking the right questions early on can make the difference between a bloated scope, a lean and mean scope, and a "staged happiness" approach. This helps the client know what their options are, and know that they have considered their options carefully and with sufficient technical input. 



  • Pretty, easy to use, great for blogs and basic sites that don't need too much customization.
  • Has a good built-in SEF URLs (search engine friendly URLs) system that's easy to configure and use, as long as you are coo with the same URL pattern for all blog posts / pages.
  • Many plugins that can extend its functionality. However, the best WordPress installations rely on < 10 plugins. More than that and you're likely to face some upgrade issues eventually. Choose your plugins wisely.
  • Automatic updates. This is a great feature; just make sure you also have a backup system in place in case the automatic upgrade breaks your site. We haven't seen it happen yet, but it could.
  • Mobile-friendly admin interface and tons of responsive themes
  • Again, it offers loads of plugins and themes, but many of these are commercial and require commercial support. 


  • Version 3+ is pretty, pretty easy to use
  • Can be used as a CMS (mainly) but also for blogging.
  • The URL aliasing system still leaves something to be desired. This can be partly overcome with addons like sh404SEF.
  • Mobile-friendly admin interface and a decent selection of responsive templates
  • Joomla itself is free, but many of the best add-ons are commercial, and require subscriptions in order to keep them secure and up to date. You should be using the best commercial addons because there are many shady third-party add-ons out there, and while free, they will cost you much more in the long run because they will wreak havoc on your site during your next major upgrade. Choose your Joomla extensions wisely!


  • Its name is Dutch, meaning "water drop". So that's an advantage over WordPress or Joomla right there. Admittedly, we're biased. Plethora Design's founder, Casper Voogt, was born in Amsterdam. 
  • Super extensible. At its core is a system of content "types" and fields, so you can design your own content types, whether it's for news, blog posts, products, user profiles, and so on. 
  • It has Views. Here at Plethora Design we LOVE Views. And it ships as part of Drupal 8's core! You might be wondering what this is. It's a query builder that comes with many display options. You can display a list of content as a table, responsive divs, bulleted list, slideshow, iCal feed, CSV export, and so on. This allows you to reuse content items in a myriad ways, all the while exercising full control over the code output, so that you can style specific content fields discretely. Joomla and Wordpress, by and large, do not offer this granular level of control. It can be added, but takes custom coding to accomplish in most cases. 
  • Features an awesome ACL / permissions system. It is incredibly granular, such that every add-on can add its own specific permissions as it sees fit. Joomla 2.5 and 3 offer similar ACL controls, though these have been baked into Drupal for over a decade, whereas Joomla is still absorbing these new features.
  • A critique of Drupal has long been its seeming lack of good themes when compared to WordPress and Joomla. This is partly true, because Drupal is more developer and enterprise oriented, so there is a certain expectation that the functionality and theme will be custom-built or at least heavily customized. As such, there are not many commercial ready-made Drupal themes out there, but there are some truly wonderful "base themes" such as Zen and Omega, which are the only ones we work with on Drupal sites. The beauty of using such frameworks is that the framework is free, and enables you to leverage a community of many thousands of dedicated developers, versus relying on a commercial entity to provide support. It's a great choice if you need to exercise a great deal of control over layout, but don't want to reinvent the wheel. All the bells and whistles you might see on WordPress and Joomla sites can be done with Drupal, and then some. It's just that Drupal is geared more towards those who have a need to heavily customize workflows, content types, layouts, and so on.
  • Out of the three, Drupal has the strictest coding standards. It has unit tests and processes in place that modules (add-ons) must pass before they are approved for general use. There is a spirited community that reviews modules, and as a result Drupal modules tend to be capable of more robust functionality than many (not all!) Joomla / WordPress add-ons. And if you don't like some aspect of the user interface you have the freedom to change it. As they say in Drupal-land, "there's a module for that". 
  • Debugging Drupal modules is more straightforward. This speaks to how Drupal attracts more developers than either Joomla or WordPress. Drupal has automated testing and patch testing in place to ensure code is up to snuff. This avoids much of the ridiculous forum discusssions on Joomla and WordPress forums, which often involve hard-to-reproduce issues which are subsequently no tracked as bugs. With Drupal, the default position is to track issues as bugs and resolve the in a an orderly fashion that benefits the community at large.

OK, let's be honest. We favor Drupal. But Joomla and WordPress can be very good choices for some projects, and we do recommend these for new projects all the time. When planning a project, just make sure to plan for eventual 'enhancements' and extra functionality, because more often tban not these things will happen.

Out of the three, Drupal may have the highest learning curve, but it does offer the most flexibility in terms of handling any complex requirement you may throw its way. For even greater flexibility you could build your own home-grown CMS, and in many ways that is what Django does, but that is for another post.


We've been revamping some customer Joomla sites, moving them from Joomla 1.5 to 3.2. The migration process means a move to Joomla 2.5 and a subsequent move to 3.2. It's a bear, but it's worth it. Joomla 3.2's admin interface is far superior to even Joomla 2.5's. I personally LOVE the Isis administrative template. It's mobile-friendly, and pretty intuitive. Much of the mundane, repetitive work of managing articles, modules, etc. is now much easier. Batch processing has been made available throughout.

Now the bad: if you want to be able to add custom content fields you will still need to use something like K2 (getk2.org), Zoo, Seblod, etc... see http://extensions.joomla.org/extensions/authoring-a-content/content-construction. K2 is the only one we have used and could recommend. The lack of CCK within Joomla core is indicative of Joomla being more of an out-of-the-box CMS than a 'framework'. Drupal has had CCK built-in since its inception, and has very powerful entity handling for individual fields. Each field can be formatted and displayed differently, and this can be done via an admin interface (using default Structure > Content Type > Display, or using Display Suite), or by custom-coding the display in your template (TPL) files, or using custom display formatters (plugins). You can even combine data from several fields into one, using Computed Field.

Drupal 8 is still in the works, and promises full mobile support as well as editing-in-place, with no need for page refreshes. If you don't want to wait for eight, you can install the Edit module .. see https://drupal.org/project/edit. I'm not yet sure how this interacts with the Autosave module; it may not save auto-saves the same way as before.


All too frequently we hear from customers who have handed over the login details for their domain registrar (GoDaddy, NameCheap etc) only to have their web designer transfer the domain to another registrar that is outside the customer's control. The end result is of course that the customer then becomes dependent on that web designer and must beg and plead (and sometimes even pay fees reaching into the hundreds of dollars) just to get control of their own domain again. In a similar vein, many web design companies that also offer (or insist) on hosting your site for you will not provide hosting control panel access. This is a red flag, because it makes it impossible to save a backup of your site, again making you dependent on that web designer / webmaster. Please, at all times make sure you maintain control of your domain name(s)!

If you must provide someone with access to your domain name management area, make sure you have a clear idea of what it is they intend to do with that access. If you're using GoDaddy, you can assign someone as an AccountExec, so that they cannot change the account password on you. However, even with AccountExec access they'd be able to transfer the domain to another registrar if you're not careful.

It's your site: make sure you retain full control over it, even if you don't want to manage it on a daily basis!


The Joomla! Project is pleased to announce that the first Joomla World Conference will occur in November 2012.  We are very happy that eBay has graciously offered significant support for this event, inviting us to use their facilities in San Jose, California.

Here are the preliminary details for the Joomla! World Conference:

Date: 16th-18th November 2012


eBay Town Hall

2161 North First Street

San Jose, CA 95131


Tickets: Price for a 3-day Ticket is $199 USD

More details will follow next year.



Recently we needed to set up a simple e-mail distribution list for a client, so that when anyone sends an email to "listname@site.com", it gets sent to a list of recipients. 

That sounds like a simple thing, but is not as easy as it appears, at least not with cPanel - in our case, anyway. An unmodified installation of cPanel would normally include a way to create a mailing list (in the Mail area). That uses Mailman. However, some hosts turn this feature off because it uses too much CPU. There are not very many third-part alternatives out there; we looked at Minimalist and Dada Mail, and also looked into installing Mailman manually. This all seemed like overkill for something that should be a simple task.

The other possibility would have been to add an email forwarder in cPanel, using a comma-separated list of recipients. That is apparently possible in some cPanel installations, but not in our case. 

The solution we finally settled on is called Mailster, which is a Joomla add-on. It retrieves the mail from a POP3 or IMAP account and sends it to your recipients, using either an SMTP connection or the default Joomla mail settings. It also comes with a Joomla content plugin that allows you to create a signup form within a Joomla article. Getting Mailster configured was pretty straightforward; you just need to know your email address's connection settings for POP3 / SMTP. 

If we weren't using Joomla on this customer's site, we might still be looking for a simple distribution list solution. This was a great find, and we hope this helps someone else too.


For several customers we have needed to find a way to show Flash ads that can also track the clicks on those ads. We needed a way to embed Flash using Joomla's banner system, which lets you insert Custom Banner Code. We use AllVideos Reloaded, so go ahead and download that (it's free!) and consult their help files to get familiar with it.

In a nutshell, we looked at the {flash} Tag/Preset in AllVideos Reloaded, copied and pasted the Player Template Tweaks, and then created our own {flashad} tag so we could customize the player's code to our liking. We are still using the "swf" ('Plain flash embedding'') player that comes with AllVideos Reloaded. No need to create a new player.

Creating your custom Flash tag for AllVideos Reloaded

  • Navigate to Components > AllVideos Reloaded > Manage Tags/Presets.
  • Click New
  • Give it a name. In our case we called it "flashad". This will be the {flashad} you can use in the custom banner code.
  • Enter a description
  • Skip Version.
  • Sampling regex: ^(.+)\.swf$
  • Check "Local"
  • Skip Playlist
  • Player: "Plain Flash embedding" (this is the "swf" player referenced earlier)
  • Skip Ripper
  • Player Template Tweaks: enter "@MURL@" and "images/banners/@CODE@" (no quotes!).
  • Click Save

This allows us to place the following Custom Banner Code in our banner:

{flashad width="300" height="250" wmode="transparent"}sample-file.swf{/flashad}

See Flash Ads with Joomla's Banner System for how to do that.


You may also want to read Adding a Joomla Banner Ad (Image or Flash).

Joomla's banner system lets you track clicks and impressions on image ads (GIF and JPG). But what about Flash? Even though iPad may be forcing a change in how much Flash advertisers use, it is still pretty common. So how do we track the clicks on a Flash ad? You can't simply upload your SWF to images/banners, select it when creating a banner, and be done with it. If you do that, the ad A) won't appear and B) won't track clicks. Here's our solution (this is for Joomla 1.5):

  • Log in to Joomla  and create a banner client and a banner in Components > Banner. 
  • After the banner's been saved, you can find the ID in the right-hand column of Components > Banner > Banners. Give this number to your advertiser along with this FLA file. They can then make their ad and export an SWF. 
  • After the advertiser sends you the SWF, upload it to images/banners and edit the banner, setting the custom banner code to point to the SWF. There are a number of ways to do this. Our preferred method uses AllVideos Reloaded, and is a small tutorial in itself.

Download a sample Flash FLA file


Joomla 1.6 is finally has finally been released. View a demo at demo.joomla.org.

Some highlights:

  • Much finer access control (ACL)
  • Better multilingual support
  • No more sections; only nested hierarchical categories.
  • Mobile-friendly enhancements
  • Plugin overrides (using the template folder to avoid core code modification)
  • much more!

Upgrading to Joomla 1.6 is not super straightforward yet - it is not built into Joomla just yet. You can check out JUpgrade but you will need to copy files from the /jupgrade folder back to the main site. This is a good thing, because it gives you a chance to check that it is working. You will need to carefully check that your extensions work after the upgrade.