Slashdot Mirror


Building Websites with Joomla! 1.5

Michael J. Ross writes "Web developers are oftentimes under pressure to build attractive sites as quickly as possible, and thus they are increasingly making use of content management systems (CMSs), which offer most of the functionality typically needed in a site, such as user authentication, site-wide styling, and of course managing content contributed by site owners and users. Joomla is an extremely popular and heavily-used CMS, partly because it is one of the easiest to install, configure, and use as a starting point for a new site. But with all CMSs, Joomla's online documentation and forums can prove frustrating to the new developer. Books such as the recently published Building Websites with Joomla! 1.5 are intended to fill that gap." Keep reading for the rest of Michael's review. Building Websites with Joomla! 1.5 author Hagen Graf pages 384 publisher Packt Publishing rating 7/10 reviewer Michael J. Ross ISBN 184719530X summary An introductory-level guide to the latest version of Joomla. Written by Hagen Graf, with a guest chapter by Angie Radtke, Building Websites with Joomla! 1.5 was published on 28 March 2008 by Packt Publishing, under the ISBNs 184719530X and 978-1847195302. It is an update of his earlier book, Building Websites with Joomla! v1.0, put out by the same publisher. Like the previous edition, this latest one is aimed at beginning and intermediate Web developers who wish to learn how to make the most of Joomla for building new sites or maintaining existing ones that they have inherited.

The author has organized the book's material into 17 chapters and seven appendices, covering the major topics of interest to Joomla developers: terms, concepts, and sample sites; Joomla installation; a site's major elements; customization of language, and by templates; the administrative interface; the primary menus (Site, Menus, Content, Components, and Extensions); some commonly used tools; some popular extensions; writing templates; accessibility; MVC, components, modules, and plug-ins; building a sample site; and analysis of some bonus templates. The book's 384 pages conclude with a rather sparse index.

On the publisher's Web page, visitors can read more about the book, download the sample code, post feedback or a question, read the online table of contents, and download a sample chapter, namely, the second one in the book, on Joomla installation. The publishers also make it possible to purchase an electronic version of the book, which could be especially handy for any reader who would like to reference the book while working off-site, and without lugging the print version along with their laptop.

The publisher's site characterizes it as a "fast paced tutorial," but the book gets off to a slow start, on a micro level and on a macro level. The first eight paragraphs are devoted to explaining the concept of a content management system, and its variations, which is essentially a waste of space for the typical reader of such a book. Any developer interested in reading a Joomla book certainly does not need such a lengthy explication. If the purpose is to enlighten people unfamiliar with how Web applications work, then more care should be devoted to clarifying phrases that would confuse such neophytes, such as "the net." In fact, most of the introductory material could be excised or summarized. In addition, Mac users will not be pleased with the PC centricity, unremedied until Chapter 2. The first chapter later bogs down in a wearisome comparison of a Web site with a piece of real estate. Throughout the chapter, the level of discussion alternates between quite simplistic — presumably for the complete neophyte — to intermediate. It is as if the author realizes that there is a tremendous amount of material to cover, and thus needs to move along at a decent pace — one that can be comprehensible to intermediate programmers — and yet occasionally interjects overly simple material, in the hopes of not leaving behind the newbies. Overall, it doesn't work, and the chapter in particular, and the book in general, should instead target Web developers who have some experience with CMSs, or at least basic Web site creation.

The second chapter explains what underlying technologies are needed in conjunction with Joomla, and how to install them for testing. Readers should note that page 31 may give the impression that XAMPP is the only available package that includes Apache, MySQL, and PHP — but it is not. The third chapter provides a nice overview of the various major components on the homepage of a brand new Joomla site. One minor flaw is in the image on page 52, in which the "Resources" menu should be placed above the "Key Concepts" menu, as seen on page 54 and as seen by the reader if they are following along using their own Joomla installation (a practice highly recommended by both the book's author and this author).

Chapter 4 demonstrates how to install a different language for the public site and the administrator site — in this case, German. Readers whose primary or only language is English may be confused as to why the author begins the detailed Joomla coverage with this more specialized topic, rather than starting with the material found at the beginning of the next chapter. It is possible that the author concluded that the rest of the reading audience would want to first install the language module for their primary language, which makes sense. On page 68, the author refers to the template named Kepri as "previously introduced," but I can't find where this was done, and the index is of no help (it does not even have a section for the letter K). Far more confusing, and irritating, is when authors make reference to some file that the reader cannot find. For example, Hagen Graf instructs the reader to "download the language files from the German translation team's website." Sure, but where? Four pages later, we are told to upload tmpl_bertrand.zip, but not where to find the file. It turns out that it is in 5302_Code/chapter 16/, in the downloadable sample code from the publisher's site.

The fifth chapter is almost as short as the fourth one, and briefly describes the configuration of the Joomla administration site. The author recommends that readers still using Internet Explorer switch over to Mozilla Firefox (amen), yet oddly describes Firefox as two different browsers. There are some other minor flaws: The list of 17 toolbar elements, on page 72, would be more efficient if it were alphabetized. The second illustration on page 73 supposedly shows the results of filtering for enabled modules only, and yet the drop-down menu does not reflect that. The version numbers stated in the text on page 77, do not match those shown in the illustration on that page. Yet none of these blemishes lessen the value of the material.

Chapter 6 covers the Site menu, whose components can be accessed directly from the menu items or from icons on the Control Panel page. The author asserts that the icons allow faster access, but actually the menu items are more direct. The chapter is informative, and would be more so if the author explained what is really happening with — and how to utilize — debug messages ("Debug Language").

Chapters 7 through 10 go into the details of the Menus, Content, Components, and Extensions menus. Most of the explanations are straightforward, except that on page 143, whose third paragraph is downright baffling; also, the "Default Section Layout" and "Archive Blog" display formats mentioned are not available or even shown in the illustration on the previous page. On the first page of the seventh chapter, the author begins to introduce "an example from joomlart.com," but apparently forgot to include the example itself. Also, in the discussion of "Parameters — Component," the last two options — Target and Icon — were neglected.

Chapter 11 briefly describes three of the built-in tools, and Chapter 12 shows the reader how to install some popular extensions for customizable message boards, document management, and image galleries. The coverage of the extensions is enough to get the reader started, but the author really should explain why the reader would need to reboot their computer after installing Fireboard (page 203), or even restart the Apache server, if that is what the author meant.

With Chapters 13 through 15, Hagen Graf shifts to Joomla topics that would be of most interest to veteran Web programmers: how to develop your own templates, components, modules, and plug-ins. Sadly, at this critical juncture, the narrative and sample code become noticeably more muddled and confusing than what is found in the earlier chapters (which mostly consist of explaining the individual controls within Joomla's administrative area, and are thus easier to get right). For instance, to readers unfamiliar with div tags (likely a minority), the author recommends "selfhtml," without explaining what or where it is; presumably it is the German site SELFHTML, which is of no value to the English language readers of this book. Further on, the template provided in the downloadable code styles one's Joomla site as if no template were even in use, and not like the preview thumbnail image. The author's reference on page 229 to "one command" is baffling, and the publisher's left-justification of all the CSS rules makes the template's CSS even less readable. By the time readers reach the section titled "Integration of the Joomla! Module," they may be quite frustrated, and asking themselves, "What Joomla module?!" — despite the author's self-congratulatory comment "this has worked so well."

Chapter 14 was written by Angie Radtke, co-creator of the increasingly popular Beez template, which offers a lot more flexibility than most if not all other Joomla templates. She discusses Web accessibility ("barrier freedom") in general, and as implemented in particular by her template. The general discussion would be of interest to anyone unfamiliar with how to make Web sites more accessible, and is more thorough than what is found in some other Web design books. The template discussion would primarily be valuable to anyone developing a new template — especially one based upon Beez — and who is otherwise not aware of accessibility considerations. However, in any future editions, the HTML and CSS code should certainly be formatted better. For more advanced Joomla developers, Chapter 15 may be the most compelling one of all, because it describes how to create your own components, modules, and plug-ins — starting with an overview of the Model-View-Controller (MVC) design pattern.

In the penultimate chapter, the author steps through the process of setting up a simple Web site (in this case, for a winery). Working through the example will help readers solidify the knowledge they gained in the earlier chapters. It would also be handy for someone proficient with CMSs who simply wants to try Joomla in the least amount of time — somewhat like a quick-start guide. The book states that Joomla does not have an e-commerce shop component. Presumably the author is referring to the fact that, at the time of his book's writing, VirtueMart did not yet support Joomla 1.5; the latest release apparently does. Lastly, much of the vintner story is superfluous and could be condensed or cut. The last chapter briefly discusses a number of available templates. The book concludes with seven appendices, most quite brief: online resources; jdoc details; two methods for changing a template logo; a link to the Joomla API; how to reset the admin password; how to migrate a Joomla version 1.0 site to 1.5; the PHP register_globals setting apropos of Joomla security.

Like so many technical books, this one certainly has its noticeable strengths and weaknesses. The author's high regard for Joomla, as well as his extensive experience with it, is truly evident throughout his book. Also, he does touch upon all the major areas that would be of interest to the Joomla programmer.

However, the book's writing could be cleaned up and clarified a great deal. It could certainly use a lot more well-placed commas to increase readability — especially for the many run-on sentences — and far fewer exclamation marks. On a larger scale, the chapter summaries add no value and should be cut. The book contains many compound adjectives lacking hyphens, just as there are a few complete statements incorrectly separated by commas and not semicolons. Many of the expressions are rather odd and puzzling; for instance, "graphic scripts" (page 250), "easiest solution nothing shifts" (page 258), and "barrier freedom" instead of the much more universal term "accessibility." Non-German readers may be turned off by the book's German centricity. Furthermore, readers don't need to be told, twice, that the German translations were done by the German translation team. The book contains at least 49 errata (which I have reported to the publisher). These do not include countless instances of the term "that" being used incorrectly in place of "who," by both the primary and guest authors. Given the considerable number of errors, the reader may begin to wonder whether the book was edited prior to production.

The book falters most when it veers away from Joomla administration toward marketing and business topics. For instance, eBay is characterized as a "flea market" (page 55), but it is more of an online auction. On the same page, the discussion on advertising, frozen spinach, etc., adds no value to the book, could easily puzzle readers, and is somewhat disjointed from the topic at hand — contradicting the author's assertion that the book is cohesive (same page). Overall, the book could use a fair amount of trimming.

In terms of the book's production, the quality is fine, but Packt Publishing is the only technical publisher that I know of that insists upon using a glossy ink, which makes the book's pages somewhat difficult to read depending upon the angle of one's reading light as it bounces off the page. Also, whoever set the text on the pages should have refrained from removing most of the indentation from the code.

From an editing perspective, Building Websites with Joomla! 1.5 is in need of considerable improvement — especially those passages that will prove most confusing to readers. But from a technical perspective, the book offers a lot of valuable information to new Joomla developers, and could easily become the preferred resource that they turn to when building their first Joomla Web sites.

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

You can purchase Building Websites with Joomla! 1.5 from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

34 of 129 comments (clear)

  1. Re:Wow by Smidge207 · · Score: 3, Funny
    Joomla 1.5 was released? What's next, Duke Nukem Forever?

    Yep. That's what I HERD.

    =Smidge=

    --
    Is it just my observation, or is eldavojohn an idiot?
  2. How easy is it, really? by overtly_demure · · Score: 4, Insightful
    When you get down to it, the learning curve for CMSs like Joomla is close to that required to just sit down and code a site in your favorite scripting language. At least it feels that way.

    I do not agree that non-geeks have a happy and easy time setting up, running, maintaining, and extending their sites with CMSs. They end up hiring coders or other geeky types to take care of it just as they would hire someone to write the site from scratch. If I am wrong, how far off the mark do experienced Joomla users think I am?

    1. Re:How easy is it, really? by Archangel+Michael · · Score: 4, Interesting

      "I am wrong, how far off the mark do experienced Joomla users think I am?"

      You're wrong. I develop websites for people using CMS (Joomla actually, but I've used Drupal and WebGUI which works just as well) and for rapid development of a decent looking site that the average person can manage the day to day operation (adding/changing content) it is fairly easy. I have one website where the only think I do is the technical side, adding capability, and the daily person is NOT a computer person at all.

      Many hosting companies offer automatic installation and configuration of CMSes using cPanel (or other MGMT system). If a person needs help with cPanel, then they will need some technical support, but once the site is functioning, the average person CAN manage the content by themselves.

      It takes me about 4 hours to fully setup a nice Joomla site, including changing the default template, adding all the various extensions needed etc. In fact, the plugins and modules for CMSes are why I use them. Find the right plugin, and bam you're done.

      The average not to geeky person can easily do most things in CMSes.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    2. Re:How easy is it, really? by owlnation · · Score: 2, Interesting

      No, I think you're not wrong.

      My experience with Joomla (after having used it for a few years now) is exactly what you say -- there's a steep learning curve. The documentation is a lot to blame for that, as the summary says. The documentation appears to be written (as most technical documentation is) by someone who doesn't understand what a new user's questions would be, nor how to approach set-up from start to finish in a step by step way. There's not even a basic guide on how to use it: planning -> install -> configuration options -> themes - > modules -> security etc. A lot of that is assumed knowledge, and as far as config goes, you pretty much have to spend a lot of time testing things out to see what works.

      It seems also much of the more detailed documentation, and documentation for modules and other add-ons is not written by native English speakers. Some of it is completely unintelligible.

      Joomla is usually straightforward if you have a good understanding of CSS, html, and how web files are structured. If you don't, you'd better like the default theme, cos you'll not be changing it. (as an aside you can often tell a Joomla site because the user has no idea how to change the favicon, and the default Joomla one is the one being used.) Also, when something goes wrong, you'll need to call in external assistance pretty much every time.

      My biggest bugbear is the layout and terminology for the admin interface. It's in NO WAY intuitive. I've spent hours sometimes trying to figure out what each thing is and does -- a newbie has no chance with that. I think with dramatically better documentation, Joomla could be easy to use for a newbie. Perhaps this book will help.

    3. Re:How easy is it, really? by rho · · Score: 2, Insightful

      Pre-packaged CMSes are valuable. My problem with them is that, in general, if you want or need to extend them, you have to learn a sub-set of whatever language the CMS is written in. You're not writing a PHP module, you're writing a Drupal module, that if you want to continue to use through various Drupal versions you have to stick closely to the Drupal Way Of Doing Things. I don't have any experience with Joomla, but I imagine it's similar.

      Contrast that with something like the Zend Framework. You're still writing PHP, but using ordinary PHP classes that implement useful things. At some level it's basically the same thing as Drupal or Joomla, but IMO the same effort results in a much more flexible application and less likely to break in exciting ways.

      (If your needs are fully met by a CMS then it is foolish to reinvent the wheel. The CMSes have already encountered and solved many problems that you'll have to slog through with your homemade application.)

      --
      Potato chips are a by-yourself food.
    4. Re:How easy is it, really? by Crudely_Indecent · · Score: 2, Insightful

      The big advantage to a CMS for a developer is that you can deliver a good site that will stay looking good (almost) regardless of what the inexperienced customer does.

      For example, one of my customers is about 80 years old. His only request was that he be able to edit his price lists without my interaction.

      Do I choose to teach this man frontpage (or some similar wysiwyg editor) or do I install a component that will let him do exactly what he asked. I'll go for the latter and reduced training time.

      My customers are absolutely in love with their new sites.

      At any rate, it's far easier to take advantage of an existing codebase and make minor modifications than to write from scratch. I wasn't a big fan of CMS applications until I found Mambo (later Joomla)

      --


      "Lame" - Galaxar
    5. Re:How easy is it, really? by CrazedWalrus · · Score: 2, Interesting

      This was my issue with Joomla too. When I tried it out, I immediately recognized that it was extremely powerful software and that, if I spent enough time with it, I could probably make it do lots of cool stuff. Unfortunately, I don't have that kind of patience. After spending quite a lot of frustrating time on the admin interface where things didn't work as I expected, or were buried so deep that I wound up forgetting how to get there, I just gave up and went to WordPress. After using that for a while, I gave that up and went to Drupal, and have been happy so far.

      I'm not religious about CMSs, because they're all obviously well written and very powerful, but the relative ease with which I learned Drupal and even made some simple plugins for an app at I was writing at work really won me over.

      A major point of a CMS is to shorten the startup time. If the CMS takes days to learn the basics and weeks or months to really learn, it isn't really accomplishing that goal. I need something now, or at least soon, so I follow the path of least resistance with this type of software.

    6. Re:How easy is it, really? by lymond01 · · Score: 2, Interesting

      I think some people not familiar with the CMS idea think that using a CMS makes life easier for the developer, not just the client.

      Using Plone as an example, I can put up a simple, templated website allowing authenticated updating and commenting in about 5 minutes. If the user wants me to add a form that stores data into a centralized SQL database, there are ways to do that but it'll require extra packages, a modicum of python knowledge, and some knowledge of Zope's TAL scripting.

      So sure Plone makes things a little easier, and the better the developer is with Zope/Plone/Python, the easier it is. But developing a moderately-featured site with Plone isn't much easier than it is by hand if you're new to the underpinings.

      But when the site development is done and it's time to add content, the web programmer can finally just walk away and let the users handle that part, and that's where a CMS shines, and that's why you'd want to use one.

      So don't think a CMS is a "quickstart" solution for a moderately complex site. It's only quick once you're done learning the CMS ins and outs, which may include a new programming language. But programming a few applications and custom pages is much less work than writing a standards-compliant, form-secured, completely-user-updateable website from scratch, I'd think...

    7. Re:How easy is it, really? by iamwahoo2 · · Score: 2, Interesting

      I respectfully disagree. I have done a fair amount of programmin but not a web programming. I found setting up Joomla to be a breeze in comparison to what it would have taken to build my own site of similar aesthetic appeal. When it comes to administration of the content, I find it no more difficult than something like MS Sharepoint which is used around my workplace by many non-geeks.

  3. Why don't people mention underlying technologies? by qortra · · Score: 5, Informative

    After searching through the Joomla main page and the "What is Joomla?" page, I was still unable to find the underlying technology. Even the review doesn't mention it until the 5th paragraph, and then only as an afterthought. Why is it so hard to mention that the CMS is built on PHP? That is information that I really care about (as do many other website developers).

    As a side note, this is why I like Wikipedia. Unlike the Joomla site and this review, it mentions "PHP" in the Joomla article header. Note to website developers; if your "about" page is less helpful than the Wikipedia article, simply take a snapshot of the Wikipedia article and make it your "about" page.

  4. Definitely worth using. by -kertrats- · · Score: 5, Informative

    I'm the Managing Editor of the University Register, campus newspaper of the University of Minnesota, Morris. Last fall we installed Joomla to replace a bizarrely hacked-together mess of a website that was hand-coded by some student years ago that no one knows anymore. It's extremely simple to use (though we still haven't fixed a few small issues, such as the top module not appearing correctly on article pages; this isn't really due to lack of ability as it is lack of effort, as there are more important things for us to do). I would definitely recommend it to anyone that wants a site that's easy to use and configure. As a plus, it's also vastly improved our pagerank on Google, presumably because it's easier to crawl.

    --
    The Braying and Neighing of Barnyard Animals Follows.
    1. Re:Definitely worth using. by bishiraver · · Score: 2, Informative

      Joomla is great for sites that need to be simple, easy to configure, and easy to update for non techies. For any other CMS application (ie, a complicated corporate site, a news site with many contributors and many categories), use something made to be templated extensively. My favorite is Expression Engine, but there are others out there. (disclaimer: I do not work for CI or EE or whatever their parent company is called, I'm just a happy user)

  5. pay-to-play by ceejayoz · · Score: 4, Informative

    If only so many of the really useful modules weren't pay-to-play.

    Major kudos to Drupal.org's policy of only allowing GPLed modules into their download directory.

    1. Re:pay-to-play by Dynedain · · Score: 3, Informative

      Actually the Joomla team has come to the decision that any extensions of Joomla (except for templates and bridges to other packages) should be GPL, and indicate as such in the extensions directory.

      1.5 was a major rewrite of the Joomla/mambo core and the emphasis moving forward is GPL v2. Of course older extensions are still listed (and flagged as commercial where appropriate) for legacy purposes, but moving forward should have a significant shift towards availability of GPL plugins.

      My own plugins are now GPL after I rewrote them for the new Joomla 1.5 codebase. Not all of them are public releases, but the ones that are, are listed in the Joomla extension directory and clearly flagged as GPL

      --
      I'm out of my mind right now, but feel free to leave a message.....
  6. Re:Why don't people mention underlying technologie by AchilleTalon · · Score: 2, Insightful

    I have the same comment. My first question was: What Joomla is build on? And I looked at the Joomla's site clicked on details without success then documentation and then the Wiki to finally came back here and see the fifth paragraph with MySQL, Apache and PHP mentioned. Is it so difficult to have a short notice with the prereqs on top of the description of a product? Seems to me this is always the first question, do I meet the requirements for installation.

    --
    Achille Talon
    Hop!
  7. Pretty far by SuperKendall · · Score: 5, Insightful

    If I am wrong, how far off the mark do experienced Joomla users think I am?

    I'm speaking as a Drupal user, but I feel my comments would pretty much apply directly to Joomla as well.

    I know a lot about web programming. I've set up corporate portals from scratch in Java, and used various JSP and PHP scripting solutions to do smaller sites. I've also looked at frameworks like Grails and RoRails and so on.

    But in the end, can you really set up something in those quickly that offers a user who is not you an easy way to add content quickly? That provides nice search engine URL's, common theming across the whole site, a forum, email support, user account registration, and so on and so forth? What about having someone else constantly research and issue security updates?

    Yes I could build all that but using a CMS like Drupal or Joomla saves months and months of work for any kind of real functionality, and with that time saved you can work on some other code or customize the hell out of the CMS you are using, or add content (presumably why you put up the site to start with) or whatever. People have written so many CMS systems, I think you have to look at what you are trying to build and say to yourself - is what I am doing so much different that the world needs another system just like it?

    CMS's are great for geeks for the same reason they are good for everyone else - they let you have more time to work on a problem that is truly unique and interesting.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Pretty far by FLEB · · Score: 3, Informative

      There's one reason I'm really happy to see Joomla 1.5 come about. I make sites professionally in a small marketing firm, and our company uses Joomla for a fair number of sites-- I can hack a little PHP, but I'm a designer and front-end HTML/CSS/JS guy first and foremost. The constant and aggravating problem with Joomla 1.0 was that a lot of presentation code was tied up into the core (granted, it was no OSCommerce, but still...). The hacks I had to use to get a more pliable layout meant that any significant update to the Joomla! core meant a long regimen of re-hacking things to turn the TDs into DIVs. Granted, we had a "hacked house version", but it was still a pain.

      Now, with 1.5, template overrides have saved me countless hours-- I can just use presentation template overrides on the few parts of the system I do use, and upgrade the core seperately, as needed.

      --
      Information wants to be free.
      Entertainment wants to be paid.
      You just want to be cheap.
    2. Re:Pretty far by Cctoide · · Score: 2, Interesting

      The problem with CMSs (specifically the more bare-bones ones to which you're supposed to add plugins, like Drupal), is that, well, as I said, they need plugins to make themselves useful, and sometimes the plugins don't work together well or don't mesh with one another.

      It might be just me, but last January I decided I wanted to create a profissional-looking (or at least profissional-working) newspaper site as a hobby. I know The Onion and Schamper and a whole lot of other online newspapers run on Drupal, but it certainly wasn't "simple" to do, even with custom logic coding. Views likes CCK but not some of its addons, theming a CCK node is complicated and a View of a CCK node doubly so, especially if you want to show news separated by Taxonomy classification on the front page, like most news sites do.

      After convincing myself that if I were to use a CMS for that site, it would have to be Drupal, I started thinking it would just be a lot easier to code something which worked exactly the way I had in mind... of course, I'm only an amateur programmer who can do slightly decent Perl and, by extension, PHP, so even though I have read a bunch of books on common web application security holes (and associated techniques like CHAP login, session fixation prevention, etc.) the general opinion of the Internet was that "coding your own CMS is an even worse idea".

      Anyway, I'm rambling, but the point is I never got said hobby site working. Maybe if I really had to get it done I could have achieved it (probably by cutting corners and making compromises), but to this day, short of custom-coding, I don't really see a minimally straightforward way of setting up a newspaper-style site (and, relatedly, while googling extensively on the topic I came across a /. post on the subject -- the consensus was Drupal). There's also Expression Engine and a host of whole other commercial CMSs, but at that point you might as well throw in a bit more cash and have the company customize it for you, which takes the fun out of the "hobby" process.

      --
      "Let's face it, it's a good story. Accuracy would kill it."
    3. Re:Pretty far by ben+there... · · Score: 2, Interesting

      Yes I could build all that but using a CMS like Drupal or Joomla saves months and months of work for any kind of real functionality, and with that time saved you can work on some other code or customize the hell out of the CMS you are using, or add content (presumably why you put up the site to start with) or whatever. Yes, a CMS is especially great for smaller projects for clients who wouldn't pay for all the time it took you to build it from scratch. You get the site setup and get results quickly, pleasing your client, while still charging a decent hourly rate. Then keep that higher hourly rate for all the maintenance work. Most sites I've designed with Drupal have been a fixed rate for the initial design, so the quicker I can get that done, the more money I make.

      I've been looking at Django the past couple of weeks to replace Drupal for some of my sites though. It has a much cleaner architecture (as does Rails), an MVC pattern, and it's in a language that I know well from desktop programming experience, Python. Even if a full CMS is more than you need for a project, a framework such as Django or Rails is worth a look. It handles database abstraction (using ORM), authentication, sessions, caching, and has a decent templating language. It's so MVC that there are actually files named models.py, views.py, and a template directory. models.py has python objects for each table and generates the SQL for you to match. Doesn't get much cleaner than that. Best of all it's not PHP, it's Python, so it actually uses namespaces :-) and PostGreSQL is a more common and better supported choice than MySQL.

      Anyway, my point is that even if you don't want a big CMS package and you want to design much of your site from scratch, it makes a lot more sense to use an existing framework than the underlying language itself. I don't really think I can design a better authentication or session framework, for example, in a reasonable amount of time to be worth coding from scratch. The only downsides to Django are that the blog, forum, and wiki type bundles or distros don't exist yet. So if you need one of those, Drupal is a much easier choice at the moment. Some people are considering putting together ready-to-use bundles (incuding myself), but right now you have to DIY. Also, if you use shared hosting like many people do, you either need specialized Python hosting or you need one of the few major shared hosting providers that offer Python. I use DreamHost, and luckily they do offer Python scripting with FastCGI (but not mod_python).
    4. Re:Pretty far by FishWithAHammer · · Score: 2, Funny

      Excuse me, did you just call Rails "clean"? Are you high? It may be the worst production environment I have ever seen. And I used ASP.

      Django is okay, but only if you want to use Python; frankly Python gives me an eye twitch and I have no interest in using it.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    5. Re:Pretty far by CrazedWalrus · · Score: 2, Interesting

      I set up a site for my son's Cub Scout pack using Drupal. It took like ten minutes to set up followed by some tweaking over the next few days. The cub master just took it and ran with it, and, for the most part, it's great. Minimal effort on my part.

      When they'd initially asked me to be webmaster, they were just using static HTML pages on an FTP site, and it was going to be a lot of hand-coding, uploading pictures, all that. I knew I could never make a decent-looking site on my own, as I have no artistic ability whatsoever.

      By setting up Drupal, I was able to give them a framework that did everything they wanted -- permissions for various parts of the site, calendaring (embedded Google Calendar), publish on demand, add forms and flyers, etc -- all in a heartbeat. I would have spent a looong time doing that by hand, and, honestly, I don't have that much time to spend on a volunteer effort like that.

      I've tried Joomla, Wordpress, and Drupal. While I've personally settled on Drupal, Joomla and Wordpress are incredible systems that provide a very solid basis for any site. All that time you would have spent re-inventing the wheel poorly can be spent writing customizations instead, which gets you weeks or years ahead in the long run.

      The difference for me and my volunteer work was the difference between an awful hand-coded site done in a few hours, or a fully-themeable, user-controlled system, ready to go in minutes. It makes the time spent volunteering seem so much more "worth it" when the finished product isn't some half-baked solution they're going to throw out next year.

  8. Re:Frustrations with Joomla by Xawen · · Score: 3, Informative

    For the record, and don't shoot the messenger on this, here's how you change that:

    In the administrator
    -Menus > Main Menu
    -Click Home to edit the home page, or choose the page that needs the layout changed.
    -Change the layout using Basic Parameters on the right. To do what you want, change the "Columns" setting to 1.

    A lot of people have trouble getting used to the conceptual layout of Joomla. As far as the pages go, EVERYTHING revolves around the menus. This is because the menu represents all instances of the pages. In order to change the settings on any one, you change it's settings in the menu configuration.

    It's not the most obvious, but after you work with it a bit it begins to make a lot of sense.

  9. Comment removed by account_deleted · · Score: 2, Interesting

    Comment removed based on user account deletion

  10. Re:Popular? by Phyrexicaid · · Score: 2, Funny

    I build web site applications for a living, I've not seen a Joomla site. I generally create sites with Python and/or Django for small to enterprise use. I don't understand why this slashvertisement is on the front page. Maybe because
    "Slashdot welcomes readers' book reviews"
    --
    The meme is dead, long live the meme!
  11. Joomla/Mambo Hacking by CompMD · · Score: 3, Funny

    I inherited a server running several Joomla/Mambo sites. Daily, I had about 10,000 scripted hack attempts. It was really a pain to have to sift through all that crap in the apache logs when I needed to find something. There were several different attacks made, and I had a bad feeling that one of these days I was going!@#$%HQ$IJG(WERMG@Q HACKED BY CHINESE

    1. Re:Joomla/Mambo Hacking by skelly33 · · Score: 3, Insightful

      This is precisely why I have migrated away from any off-the-shelf CMS. I had been using Mambo for years and switched to Joomla when they split apart (made sense to follow the original developers). After building dozens of components and modules to extend the framework's wrapper around custom interfaces, I have numerous gripes about the planning, revision history, maintenance, and general short-sightedness of Mambo/Joomla in many respects. But it all pales in comparison to the threat of security breaches that could compromise the core assets of a business who relies heavily on the custom application.

      I could have hacked custom fixes and features into the CMS code tree to fix specific problems as they arose, but then a critical security fix or update to the CMS would wipe out all those changes. I could have tip-toed around the needs of the CMS and just patched it each time something new came out, but then I'd have to watch closely yet another piece of software for critical updates - and given the speed with which I've seen massive exploit automation roll out, it is not worth the risk to the company that I might be too slow to do this by hand.

      So, as much as I enjoyed the friendly interface and ease of getting started for Joomla, I begrudgingly began abstracting my customizations to minimize the hooks into Joomla/Mambo. Finally when all the prep work was done, one day I built a custom framework around the custom portions of the app as a substitute for the CMS and at last it just "went away" - it doesn't take that much to build basic session management, a database class, a simple admin panel and an extension engine. What I have now is more robust and has far less security exposure than Joomla, at the expense of the bulk of the CMS features that Joomla is so widely acclaimed for. For most of my projects, it wasn't so much the CMS that was of interest as the framework for session-based application building.

      I am 200% more confident now that I will not come to work in the morning and find the site replaced with an inappropriate message and all our data gone. If you're sitting on Joomla or ANY readily available framework - I don't care if it's Drupal or Zend or whatever - weigh the risk versus the small amount of effort that it would take to build just what you need from scratch so that there are no predictable/scriptable points of entry.

  12. Re:A little off-topic but CMS related by Anonymous Coward · · Score: 3, Informative

    Yes. CMS Made Simple (cmsmadesimple.org). This is my preferred CMS. You can enable/disable the WYSIWYG editor, there is also an extension to generate static HTML as per your needs. Its also AMAZINGLY easy to template. Check it out, I'm in love with it.

  13. Very true by SuperKendall · · Score: 3, Informative

    I'm unfamiliar with Joomla update procedures, but Drupal has pretty good automated checks for updates that are easy to apply.

    That is an important aspect with using any prepacked software that has to live out in the wild... that and just doing sanity checks on the logs from time to time to make sure nothing looks odd.

    However, as I said even if you write your own stuff people might still find holes in it too - at least with the more popular CMS systems people are vigorously testing them.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  14. Re:A little off-topic but CMS related by Dekortage · · Score: 2, Informative

    At least one organization I work with uses Hannon Hill's Cascade CMS. It is based on XML/XSL and is arguable the most configuration, extendable, flexible CMS I have ever used (and I've used several, including Joomla, Typo3, and a few that were home-grown). The only downside is that you REALLY need to know XML/XSL if you expect to do anything nice with it. In any case, with proper setup, it can do all of the things you mentioned, and much more. E.g. it has a nice "data definitions" feature where you use XML to describe the interface that content editors see for a specific bit of content: put a date here, plain text here, WYSIWYG text there, select a file to link to, and an image file to display. Then you create some XSL to format all that into nice XHTML for when it gets published up to your web server as an HTML file (or PHP or JSP or whatever you want).

    This is kind of promotional, I guess, but I am happy with it. It is overkill for small sites, but dang, the XML aspects of it are just beautiful.

    --
    $nice = $webHosting + $domainNames + $sslCerts
  15. Re:Why don't people mention underlying technologie by LunarStudio · · Score: 3, Funny

    As a side note, this is why I like Wikipedia. Unlike the Joomla site and this review, it mentions "PHP" in the Joomla article header. Oh, we can change this very quickly...
  16. Joomla is this short of blasting the entire market by Qbertino · · Score: 2, Informative

    I consider Joomla a potential Web-CMS-market killer application for various reasons:

    - Installation is a breeze. Far superiour to any other CMS of simular featureset.

    - It looks good and is usable. To many webkits look like crap once they are set up for end user mode. Top-of-the-line web designers have pimped Joomlas UI so much that it is a feast to work with. And other projects are scrambling to catch up. Which is a good thing aswell. I find it nearly unbelievable how they managed to improve the 1.5 UI over the 1.0 UI, even though the 1.0 UI allready is way beyond anything else out there.

    - It's built with the ever present LAMP stack in mind, albeit beind independant of it.

    - It's featureset is well thought out and there are countless extensions for it.

    However there are things that the Joomla core team needs to address before they can claim leadership in the field:

    - Flexible Access Controll is missing. There is a hardwired access controll with around about 5-8 roles, but a full blown CMS needs to have as many as the admin needs. Especially if non-trivial extensions are involved. This is a major issue and probably will be addressed in some future release. I hope they do it right and don't screw it up - which easyly can happen with badly implemented access control.

    - People warned me not to look at the data/object model of Joomla 1.0 - so I didn't. I just had looked at that of Typo3 4.0 and barely survived the resulting shock. I presume that the Joomla 1.5 object model still has a few issues, probalby also due to 1.5 having a legacy mode for backwards extension compatability. A (still) less than optimal archtecture could be a showstopper for people who want to build larger applications on top of Joomla 1.5 and the new Joomla 1.5 Framework.

    - They reinvented the wheel like so many others and rolled their own web application framework. I asked the lead developer why they did that instead of using CakePHP or Symfony or something like that and he reasured that they had solid reasons (legacy mode being one) but I'm still wondering if it hadn't been better not to do that. If however the Joomla Framework improves it's API and Documentation enough to catch up with the other large PHP Frameworks this could turn out to be a very good thing. Since the Joomla CMS lowers the barrier of entry into the Framework considerably - especially for non-developers.

    Oh, and btw: Hagen Grafs Book on 1.5 was pushed out of the door even during Beta phase. The German edition even has 'Beta' in the title. I remember thumbing prints of it which where still warm from the press on the last years German Joomladay and Alex Kempkens (a core dev) walking up from behind and saying "That screenshot there isn't up to date anymore - I changed that interface two days ago." Duh. Talking about writing about a moving target :-) .
    Despite the unusual publishing strategy, Hagen Grafs books - the German ones anyway - are good to get you started. I still have a copy of his old Beginners Guide to Mambo.

    The German publisher actually published an updated version of the Joomla 1.5 book a few weeks ago allready.

    And as for the translation and German style wording ... maybe I should offer Hagen some help on that for the next release ... Gonna check if he's on Skype right now. :-)

    --
    We suffer more in our imagination than in reality. - Seneca
  17. Drupal by lilfields · · Score: 2, Insightful

    I've been using Drupal for a while, I had tried using Joomla (among many others) but it was actually a pain to customize and make look truly professional; I found Drupal to be the best fit to many websites I've done, and it integrates nicely with vBulletin which is a popular request. However, I've still never found a CMS that I absolutely love, I suppose all of them are lacking that little something that pushes them over the edge to getting my all around recommendation.

    1. Re:Drupal by Solder+Fumes · · Score: 2, Insightful

      Identical experience and identical final decision. I hacked around with Joomla for a long time, ultimately unable to do what I really wanted to do: create my own theme. Googling for tutorials all returns the same regurgitated five page tutorial with broken links to the source files, and no actual useful content. Drupal isn't perfect, but I was able to get it running and grok what was necessary to create my own themes. Joomla is great for people who like to use premade themes and similar menu and basic layout as thousands of other sites (a lot of them throwaway copy-paste Adsense farm blogs).

  18. A few words about my Joomla! book by hagengraf · · Score: 2, Interesting

    It is my first comment on slashdot so be patient with me.
    At first: Thank you for the review. I am proud to reach 7 of 10 points :-)
    Concerning the German things:
    The book is a translation of a German book I wrote in November/December 2007.
    It is translated into French, Dutch and as you have seen ... in English. I was talking with all the publishers and ask them whether it is possible to free the content. The German and the French book are now available on-line completely for free.
    http://joomla.cocoate.com/de/joomla-15
    http://joomla.cocoate.com/fr/joomla-15-fr

    I want to use this opportunity to ask you for two favors.
    1. Please help me to convince other publishers to free the content of the Joomla! book by writing a comment here at slashdot or (may be better) at the books website
    (http://joomla.cocoate.com/de/content/book-review-slashdotorg)
    2. At the moment I talk to various people who wants to help me, to translate the online content into other languages (turkish, spanish, ...). If you have time to translate something in another language, send me an email.

    I hope you enjoy the book (even if the German touch is strange) and again, thank you for the review.
    Hagen