Workarounds for Common Open Source Bugs
Experts offer advice on modules and alternatives to combatting common issues.
The occasional technological glitch has become commonplace in many publishers’ move to digital, and open source CMS platforms are certainly no exception to this rule. On one hand, publishers using open source solutions have access to a vibrant online community, which makes it easy to ask questions in a forum and receive help within a few business days. But for immediate open source gratification, it’s helpful to be armed with some common modules and workarounds that solve platform gripes.
“If there’s a bug we always fix it in the next release, so it’s never around for more than a month or two,” WordPress founder Matt Mullenweg told CMS Insights. “The most common issues aren’t ones that are bugs, but generally mistakes from users, typically when they’re trying to modify their template or CSS. If you do find a bug in open source software, the community is typically very receptive to finding the source of it and fixing it as soon as possible,” he added.
This is encouraging for open source user like Andrew Berman, executive vice president of NMP Media Corp. (National Mortgage Professional), who relies on Drupal’s modules. He’s found that common glitches “most likely to happen in the way you create your themes. Sometimes Web editors want the themes to be a certain way, and the implemented CSS won’t allow them to do this.” But for Berman’s site, which sees “a few thousand unique per day,” his more recent dilemma posted in the Drupal forum is how to best optimize their database (to free up server space) due to a recent traffic increase.
Fixes for Common OS Issues
Regardless of the glitch (or a mistake on the part of the user, as Mullenweg classifies the majority of these bugs), knowing what modules are available as well as the workaround options can’t hurt. While there are certainly a number of widely-used systems, CMS Insights spoke with Drupal expert Chris Free, director of Chicago-based Web development firm Chromatic, which develops sites including The Great Political Debate, and Louis Landry, development coordinator at Joomla, for ideas on how to get solve common open source complaints. While experts confirm that glitches within Drupal, Joomla and WordPress—and the majority of OS systems—are generally remedied in a few months’ time, here are some quick fixes for the time being:
Optimizing Servers. With Joomla, the most common problem publishers have is that their servers are not set up optimally, said Landry. As a result, there are problems installing extensions and “doing other things that require proper handling of file ownership,” he said. He recommends that servers have suPHP, fcgi, PHPSuExec, or an equivalent. More importantly, the Joomla Extensions Directory can modify the limitations in the current version of the platform.
Caching. “We constantly hear from our clients that things aren’t publishing out,” Free said of Drupal. “The trick is to empty the system cache for the actual CMS.”
Category and Structure. One limitation within Joomla is the section/category structure, said Landry. To work around this without using an extension (which new users often miss, he said), is to rely on the menu system rather than the on the fly navigation. “This means having one master menu and then structure all of your content using sub-menus and has the advantage of giving you detailed control over your URLs, which is probably the other most commonly discussed topic.” To set up your site to take full advantage of menuing, Landry suggests mapping out your plans for hierarchical navigation. Then create one master menu with sub-menus that reflect this hierarchy.
In Joomla, presentation of menus is done via modules. Depending on how the site’s look, publishers may want to make a separate module (ja copy of the main module, but with slightly different parameters) for each sub-menu. Another approach is to use one module and control which levels are displayed. Experiment with start level, end level, and whether to display sub-menu items to get the display you want.
Browser Issues. Does your content publish correctly on Firefox but not Internet Explorer? There’s a reason. “That’s a bug in the Drupal system,” said Free. “Typically we tell people to use Firefox when managing content since it does the least amount of damage to markup (IE is a prime culprit).”
Formatting. For anyone knee-deep in the OS world, formatting can be the bane of your existence. The trick, said Free, is not to copy and paste copy directly from Microsoft Word, but do everything in a plain text editor and suggested online resources that can strip out these egregious markups. “It’s not fool proof, but is helpful,” he said of the available modules, which are like plugins. Once installed, these editors create rich text and function as other word processors (albeit very basic) that write the corresponding HTML as you type.” Try:
Permissions. A general complaint with regards to Drupal is “‘I’m trying to change a page on the site and my changes aren’t sticking,’” said Free. Enable the “content permissions” helper module that comes packaged with the CCK as a first step. If it’s already enabled, check the field permissions for that user at “admin/user/permissions.” By default, only users with administer CCK privileges can edit/view each field, he added.
User management. This is key in Joomla, particularly if you have an existing user list to bulk import, said Landry. The process involves updating three tables:
Often “users miss a table when doing the import,” he said. While there are extensions that can help, if updating is an occasional task, “this is just as easy,”
First, Landry suggested creating a record for each user in jos_users. If using CSV, it will look like:
While most of these records can be left blank, create registered users by setting user type to "registered" and "gid" to 18 and include name, username, email and password. He suggested setting activation to 1 for users (unless you plan to activate each by hand).
“Since all Joomla 1.5 installations have a user with ‘value’ of 62, I would recommend starting with a value of 63, assuming that you don’t have any existing users,” he added. The Jos_core_acl_aro table should read:
Be sure to have a record for each user where "value" is the same as the id in the jos_users table. The other two tables can be left blank. In jos_user_usergroup_map, list each user and the group number they’re assigned.
If your user list is CSV, SQL compatible, these three tables properly set up you can easily import them using PHPMyAdmin.