Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Joomla! A User's Guide 117

Michael J. Ross writes "Of all the content management systems (CMSs) from which a Web developer can choose for creating a new Web site, Joomla is generally considered to be one of the top choices -- partly because an experienced developer can create an attractive site faster with Joomla than with the majority of other CMSs. However, Joomla's online documentation leaves much to be desired, as is true for most if not all CMSs. Intermediate and especially new developers need a clear and comprehensive resource that can explain the terminology, customization, administrative panel, and other aspects of Joomla. A promising candidate is a book written by Barrie M. North, titled Joomla! A User's Guide: Building a Successful Joomla! Powered Website." Keep reading for the rest of Michael's review.
Joomla! A User's Guide
author Barrie M. North
pages 480
publisher Prentice Hall PTR
rating 8
reviewer Michael J. Ross
ISBN 0136135609
summary learn how to create and manage a website powered by Joomla!
It was published by Prentice Hall, under the ISBNs 0136135609 and 978-0136135609, on 21 December 2007 (although page 233 confusingly suggests that the material was written in November 2006). The book is available not only in print, but in electronic form as well, as part of the Safari Books Online library. On the publisher's Web page for the book, visitors can read the table of contents, the preface, and the index. Also, they can download a sample chapter -- "Creating a Pure CSS Template" -- as a PDF file. Lastly, visitors can check for updates to the book's content, i.e., reported errata, of which there are more than half a dozen, as of this writing.

The majority of the book's 480 pages are organized into 12 chapters, covering a number of topics: an introduction to CMSs and Joomla; installing Joomla; administration basics; content management; menus; extensions; WYSIWYG editing of content; search engine optimization (SEO); building a table-less template; and how to build Joomla sites for a school, a restaurant, and a blog. Four appendices cover: getting help on your Joomla problems; case studies; SEO basics; and installing WAMP5. The book offers plenty of screenshots, which make it possible for someone to follow the discussion even when away from their computer. Sadly, much of the text shown in the illustrations is extremely small, and could prove very difficult to read for anyone with diminished vision. Even some of the captions are so small as to almost require the use of a magnifying glass. Moreover, the illustrations are printed in light gray, which makes the situation even worse.

The intended purpose of the book is "to guide a non-technical user step-by-step in learning how to create and manage a website powered by Joomla" (page 7). The book is definitely geared towards people new to Joomla, and even new to Web development, given the amount of elementary material covered, such as the author's explanation of Joomla's need for a Web server.

In the preface, the author touches upon the growing popularity of Joomla for a wide variety of Web sites. He also mentions that PHP and CSS are not prerequisites for understanding the book; however, readers not well experienced in those technologies will struggle in implementing everything described in the book -- especially templates -- and this is substantiated by readers' comments online. Admittedly, a book that provided adequate coverage of PHP, CSS, and then Joomla, would likely be overwhelming in length. Readers unfamiliar with PHP and CSS should first secure a basic grounding in those technologies, prior to trying to create their own templates or other Joomla extensions. On the other hand, if a reader has no intention of creating any extensions of their own, then they can still use Joomla to build a new Web site, and use this book to learn how to do so.

In the first chapter, the author provides a valuable introduction to CMSs and the advantages they offer in separating content from the Web pages themselves. However, he refers to Joomla as a rebranding of Mambo, while it would be much more accurate to characterize it as a derivative project, having forked from Mambo, which still exists (sort of). The author also lists Joomla's major features, and the basic elements of a Joomla-powered Web site. Installing and configuring a CMS -- particularly for the first time -- is oftentimes a major stumbling block for any Web development newbie. Chapter 2 steps the reader through the process of downloading and installing the latest version of Joomla (the book uses version 1.5 RC1).

In the third chapter, the author explains the most commonly used administrative tasks, and how to accomplish them in the Joomla 1.5 administrative panel. He intentionally does not cover all of the administrative settings, and this may prove frustrating to some readers who are looking for comprehensive coverage. Yet he does note that such readers should consult the official Joomla User Manual. Also available is the Administrator Manual. The fourth chapter describes in detail how Joomla displays content in pages, how it organizes that content in sections and categories, and the role played by the Front Page component. It concludes with a discussion of how to create menu items and how to connect them to components, as well as how to use module content. Especially valuable to Joomla beginners is the explanation of the two methods of deciding what content appears on a site's homepage.

As noted in the preface, the relationship among menus, menu items, pages, and modules, is one of the most confusing aspects of Joomla -- even after the improvements with version 1.5. In Chapter 5, the author explains this relationship, and then the major menu layouts and how to control them using the various sets of parameters. He mentions the overriding of global settings, and this points up how, prior to this, the book should have explained where to change those global settings, and recommended values. The index is of no help, because they are not mentioned. In Chapter 6, the author shows how to install and manage extensions, which comprise components, modules, plug-ins, templates, and languages. (Templates were missing from his list presented in the book's preface.) Chapter 7 examines the use of WYSIWYG editors for changing content on the back-end and front-end.

The most functional and attractive Joomla-powered Web site will be of little value if it receives few visitors. Thus, search engine marketing (SEM), discussed in the eighth chapter, is of critical importance, and the author's largely sensible advice is worth reading -- despite the nonsensical reference to cowboys and cowgirls (on page 198), and his reference to the "miserable failure" Google bomb, which was diffused back in January 2007. Note that the links provided to the SEM tools strongly recommended by the author -- WordTracker, PR Prowler, and Perry Marshall -- are affiliate referral links. Thus it seems disingenuous when he writes "...this might be the place I would have a few affiliate links!" (emphasis added). Speaking of emphasis, it seems as if too much weight is given to resources from which the author would receive affiliate compensation. This is not what readers typically expect in a book for which they have paid good money. Also discussed in the chapter are the important topics of Web standards, accessibility, keywords, referral traffic, pay-per-click traffic, Google AdWords, e-mail traffic, and common SEM mistakes. He correctly points out the low SEM value of Joomla's native "Read more..." anchor text. But his recommended solution, a mambot from Run Digital, does not appear to work with Joomla version 1.5.

Most of the templates written for Joomla and Mambo have used tables for page layout, instead of the more accessible and efficient CSS approach. CSS- based templates are only now becoming increasingly available, and Chapter 9 furthers this worthy goal by stepping the reader through the development of a pure CSS template. As noted earlier, readers unfamiliar with CSS will most likely find this chapter quite daunting, if not disheartening. The book's overall tutorial approach kicks into full gear in the last three chapters, in which the author shows in great detail how to create Web sites for a school, a restaurant, and a blog site. This material could prove very helpful to readers who wish to review and put into practice the more theoretical ideas introduced in the earlier chapters.

In general, readers should be pleased with this book. Even though the author is clearly a fan of Joomla, and the tone of the book is positive, he does not hesitate to point out Joomla's flaws, such as the misleading name of a module type. This is rare among technical authors nowadays, and for this Barrie North should be commended. Yet it is odd that he does not mention the obvious misspelling, "Imagess," in Extensions > Module Manager > module > Other Parameters.

Sprinkled throughout all of the chapters, the reader will find short paragraphs, with a dark background, labeled "The Least You Need to Know." These summarize the preceding paragraphs. This could perhaps be justified after a significant number of paragraphs, but unfortunately they also appear after just a couple paragraphs, which makes these "LYNTK" boxes redundant and unnecessary. Even worse, every chapter ends with a summary, which further repeats the boxes' content. With the book nearing 500 pages, the chapter summaries and even the LYNTK boxes should be excised, to good effect. Also, most of the chapters contain at least one footnote, which are not located at the bottom of the page or collected in a special section at the end of the book (as is traditional), but instead listed at the end of the chapter. Such material should instead be integrated into the text, if it is important enough to be included in the book, or left out entirely.

The writing quality of the book is generally solid, and the writing style is straightforward and friendly. Yet it does contain some blemishes that should have been caught by the publisher's editors, e.g., multi-word adjectives missing hyphens; misuse of the terms "that" versus "who"; inconsistent use of lowercase and title case for Joomla roles, even in the same paragraph; the same inconsistency in menu names, such as in Chapter 4; and the inexcusable "try and explain" (should read "try to explain"; page 19, among others). Thankfully, the author intentionally leaves off the silly exclamation mark from the Joomla name, starting after the preface, for greater readability. The book contains some misspellings/errata, such as "eXtensible" (page 2), "Wordpress" (pages 7 and 8), "over writing" (page 22), "Cpanel" (pages 27 and 29), "php html" (page 148), "api" (page 150), "flash" (page 209), "sight" (should read "site"; page 221), and "add fee" (should read "ad fee"; page 225). The author incorrectly states that the acronym PHP stands for only "Hypertext Preprocessor," but it actually is now a recursive acronym of "PHP Hypertext Preprocessor."

Overall, the book's production quality is up to snuff. The book stays open fairly well, despite the absence of any special lay-flat binding. The pages were produced using recycled paper, which is always encouraging to see. Unfortunately, the pages are thinner than in any other technical book I have ever seen, thereby allowing the text on the other side of each page to show through. This exacerbates the aforementioned problem of the text within the figures being difficult to read. Moreover, all of the copies that I have seen have an unusual diagonal ridge along the bottom edge, suggesting that the page cutting machinery was malfunctioning -- at least for one batch of copies produced, and perhaps more. In addition, some of the pages have small ink blotches. At a list price of almost $45, the book might seem a bit pricey. But online bookstores are fully discounting it, such as Amazon.com's current price of under $30.

The book may have some minor weaknesses, noted above, but otherwise, Joomla! A User's Guide is a logically organized and potentially quite valuable resource for beginning and intermediate Joomla developers -- perhaps the best Joomla book currently available.

Michael J. Ross is a Web developer, writer, and freelance editor.

You can purchase Joomla! A User's Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

Joomla! A User's Guide

Comments Filter:
  • Joomla is wonderful (Score:4, Interesting)

    by xevioso ( 598654 ) on Wednesday June 11, 2008 @02:51PM (#23752499)
    I am actually developing a site with Joomla right now for a large client. This was my first time actually developing a fully-functioning CMS-based site like this, even though I have been developing sites for a long time. It is a breeze to use. It was difficult to set up, only because I am not a php and database expert and the server we set it up on did not have all of those things installed from the get-go, but an experienced php/mySQL user can deal with the configuration issues with no problem. However, Joomla 1.5 is a breeze, as long as you are experienced with CSS/HTML. It is actually mostly intutitive, with the exception of understanding sections vs categories and their relationship to the overall menu structure, but a quick read through the online help for this solved the problem. I went with this over Drupal partly because it is so easy to use, and very robust.
  • by Yetihehe ( 971185 ) on Wednesday June 11, 2008 @02:53PM (#23752541)
    Yep, for me the biggest downturn of joomla is mess. If you are not REALLY careful and experienced, you end with page tree better described as voronoi graph. I prefer typo3, most types of pages can be created in about half an hour if you start with html templates from designer.
  • by xevioso ( 598654 ) on Wednesday June 11, 2008 @02:54PM (#23752553)
    It's very easy to use. It's pretty intuitive, although you have to learn the meaning of a few special terms. But the admin screen for 1.5 is a breeze, at least for me.
  • Drupal (Score:5, Interesting)

    by hyperion454 ( 766214 ) on Wednesday June 11, 2008 @03:01PM (#23752679)
    I just did my first site in Joomla!, and I will never use it again. It took me far longer than it should have to figure out how to do anything useful as far as creating custom components. It's so much easier with Drupal, because the documentation is so much better and creating custom modules is so much easier.
  • Meetup Clone? (Score:3, Interesting)

    by roscivs ( 923777 ) on Wednesday June 11, 2008 @03:03PM (#23752735) Homepage
    If anyone's been to Meetup.com, they know that (a) it's a pretty convenient site, and (b) they charge a hell of a lot of money for what they do. It seems like with a CMS like Joomla or Drupal, you should be able to mirror much of the functionality of the site on your own (basically: event calendar, mailing list, member roll, and RSVP).

    I've tried playing around with various CMSs but it seems like they're just too heavyweight for me to wrap my head around a simple event calendaring system. Has anyone put together a HOWTO for this sort of thing? (Or done it themselves?)
  • by truthsearch ( 249536 ) on Wednesday June 11, 2008 @03:19PM (#23753013) Homepage Journal
    I became a fan of Drupal after learning its internals and writing modules for it. So when a client came along that needed a custom site that seemed to closely fit the Drupal model, we started with that as a foundation. Well over a year later it's become far too convoluted. We could now (if we were given the time) rewrite the whole thing from nothing in under 2 months and have far fewer problems.

    So for custom development, unless the work can be accomplished through only module and theme development, it's typically better to create something on top of a simple framework. Each CMS is good for its specific scenarios, so unless your scenario fits right in, don't bother.
  • Re:Drupal (Score:3, Interesting)

    by ceejayoz ( 567949 ) <cj@ceejayoz.com> on Wednesday June 11, 2008 @03:23PM (#23753083) Homepage Journal
    You had the same experience as me. Drupal's API is far, far superior. You can modify the way just about any core component works with a few lines of code.
  • Re:Drupal (Score:4, Interesting)

    by xevioso ( 598654 ) on Wednesday June 11, 2008 @03:53PM (#23753617)
    Well, not everyone needs to create custom modules. There are a ton of modules in existence out there already, and while Drupal may be great for building those, I have been able to find all the modules I need without much difficulty. I also did my first CMS site in Joomla, and I had the basic site with a well-designed template up and running in a few days. I would recommend it, IF you are a decent developer and know your stuff pretty well. If you have difficulty finding your way around CSS or HTML you will have problems trying to match your template to a design. I used the BEEZ template that is provided and heavily modified it.
  • by sctprog ( 240708 ) on Wednesday June 11, 2008 @05:59PM (#23755413)
    I've always built my own CMS engines.. never used Drupal et al.. but I can say this..

    Classes are overkill in a web app. They slow everything down. It's far more efficient to require_once the code that you need once you figure out which module the user wants.

An Ada exception is when a routine gets in trouble and says 'Beam me up, Scotty'.

Working...