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.
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.
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! |
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.
No download? (Score:5, Funny)
And I'm supposed to BUY this?
Yeah, right.
Re:No download? (Score:5, Insightful)
You like reading documentation on screen, that's great. The publishers are betting that there are significant numbers of people who are willing to pay for a book that describes a complex subject at length.
Re: (Score:3, Informative)
Re:No download? (Score:4, Insightful)
It's amazing the number of people that do, indeed, expect you to pay for Joomla stuff.
Re: (Score:2, Insightful)
The fact that there are commercial options available doesn't really reflect back on the core software itself, in my opinion. That's like saying Wordpress is bad because there are so many people selling themes for it. It might be bad for other reasons, but all commercial offerings prove is that it is popular.
Re: (Score:2)
If you are already pretty good with CSS, HTML and maybe PHP you'll not find the learning curve massive. You'll still have a learning curve, but maybe not massive. However, Joomla like to see itself as being good for newbies. Trust me, for them, the learning curve is indeed "massive".
Commercialization? The Joomla templates and modules, and also for that matter the Wordpress ones, it's the same tired and failed business model th
Re: (Score:1)
I guess if I wanted to create my own plugin, or my own template I might nee
Re: (Score:2)
Notice: Undefined index: custom in
Notice: Array to string conversion in
Notice: Array to string conversion in
Course I dunno why I should expect mroe f
Re: (Score:1)
Re: (Score:1)
Re: (Score:2, Insightful)
Re: (Score:2)
RTFA
Man, even when it's right in front of you, second line. Nice.
Plus, a subscription to the Safari Books Online Library is ridiculously cool and cheap for the access to the library that you get.
Re:Spell! It! Correctly! (Score:4, Funny)
Re: (Score:2)
Re: (Score:2)
As an aside, back in 1996 when Larry Page first told Sergey Brin about his page-linking thesis project called "BackRub" [wired.com], Brin lauged so hard that coffee came out of his nose. His java-enhanced expletive came out "Google!" and the name stuck.
Check Wikipedia if you don't believe me—but please wait a few minutes before you do.
Re:Spell! It! Correctly! (Score:4, Funny)
Or it is "Joomla"!
I'm confused. Why do you spell out "not" in your statement once when you use "!" so many other times?
1.5 RC1 to Current (Score:2)
Has joomla changed much (other than bug fixes) between 1.5 RC1 as covered by the book and the final 1.5 release?
Re:1.5 RC1 to Current (Score:4, Informative)
Re: (Score:3, Informative)
Shortest Chapter (Score:5, Funny)
Joomla is a top choice? (Score:3, Informative)
Re: (Score:3, Interesting)
Re: (Score:1)
Make the looks, save it as a html snippet. Done.
Re: (Score:2, Interesting)
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Re: (Score:2)
Joomla says "don't like the core content module? ditch it and use one of the crappy or commercial replacements". Drupal says "don't like the core content module? well, it's super configurable, and you can even extend its workings without ditching it entirely".
I smell a holy war! (Score:2)
I'm happy for you that you've found a CMS you like, though. That's nice. J
Re: (Score:2)
Re: (Score:2)
Oh god, I would rather stab out my eyes than administer a Joomla site ever again. Joomla has the worst admin console... the worst documentation... oh jesus, the pain, it's all flooding back, nooooooo......
Joomla is wonderful (Score:4, Interesting)
Re:Joomla is wonderful (Score:4, Informative)
Re: (Score:2)
Crap Management System (Score:4, Insightful)
In the time it takes to configure a system like this to spec, and learn it's obnoxious 'mambot' system of plug ins, you could pick up any random programming language and build a better mouse-trap all by yourself.
A vigilant open-sourcer at my company was able to get approval to use this hunk of junk for a production web-site. Trouble is, when he left, it was quicker to re-write the whole damn thing (in .Net, no less) than continue development for other clients. We now have 1 client running on a shitty Joomla portal, and 6 clients on our much sexier high performance portal.
Re:Crap Management System (Score:4, Interesting)
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: (Score:3, Insightful)
For every page render, there are like 100 function calls that go something like this: is there a function called blah_blah_blah_blah? is there a function called blah_blah_blah? is there a function called blah_blah?
Re: (Score:3, Informative)
I'd rather have 100 small functions than 10 huge functions. Problems in Drupal are all broken down into bite-size parts, so the function call overhead is offset by maintainability, modularity, and code re-use.
It
Re: (Score:2, Interesting)
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.
Re: (Score:2)
You're right, "no classes" is fine when you're writing a device driver in C. "No classes" is no problem when you're doing a Lisp project for your Intro to AI class.
But not having classes sucks when you are trying to build a large-scale web app with several developers, design contracts, reusable code, and so on. In that case, no classes does in fact mean it must be crap.
Re: (Score:2)
CMS = Conversational Monitoring System (Score:3, Funny)
Please stop using the TLA CMS for your worthless crap. "CMS" will always stand for the "Conversational Monitoring System" component of VM/370, VM/SP, VM/ESA, etc.
Damn kids.
Re:CMS = Conversational Monitoring System (Score:5, Funny)
Re:CMS = Cave Management System (Score:2)
Re: (Score:1)
Re: (Score:2)
God.
my take on it (Score:4, Informative)
Drupal (Score:5, Interesting)
Re: (Score:3, Interesting)
Re:Drupal (Score:4, Interesting)
Re: (Score:1)
Re: (Score:1)
I'm currently using Drupal to build a site for a local social centre and further looking to create an install package that's got preconfigured settings and modules for easy and practical out-of-the-box usage by users who may have little CMS experience. The problem with Drupal 6 is that there are a number of heavily used non-core modules that haven't been porte
Meetup Clone? (Score:3, Interesting)
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?)
Re: (Score:2, Funny)
Re: (Score:2)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
Joomla (Score:2, Insightful)
I remember a joomla book review (from the same user) some weeks ago ( http://books.slashdot.org/article.pl?sid=08/05/14/1335211 [slashdot.org] )?
Re: (Score:1)
Re: (Score:2)
This would have been handy... (Score:1)
Getting a mod to be able to publish instantly and post directly to the front page without using the administrator page is a must. I use myContent [joomla.org].
Adam (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
I do. I also been setting up systems to a number of large and small corporations and schools that are more than happy with Joomla.
Joomla maybe isn't for the the programmer type of webdevelopers themselves - they could write their own CMS if they wish/could - but for the publishers who simply want something up and running and than add/remove functions. Joomla give you that. Drupal needs someone to give it a fresh shiny, publisher friendly look exp
Re: (Score:1)
Re: (Score:2)
Vulnerabilities galore! (Score:4, Informative)
http://nvd.nist.gov/nvd.cfm [nist.gov]
New exploits for the vulnerabilities are released several times per week:
http://milw0rm.com/search.php?dong=joomla [milw0rm.com]
Sounds like really good quality stuff...
Re: (Score:3, Informative)
http://nvd.nist.gov/nvd.cfm [nist.gov]
Re: (Score:2)
You're right, but it appears that what many people consider core functionality exists only in third-party components.
It might be wise to use components as a lab and bring the most popular into the core.
Re: (Score:1)
You're right, but it appears that what many people consider core functionality exists only in third-party components.
Well, maybe. But I'd say that's debatable, and probably an argument that can never be solved satisfactorily. Personally, I like the fact that they've kept a lot of stuff OUT of the core. Makes the initial setup pretty easy, if you only need a very simple site.
What would be useful would be a two-level system of components: Trusted, peer-reviewed, security-tested components and then a free-for-all category where you rolls the dice and takes your chances. Put the priority on testing the popular stuff.
Even the
Re: (Score:1, Informative)
A search for CVE identifiers related to Joomla returns 244 hits:
http://nvd.nist.gov/nvd.cfm [nist.gov]
New exploits for the vulnerabilities are released several times per week:
http://milw0rm.com/search.php?dong=joomla [milw0rm.com]
Sounds like really good quality stuff...
Notice that most of the vulnerabilities are for 3rd party add-ons or earlier versions...
Sounds like really good quality comment...
Re: (Score:1, Informative)
Re: (Score:1)
Wow. Just compare these two:
Ok, it's not terribly scientific but the difference is striking. Note also that Drupal is currently on version 6.2.
Where have I heard Joomla! before? (Score:2)
e107 (Score:1)
Just build one site... one book is not enough (Score:2)
First Joomla documentation as stated in the summary is at best obscure.
I needed to consult more than a website to understand that anything you put on the page is called a module. To understand the twisted logic that makes a menu itself a module and that in order to get a menu you have to install the module first was not easy in itself.
Then templates may not have all the same regions so a content visible in some of them becomes unaccesible in othe
My experience with Joomla! (Score:1)
Re:Why would I use this versus DotNetNuke open sou (Score:2)