Joomla! jumpstart: 8 tips and best practices from Joomla! developers
Expert advice for using the popular open source Web content management system
by Daniel P. Dern - Many of today's web sites and other online applications aren't just about presenting a few facts, but are about providing content, from blog posts, comments, Tweet feeds, and short headlines to product information, audio, pictures, videos, PDFs, and more. This is increasingly true not just for media companies but also for a growing number of businesses, not to mention government entities (agencies, departments, cities, states, countries), transportation/travel, organizations, and more, along with SOHOs and professionals, families and even individuals.
Much of this content is meant to be put in by non-HTML-experts, who in turn aren't the site developers or administrators. And many designers and developers want higher-level tools than the HTML editors of yore to create and manage these content-intensive sites.
Enter content management systems for web sites, a.k.a., Web CMSs.
"Managing content means managing user accounts, managing the media, and managing the content itself, the article copy, the menus, overall design," says Mitch Pirtle, co-founder of Joomla!, one of the two best-known and popular web CMSs. (The other is Drupal; both Joomla! and Drupal are open source projects.) According to Pirtle, Joomla! users range from a world-wide company with 20,000+ staff to "a site for his two kids." Other Joomla! users include MTV Networks Quizilla, the IHOP restaurant chain, and Citibank (internally).
Here are some tips, advice, and best practices from several Joomla! developers, including Mitch Pirtle.
Create custom content types - "Joomla! lets you install a Content Creation Kit (CCK) to define custom types of content," says Pirtle. "You can create a type like STAFF, and then an admin or HR person who doesn't know HTML can click 'STAFF MANAGER' and have a form that lets them plug in data, and that information goes into the web site. Because it's used in a CCK, the site's search features -- there's a plug-in for search -- are automatically aware of this information."
Use the Joomla Framework, and its built-in features - "The Framework has Classes that provide filtering and 'scrubbing' for sanitizing user input -- fetching data from sessions and URLs, reformatting the data so it's safe going in and out of the database," says Pirtle. "We've seen third-party extensions have security issues, usually because they weren't respecting the API or using all the security features. For example, Joomla! has a database Class that has protections against malformed SQL and user input...but you have to use those features. Don't reinvent the wheel, our code has been written and reviewed by thousands of people, yours will be less optimal on your own."
Tap into the Joomla! community - "JED, the Joomla! Extensions Directory, lets you list your extension for free, as long as you observe and respect the rules of the Joomla! project," says Mitch Pirtle. "This opens up your market, versus just putting it on your web site.
Similarly, urges Pirtle, if you're a developer, list yourself in the Jooomla! Resources Directory, which includes listings for consultants, freelancers, extension providers, educators, support services and more.
Be involved - "There's a lot of training out there for Joomla!," says Pirtle. Plus, of course, numerous books, articles, and web sites. Also, "Network," urges Pirtle. "Look for a user group in your area, whether to listen to what's happening, or have questions. A mailing list for people in our area is a great way to keep current."
"Involvement in the Joomla! community is good for business too," says Rick Blalock, Part-Owner, Expression in Design, LLC. (XiD), primarily a Joomla consultancy company with 90% of projects based on the Joomla platform. "I get new lead calls and emails every week because of a blog post I wrote on Joomla, or an extension we built, etc. Joomla's eco-system, I think, demands that you let everyone know you do Joomla. It's not just a CMS, it's a market in itself - from mom-and-pops to the enterprises."
Stretch your budget - "Getting a Joomla! site to look the way you want it is one of its strengths," says Mitch Pirtle. "You can do skin and theme it, there are hundreds of template companies doing nothing but that, for $10 to $20, or for yearly subscriptions. A lot of these are very powerful, letting you save money on a designer."
For a new site, "Decide whether you will use a commercial template, do your own design, or customize a commercial template," says Tamar Schanfeld, Joomla! Project Manager, ShofarSites, which creates websites for synagogues, and TNR Global, which does corporate websites, and Joomla! training and support. "There's a big difference in the pricing. Custom design by a designer can be thousands of dollars and up, while commercial templates usually start at $40 and up, and you can customize them. I usually recommend using an existing template, if that's an option."
Start simple - "Know what your primary goal is, and limit features to what supports that goal," says Barrie North, from SimplWeb On Demand Joomla Hosting, author of Joomla 1.5 -- A User's Guide, and of CompassDesigns, a site with free Joomla! templates, tutorials and a Joomla! news and tips blog. "You never know what people want, your visitors are looking at it differently. So consider launching with the minimum feature set and see what sticks, and then add more, tweak things based on feedback. I have a number of sites with hardly any extensions. Each extension adds complexity and maintenance."
Do site backups! - "It's important to make backups of your Joomla! web site," stresses Jen Kramer. "If you lose the site, having a backup is important. When you work with a CMS, there are all kinds of updates besides content being made to your site. And since much of the work is done right on the web server, you don't generally have a backup copy on your computer, e.g., of shopping cart orders, user comments, etc."
Clarify - "When a client says they want a blog or calendar, check what they mean by those terms," says Jen Kramer, Senior Interface Developer, 4Web, Inc., which builds highly customized Joomla websites. For example, if a client says they need a calendar for their website, don't just run over to the Joomla Extensions Directory and pick one from the list. "It's much better if you ask a few questions first, like, How many events per day/week/month/year do you have? Do those events require registration? Who will need to enter new events or update existing events? Do you need a calendar display on the site, or might a list of events work better (or in addition to the calendar)?"
Some clients have one event a year, but they feel they need a calendar, which would then be empty for the other eleven months of the year, Kramer points out. "Other clients don't realize event registration as a possibility. The majority of clients don't have a plan for who can enter new events or update existing ones. A few questions can help pick the right calendar, or identify that you don't need a calendar at all!"
And that's just the tip of the iceberg... or of the Joomla! web site. If you're a Joomla! developer, what do you like? If you're a prospective Joomla! user, what do you want? (And if you haven't tried Joomla! yet, sign up for the free trial account via the Joomla! site, like I have... now to make the time to try it!)