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

 



Forgot your password?
typodupeerror
×
Image

Drupal Multimedia 130

Michael J. Ross writes "Of the leading content management systems used by developers for creating websites, Drupal is highly regarded for many characteristics, including a much smaller initial footprint, compared to Joomla and other CMSs. Yet some developers find this a disadvantage as well, because one of the most common criticisms leveled against Drupal is its lack of built-in support for images and multimedia elements — thereby forcing new Drupal developers to choose from the thousands of contributed Drupal modules those that would be optimal for implementing their websites' multimedia functionality. Aaron Winborn's book Drupal Multimedia is intended as a guide to help such developers." Keep reading for the rest of Michael's review.
Drupal Multimedia
author Aaron Winborn
pages 264
publisher Packt Publishing
rating 7/10
reviewer Michael J. Ross
ISBN 978-1-847194-60-2
summary A guidebook for adding images, videos, and audio content to Drupal sites
The book was put out by Packt Publishing on 30 October 2008, under the ISBN 978-1-847194-60-2. On the publisher's book page, visitors can learn more details about the book and its author, purchase the electronic or print editions of the book (or both, at a discount), download the sample source code, send feedback or questions to the publisher, read the book's table of contents, or download a sample chapter for free ("Third Party Video") in PDF format. As with all other Packt Publishing titles, the errata is annoyingly not available directly from the book page; instead the visitor must go to the general Packt Publishing support page, find the title in a lengthy drop-down list box, click a button, and finally click another link (the one that should have been on the book page from the start) — only to have the errata displayed in a pop-up window. Among all the technical book publishers, Packt's procedure for accessing errata is surely the most tedious, and one can only hope it will be improved in the future. As of this writing, only one erratum has been reported. It is listed as being on "page 0," but that instead should read "page 34" (an erratum in an erratum!). Speaking of online resources, one would expect the author's own site to have further information on the book, but there does not appear to be any there.

Drupal Multimedia is a fairly slender volume, at 264 pages, no doubt because it focuses on a limited subject area — implementing multimedia with some key contributed modules — as opposed to most of the recent spate of Drupal books, some of which try to cover every major aspect of the CMS. The material in Aaron Winborn's book is organized into eleven chapters, addressing most if not all of the key topics within the chosen subject area: Drupal basics; images, galleries, and slideshows; image theming and effects; third-party and local video; file management; audio nodes and fields; theming audio; and the future of multimedia in Drupal. The book concludes with a skimpy five-page index, which fails to contain such basic entries as Flash, FLV, SWF, sprites, star ratings, slideshows, and countless others. A robust index is especially critical for any technical book, such as this one, that divides related topics among multiple chapters, and has section and subsection names that in some cases are quite similar to one another and thus could be easily confused.

Because this book is geared more toward programmers new to Drupal, and not well-versed veterans, the first chapter — the second longest in the book — introduces the reader to the core concepts of Drupal (nodes, regions, blocks, themes, and modules — core and contributed) as well as two essential modules (CCK and Views). The explanations do not go into any great detail, but should be enough to give any Drupal newbie a head start. Nonetheless, readers may be confused by the screenshots on pages 16 through 19, which appear to be from Drupal 5. Also, the brief coverage of views arguments is inadequate, and needs to be beefed to be useful later in the book. For creating a new theme, the author advises copying wholesale an existing theme; instead, a sub-theme is a much better approach. Chapter 1 wraps up with a discussion of some basic concepts in Drupal theming, which makes puzzling the title of the section, "Advanced Theming." Speaking of themes, readers should note that when the author refers to "theming" an image or video, he means making the uploaded file display as content on the node's page (and not just exist as an attachment to that node).

For many programmers new to Drupal, the first hurdle they encounter is how to add an image to the content of a page or story — a seemingly trivial task that is built into most major CMSs — without writing HTML and hard coding the path of an image file they FTP-ed to the server. Drupal version 6 and presumably all prior versions, do not have native support for uploading and embedding in-line images. In his second chapter, the author explains how one can create image galleries, teaser thumbnails, and images embedded in content. However, in the discussion on page 45, some details are incorrect, such as the label for the "Save" button (three times) and the presence of the galleries drop-down list. Readers will undoubtedly be confused by two additional inaccuracies: There is no Navigation menu item for displaying the "image galleries" created by default, because initially the image_gallery view has no menu assigned in the Gallery page settings. Secondly, the gallery description is not shown on the gallery page; in fact, it is not even listed as an available view field. The section titled "Image Gallery Settings" suggests that the author may have been using an older version of the Image module. But this probably does not explain the erroneous statement on page 56, that "image nodes created with Image attach will automatically be marked as not published." The chapter concludes with an explanation of how to embed an image in content, using manually inserted image tags, or the ImageAssist module, optionally supplemented with a WYSIWYG HTML editor, such as TinyMCE. The fourth chapter looks at how to theme images, and discusses — it greatly varying levels of detail — style overriding, the Firebug Firefox extension, the Theme Developer module, image nodes, image-based rollover menus, sprites, light boxes, star ratings, slideshows, and various special effects: drop shadows, magnification, and watermarks.

The subsequent chapter — oddly titled "Developing for Images" — extends the discussion by showing how to insert images as fields utilizing ImageField and several supporting modules. One of those modules is referred to as "FileField Tokens" (page 70), but there is no such module; the author probably meant ImageField Tokens. Also extending the previously noted problem of non-Drupal 6 content, is the screenshot for "Display fields," on page 83, as well as the narrative, which appear to be pre-version 6. The latter half of the chapter delves into how to create galleries and slideshows (using views), user pictures, and images associated with taxonomy terms.

With Chapters 5 and 6, the author shifts attention to what is perhaps the second most commonly used type of multimedia on websites nowadays — video — with the former of those chapters devoted to third-party videos (such as content hosted on YouTube), while the latter chapter is devoted to "local video" (local in the sense of hosted on one's own remote Web server — not one's local development machine). The author demonstrates how to utilize a YouTube-hosted video, first using core Drupal modules only, then using the Embedded Video Field module. For using local video files, the author shows how to use the FileField module so the user can upload QuickTime video files. Unfortunately, the instructions on page 146 may prove confusing to beginners, since it is not entirely clear as to whether the later, more-detailed paragraphs are repeating earlier instructions, or specifying something new. More significantly, the use of the FileField module necessitates writing theme PHP code, just to have the video display on the page — which less technical readers may not feel comfortable attempting on their sites. The second part of the chapter may be more useful to the typical reader, because it covers how to embed Flash videos, a more popular format. The author advocates the use of the jQuery Media module (which he created) in conjunction with the jQ module. Unfortunately for the reader, the details of implementing this approach are glossed over at the end of the chapter, with only meager instructions ("... add .node .content a to the classes."), and without any illustrative example. No explanation is provided as to why this particular JavaScript-dependent solution is recommended, as opposed to a more straightforward one, such as the Flash Node module — which is far less problematic for FLV files. (By the way, the author states that he and some other developers are creating a fully GPL media player module and that there is a development version available of this Media Player module. But there is no such version on that page, and the situation may never change, because the project appears to have fizzled in August 2008, judging by the comments on the Drupal.org site and the author's site.)

In written tutorials, videocasts, and other discussions of Drupal multimedia, one important area that is often neglected is asset management. This includes such seemingly mundane matters as where in a Drupal site's file system one should place plug-in files and even the uploaded multimedia files themselves. A more far-reaching topic is how to best associate multimedia assets with nodes so they can be accessed by various modules — for instance, as stand-alone content types versus CCK fields. Chapter 7 examines some of these topics, first discussing how to create and theme nodes whose associated videos can be used elsewhere on a site, such as in a gallery — using the Embedded Media Field and Node Reference modules. However, some readers may become frustrated because a couple critical steps are skipped, and, even worse, no guidance is provided as to how to make the video show up on a node reference content page, or what content provider selection to use (since "Local" is not an option). Next the author considers how to set access to videos by user role — using the Asset module. Unfortunately, the reader is apparently not shown how to do anything useful with video content uploaded and managed using the Asset module, including the scenario proposed at the beginning of the section. (Incidentally, one might assume that the author's solution would use the Asset Embedded Media submodule, but it is not compatible with the latest version of Drupal 6.) The Media Mover module, and its many submodules, offer an alternate method of video asset management, and the author shows how to e-mail a video from a mobile phone, to be automatically attached to a new blog post. The chapter concludes with a brief look at Kaltura, an open-source platform for storing and editing multimedia.

Some Web developers and end-users may consider online audio as the poor cousin of video. In truth, audio-only content plays a key role in many Web applications — from podcasts embedded in RSS feeds, to sample tracks on music sellers' websites. The subsequent three chapters of the book are devoted to managing audio content within Drupal using several resources and solutions — specifically, the Audio, getID3, FileField, jQuery Media, Embedded Media Field, XSPF Playlist, and Views modules

In the last chapter, titled "The Future of Drupal Multimedia," the author speculates as to what media-related capabilities he thinks we will likely find in Drupal 7 and beyond — such as native file handling (via hook_file) and multimedia support in core Drupal, the merging or deprecation of non-FileField modules, dissociation of data from nodes, improved module interfaces and usability, embeddable widgets (for data distribution), semantic multimedia (microformats, RDF, and taxonomy-powered tagging), mobile Web access, virtual reality (such as Second Life), tactile and olfactory media, and motion sensing (such as the Wii Remote controller).

One laudable feature of this book is the inclusion of numerous screenshots, which can be quite reassuring to a reader getting lost in the technical minutia of any particular recipe. Also helpful is the manner in which the author, for the most part, keeps the reader informed as to all configuration settings — and where to find them within the Drupal administration interface — that the reader must or may want to modify, depending on his or her needs. Technical books that fail to do this can be extremely frustrating to anyone trying to learn a nontrivial technology.

Yet there are some major flaws with the book: Far too much of the material suggests that the author was using Drupal 5. Aside from the screenshots mentioned earlier, sections of the text point in that direction, such as the statement, "The multiple image issue might be taken care of by Drupal 6" (page 56). Fortunately, none of these gaffes prevent the reader from learning how to perform the tasks using version 6. The second and more important flaw is the poor coverage of Flash content, as detailed above. A follow-up edition to the book, in which all of these problems are resolved, would be most welcome and valuable.

A revision would also be an opportunity to fix the grammatical errors that should have been caught in the proofreading process. For instance, the fourth complete sentence on page 11, is missing a verb. Errata include "Autrhor" (credits page), "you [have] learned" (page 2), ". you'll" (page 2), a ")" without a "(" to match it (page 17), "isin" (page 31), "it [is] installed" (page 32), "provide files" (page 33; should instead read "provide functions"), "hierarchal" (page 46), "formated" (page 57), "[the] FTP" (page 75), "menu — By" (page 117), "going a view" (page 119), "quicktime" (page 146), and "[Submit] Audio" (page 179). In addition, there are eight pairs of adjacent words missing their separating spaces — five on page 159, and three more on page 174.

As seen in many other Packt Publishing titles, this one contains excessive usage of inappropriate title case (e.g., several on page 8 and 9 alone), though occasionally title case is neglected (e.g., "Image attach" throughout the book). In addition, some of the phrasing is rather awkward, which may pose no barrier to a reader who already understands the particular idea being discussed in the text, but could prove a real detriment to anyone unfamiliar with that idea. For instance, on page 36, the author states that "Often you may wish to override a theme that is not provided as a file in the default theme." But no theme is contained within a single file, and one does not override themes anyway; rather, one can disable a theme, or modify a copy of it, or create a variation as a sub-theme.

Yet overall, this book's strengths outweigh its weaknesses. For Drupal developers who wish to add image, audio, and video content to their sites, Drupal Multimedia is a useful resource with which to begin.

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

You can purchase Drupal Multimedia 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.

Drupal Multimedia

Comments Filter:
  • Drupal Sux (Score:5, Interesting)

    by Ethanol-fueled ( 1125189 ) on Friday November 06, 2009 @05:07PM (#30010476) Homepage Journal
    Drupal sucks balls. It's very counterintuitive for something that claims to be simple and modular. Behaviors are inconsistent across themes, half of the available themes are broken, TFS is right about Drupal not supporting jack shit right off the bat. Enabling the modules requires manual downloads and dependency hells. The notion of using the site as you build it is shit, and using an "admin theme" just causes trouble because of the inconsistent behaviors across themes. Even its own advocates recommend just writing your own PHP and CSS.

    Can somebody please develop a CMS for people without Asperger's ?!
    • Re: (Score:2, Insightful)

      by nilbog ( 732352 )

      Yes, because you lack the ability to understand something, it must suck. I bet basic arithmetic, shiny objects, and women suck too, right?

      • Re:Drupal Sux (Score:5, Interesting)

        by Ethanol-fueled ( 1125189 ) on Friday November 06, 2009 @05:51PM (#30010888) Homepage Journal
        The only people who are willing to waste the time to understand Drupal enough to use it are those who are stuck chasing buzzwords for a living. Even the preface of the O'reilly book alludes to that.

        Read the summary and a few of the comments below. You'd get better, quicker results from coding your own HTML/PHP/CSS around a crude template...and that's pretty sad considering that the first hit for a Google of "Drupal themes" yields this: [drupal.org]

        "This theme saved me at 2am. Three hours of messing with 1000+ lines of nasty Garland-adapted code later, I abandoned it and recoded the site as a Zen sub-theme in under an hour. Thank you, thank you, thank you. - Greg "

        'Nuff said, asshole.

        • Re: (Score:3, Informative)

          by peater ( 1422239 )
          As a Drupal developer myself, I'm not really sure why Greg had to mess with 1000+ lines of Garland-adapted code specifically because he goes on to say that he could do the same thing using Zen in under an hour which means his customization needs weren't too detailed to even require messing with 1000+ lines of code. I'm sure he knows what he is doing, but in my own experience I've managed to use the php-template engine with CSS to create some fairly customized sites in very little time without requiring Zen
          • As a Drupal developer myself, I'm not really sure why Greg had to mess with 1000+ lines of Garland-adapted code specifically because he goes on to say that he could do the same thing using Zen in under an hour

            Can you predict the future? No, neither could he.

            • by peater ( 1422239 )
              I didn't say he should have predicted the future. I said that considering he could achieve something using Zen in less than an hour, it could probably be done in Garland as well within a reasonable amount of time without having to mess with 1000+ lines of customization code. And before you assume I have a God complex, no I don't. I have made the same mistakes and yes I agree they are a necessary part of the learning curve. But that doesn't prove that Drupal "sux". It just proves that Drupal is flexible enou
        • by nidarus ( 240160 )

          What are you trying to say with this quote? If you use the right Drupal template framework, you can make a site in under an hour?

          What does it have to do with "coding your own HTML/PHP/CSS around a crude template"? Zen is still Drupal. In fact, Drupal 7 is going to be bundled with a Zen-like theme.

        • by nilbog ( 732352 )

          So by your argument, if I can find one person who had an issue creating an HTML/PHP/CSS CMS from scratch then it must be a really crappy way of doing things right?

          Not everyone can or wants to build everything from scratch.

    • by Atomm ( 945911 )
      I know everyone is going to mark the OP as a troll, but I have to agree. I started out using PHPNuke nearly 10 years ago. I moved on to PostNuke, then Joomla, then Drupal, back to Joomla, then Wordpress. Of all the CMS/Blog software I have used, Drupal was the most unintuitive and cumbersome. Everything about it was hard to do, hard to customize. I could not stand it. I've never understood how so many people can love it so much.
      • Re: (Score:3, Insightful)

        by phyrz ( 669413 )

        Because once you understand it as a developer, its insanely flexible. But I agree the learning curve is hardcore. Out of the box Drupal isn't good for much except simple community-type sites. Some work is being done to fix this. Google for Development Seed, Features and Small Core to see the direction Drupal is heading. Also investigate the CCK and Views module. None of the other packages mentioned come anywhere near this functionality.

        But of course, use whatever software works for you :)

    • Most of the arguments I see about Drupal are something like "I'm an ordinary Joe, and I couldn't make whitehouse.gov". So what? If you know nothing about a complex system, how can you expect to succeed with it immediately? If PBX systems were as popular as CMS systems, everyone would be running around saying "I tried Asterisk for my home phone and I couldn't figure it out, and therefore it sucks". Unfortunately Drupal is in a market where everyone is interested in using it, but not everyone has the skil
      • " Meanwhile, Drupal is carving out a deep niche of consultants like myself that CAN and DO make it work."

        Right there. Basically, Drupal is like the Sharepoint of the open source world... too complicated for most people to figure it out, so you have "consultants" to make it work for you. I rarely troll... in this case, I'm not losing sleep over it ;)
        • It's really not that complicated, I know next to nothing when it comes to PHP and I've been doing fine.

      • That's a fair point, but I don't see mention of "use Wordpress" on Drupal's about page. Quite the opposite, they make it sound like the ordinary Joe could make whitehouse.gov. It's not a complete lie either, depending on the level of customization desired it's quite possible for someone without a lot of experience to use. But it's also quite possible you'll wind up needing a consultant. Drupal isn't immune to fanboism either. It's not so surprising that many people find it's not what they want and then tell

      • Can you then also come to us and make it work WELL ? Sure, it works, but what I especially loathe about it is the way it (ab)uses the database. Dries and his minions' attitude is "we want it to work on as many databases as possible", and the end result is an abomination that works on all but scales on none. Whoever had the bright idea to do explicit full table locks on every table, for every insert ? We've spent more time hacking at the drupal core than we probably would've just writing a custom framework f
    • by SuperBanana ( 662181 ) on Friday November 06, 2009 @06:08PM (#30010990)

      Can somebody please develop a CMS for people without Asperger's ?!

      It's for consultants, not people with Asperger's. Everything requires coding and customization and is awkward. It's a consultant's wet dream.

    • Drupal sucks balls.

      And yet...

      Can somebody please develop a CMS for people without Asperger's ?!

      You seem to realize that there is no CMS which doesn't suck these proverbial balls, that seem to be slurped so often in the world of technology. No, those balls will always be sucked because content management is not a one-size-fits-all situation. Drupal has been advancing, though, and what have you done for the world of free/Free content management systems? Oh, nothing? Well, why don't you go attempt aviary copulation with a ventrally rotating toroidal pastry? At least I've submitted some patches

    • by gobbo ( 567674 )

      Can somebody please develop a CMS for people without Asperger's ?!

      For small projects: FrogCMS [madebyfrog.com].

      For blogs: wordpress.

      For other, more complex sites, try ExpressionEngine [expressionengine.com].

      For galleries, zenphoto.

    • Drupal sucks balls. It's very counterintuitive for something that claims to be simple and modular. Behaviors are inconsistent across themes, half of the available themes are broken, TFS is right about Drupal not supporting jack shit right off the bat. Enabling the modules requires manual downloads and dependency hells. The notion of using the site as you build it is shit, and using an "admin theme" just causes trouble because of the inconsistent behaviors across themes. Even its own advocates recommend just writing your own PHP and CSS.

      Can somebody please develop a CMS for people without Asperger's ?!

      Can you offer another CMS that doesn't have the same issues, and does everything you're pretty little world wants?

      I spent a bit of time playing with Joomla, WP, and Drupal. For some reason, I dug Drupal for many reasons:
      - customization
      - online support
      - "FREE" modules
      - did I say customization without needing to code anything, ala CCK / VIews

      And yes, I'll admit it's a learning curve working with Drupal, but so are all the other CMS products out there. If you're going to bash so

    • Agreed a thousand times over. I really don't see how a community as geeky as slashdot can take drupal seriously. I get it when other sites dominated by the non-techies see drupal and think, hey that seems to work pretty well... but seriously open up the fucking source code and look at it.
      • I absolutely agree - look at the source code - one of the reasons that we standardised on Drupal was that the code is well structured and well thought out. It's based on a call-back system with hooks triggered by naming convention. It is well documented, and has a wide series of tests that are automatically run against it, for regression tests of changes. The API is documented at api.drupal.org, and includes examples of how you can extend the system.

        All the above applies to the core code, and the widely use

        • It's not at all well structured. It could have been laid out better without being OO, but going OO would definitely help. There is a complete lack of isolation, interfaces are pretty much defined by giving modules access to the entire core, which is a cop out for interface design that puts the entire burden of making modules work together on the module writers and moreso on the site owners. If the module API isolated internals and only made available methods that would allow customization without incompa
    • I do see a lack of civility in your posts, but not much information.

      Drupal does claim to be modular. It doesn't often claim to be simple, unless you are only using a few core modules, perhaps in the default install, for instance, to make a blog. In the base install it _is_ less polished than, say, Wordpress. But it does more. I'm not sure how you measure intuitivity - what's intuitive for one person isn't necessarily, for another.

      I don't know what you mean by 'Behavours are inconsistent across themes'. Isn'

    • by nidarus ( 240160 )

      While I wouldn't get so upset about it, I agree - Drupal is not for you. If you just want something to work out of the box, you'll probably want something like ExpressionEngine, or even Wordpress.

      But as an alternative to building the site from scratch with Rails/Django/pure PHP, it's great. It may not be OOP, and the database layer is shit, but it's so customizable, and there are so many useful modules, that you rarely have to reinvent the wheel.

      I only wish they'd stop pretending that it's a "just a CMS". I

    • I've heard this criticism (or something fairly similar) levied against virtually every CMS out there.

      As an honest question: Are there any CMSes that buck this trend, or at the very least stand out from the crowd?

      There's no doubt that things have greatly improved from 5 years ago, although it seems as though no clear leader has emerged as "the state of the art." Wordpress and Drupal seem to have the largest developer communities, although even their own users seem to view the systems as being somehow flawed

  • by halcyonandon1 ( 1568125 ) on Friday November 06, 2009 @05:12PM (#30010514)

    I've been working with Drupal for a couple years now. Even experienced PHP developers will find themselves in a learning curve in using Drupal's administrative "backend" and third party modules.

    An experienced PHP developer also realizes the value and importance of online documentation... php.net is a resource I still constantly refer to when certain decisions need to get made...

    Whenever I see a Drupal-related book, I immediately compare it to drupal.org, the advanced help module and the information a simple google search can produce.

    A developer's time learning fundamental Drupal concepts would be better served through diving into the Drupal community... not reading a book... That way they're prepared to find resources for all the various issues that come up with Drupal Development... not just adding multimedia.

    A would like to see a book written from the perspective of a Web programmer evaluating Drupal as a development (MVC) framework weighed against the likes of cakePHP, Zend, codeigniter, et al.

    Its been a topic of debate lately and a book would be a good medium to thoroughly evaluate such an idea.

    A book like that would help the Drupal Community... I feel like the book you described hurts it.

    • Re: (Score:3, Interesting)

      by vegiVamp ( 518171 )
      The wonderful Drupal community's answer to quite a lot of the things we try do to with drupal, is "not supported, and we won't tell you why". No, thanks.
  • PHP sucks (Score:3, Funny)

    by BitHive ( 578094 ) on Friday November 06, 2009 @05:26PM (#30010638) Homepage

    Drupal is for scrubs

  • by Anonymous Coward

    Do yourself a favor and don't bother with Drupal. It's a huge piece of shit.

    We just tried to use it for an intranet site, and it fell flat on its face. We threw better hardware at it, and that didn't help. We tried Lighttpd instead of Apache, and it was still fucked. We tried Linux, FreeBSD, and Solaris. We tried several PHP bytecode caches. We tries PostgreSQL instead of MySQL, although it's not really "officially" supported, and that did help somewhat. Other than that, nothing helped.

    Our developers did no

    • by armanox ( 826486 )
      So what actually didn't work? You never stated the problem.
    • I'm a Drupal consultant, and I wish you would have called me or one of my colleagues. I would agree that if you attempted to scale Drupal to a moderate to large size with no prior experience, you will probably fall on your face. Drupal has evolved into something that works quite well for small sites on shared hosting. It does work for large sites, but it's not easy. There are dozens of optimizations that you didn't mention trying. It's not a piece of shit. You just failed to make it work. :)
      • Reread the parent's post and then ask yourself "What kind of shitty company is this." Sounds to me like it's populated by semi-literate morons and the management is too stupid to see that rather than turfing Drupal, he should have turfed the idiots.

      • No, it's not easy, and most of the 'dozens of optimizations' are not supported, badly documented, and not compatible with later smooth upgrading to newer drupal versions.

        The only reason it "works quite well for small sites on shared hosting", but needs loads of fixes to scale, is that it's incredibly badly written from a database point of view. The more accurate formulation of all that is "it's so crap that it won't scale without extensive hacking with a large axe".
    • I know you got modded as a troll, but I had a similar problem with Drupal a couple years ago. There was a time when Drupal was worth considering, but its backend never made much sense. It was confusing enough to a developer, try explaining it to someone who is just in charge of updating, adding, changing content. We used Drupal because at the time it appeared to be the online opensource CMS that had all the features we were looking for in their modules repository.

      And it was slow, 20sec + load times with

      • Re: (Score:3, Informative)

        by drinkypoo ( 153816 )

        I know you got modded as a troll, but I had a similar problem with Drupal a couple years ago. There was a time when Drupal was worth considering, but its backend never made much sense.

        This here is the most rational argument against Drupal. It's inconsistent and the database code is scary, and using it is scary. Almost everything is a node, that is stupid. Everything should be a node, which makes code dramatically more rational and forward-portable because you can access everything from a node object. The database code is getting refactored which is what is making Drupal 7 take so long (AFAICT) so perhaps the next Drupal will be more advisable. (I used to suggest Drupal, now I just scratc

  • by TheModelEskimo ( 968202 ) on Friday November 06, 2009 @05:38PM (#30010776)
    ...for people who secretly want to do everything from scratch anyway.
    • by Wraithlyn ( 133796 ) on Friday November 06, 2009 @06:12PM (#30011016)

      Whatever.

      I've done 2 large, complex Drupal projects over the last year, and 90% of our functionality for both was easily provided by existing modules, and virtually all of the rest was accomplished by tweaking other modules. Then you just need to learn some theming (which the Theme Developer module makes falling-over-easy) to have full control of your theme layer.

      I also built a small portfolio site for a friend (after giving up on both Wordpress and ModX), and had it up in a single day. It's amazing how quickly you can snap together whatever data structures (via CCK) & functionality you can think up once you learn the ropes.

      Yes, it has a helluva learning curve (especially when you are trying to wade through the thousands of available modules, we spent a couple weeks just looking at modules on the first project I was on). Yes, you need to be a PHP ninja to get the most from it. All true.

      But "from scratch"? That's a joke. The breadth of functionality available from contributed modules is staggering, and the override/hook system is incredibly powerful and flexible if you need to change default behaviour without modifying core.

      • Re: (Score:3, Interesting)

        You're right, Drupal is amazingly powerful. However I think it's deceptive to compare Drupal with other CMS's like Joomla. There's a reason Drupal's learning curve is so steep - it's so different from your standard CMS.

        My point is: I don't think you have to be a PHP ninja to "get the most" from it. I think you have to be a Drupal ninja to do that, and the bare-minimum requirement to start down that path is deep experience with PHP.

        So yeah, that's why I say it appeals to people who like to work from sc
    • I just started playing with Drupal. I have not ruled out trying Joomla, but Drupal seems to have pretty good support out there, so I tried it.

      What I like about Drupal is what most graphic design people would hate about it. Out of the box it is not easy to drop a graphic here some text there and make a site. Drupal seems to be focused on storing and presenting lots of information in a consistent way. The admin might make a new type of node in Drupal and give the user some fields to fill out. To the us
  • by Anonymous Coward on Friday November 06, 2009 @05:38PM (#30010780)

    I'm sorry, but if it takes a 264 page book to teach someone how to implement media in a CMS, then something is wrong with the system.

    Either that or this is one wordy author.......

    • Not to mention that the actual review cited numerous errors in the actual book. PASS!

      Drupal is a nice idea, but executed poorly.
      • by phyrz ( 669413 )

        The book was released in 2008 and Drupal has gone through major changes in the last year. Its still a constantly evolving platform and a year later the book isn't so relevant. Back then it was though.

    • by Degro ( 989442 )
      It doesn't. This, like most IT books, is just going to be a lot of copy/pasting from the online documentation and a list of what modules to install. There's handfuls of Drupal modules that are pretty much must-have for most sites that cover this kind of 'missing' functionality. Each major release of Drupal incorporates more and more of them into the core download, but it's really not that hard to untar a couple extra modules each time.
    • Here's my take: You've got to have a healthy dose of geek in ya to implement a decent site in Drupal. So a bunch of non-designer geeks are out there implementing these sites. Then Jenny from marketing totally goes all extrovert on the programming team in a development meeting, and tells them they need multimedia. OH CRAP, they think. We can do DBs, PHP, Apache, whatever. But multimedia?

      Anyway, that's my take...better try this niche than "10 Days to a Drooplier Drupal!!!" etc.
    • by nidarus ( 240160 )
      I've seen Packt publishing books. They can make a 500-page book about notepad.
  • by SuperBanana ( 662181 ) on Friday November 06, 2009 @05:43PM (#30010820)

    ...who works with it every day. Then, it's brilliant.

    I spent 4 hours banging my head against a wall trying to do two things: 1)get a calendar of events up (in any way, shape, or form) and 2)put some boxes on the front page of a site, one for each major category of the blog. So, to transpose the example to slashdot: a box containing just "idle" story headlines.

    The calendar bit, I gave up on because it involved creating all sorts of custom data types and forms and views and...jesus christ, why couldn't they just make an "events" module...

    The box-with-a-category, I also gave up on. Apparently, the "solution" is to dig into PHP in your theme (why themes are chock full of code is beyond me) and edit the files. Well, except that then when a new version of the theme comes out, you have to port your changes forward. So instead, you make a copy of the file, install it into a duplicate of the theme's folder structure, tell Drupal your theme is a subtheme of another existing theme, and Drupal makes Magic Happen.

    Sort of. The subtheme doesn't inherit critical stuff in the original theme, like the stuff that defines where content boxes can go on the page (ie, the most basic part of the theme: the layout!) so when you load the new theme, all your content completely disappears. Unfuckingbelievable.

    In the end I threw up my hands in disgust. I could see the possibilities for a community site (which is what I needed and wanted in the long run), but getting there would have been an endless amount of time learning Drupal internals. Why the fuck should I have to learn internals to put an event calendar on my blog's sidebar?

    Oh, and everyone makes out that modules are the second coming of Christ, especially this book, apparently. Well, as we discovered at work trying to implement a drupal site that sometimes when you enable a module, it runs all over your database, permanently screwing the pooch and requiring a complete restore from backup...a problem exacerbated by the lack of (apparently) refined APIs. What does that mean? Well, it means the modules and Drupal very often end up having very specific version requirements...

    • There is a excellent calendar module right here, which leverages heavily off of functionality provided by other modules (as is Drupal convention). From a standpoint of functionality, available features, and extendability, it's better than anything I found with Joomla.
      http://drupal.org/project/calendar [drupal.org]

      Here's a screencast tutorial:
      http://www.drupaltherapy.com/node/76 [drupaltherapy.com]

      I've used this module extensively, out-of-the-box most of the time, and yes, I do so as a paid consultant from time to time.

      Besides that, since Drupal tries to provide a framework for anyone and everyone to contribute pieces via 3rd-party modules, it will be as chaotic, diverse, and even inscrutable as one would expect a bazaar to be. Still, it enables that bazaar to exist in the first place.

    • The scary thing is that gov agencies and cultural institutions are encouraging each other to adopt Drupal. Apparently it's the "in" thing, and this really scares me. We're severely understaffed (with no web apps developers) and the last thing we need is another unmaintainable mess to grapple with. I'm a web designer and front end developer and while I can modify simple PHP code, I'm definitely not a programmer.

      If I had to use a PHP + MySQL solution, I'd just use ExpressionEngine (commercial product). It's n

    • The box-with-a-category, I also gave up on. Apparently, the "solution" is to dig into PHP in your theme (why themes are chock full of code is beyond me) and edit the files.

      Themes are made up of code including functions because those functions are used to do things like draw menus, which are thus themeable. See how that works? Unfortunately, you're also very wrong. You can do it with the views and panels modules, which are two of the best-known and -supported drupal modules that there are.

      Well, except that then when a new version of the theme comes out, you have to port your changes forward.

      Uh, what? The theme is a starting point. Once you've changed it, it's your theme. You might choose to share it, but you probably won't, which is why few themes are worth messing with. Or did

      • Themes are made up of code including functions because those functions are used to do things like draw menus, which are thus themeable. See how that works?

        To me the word "theme" would refer only to the appearance of the app.

        Are you saying that in the wonderful world of Drupal it also includes aspects of behaviour and functionality? That doesn't strike me as a good thing.

        • To me the word "theme" would refer only to the appearance of the app.

          The web doesn't work that way. In theory, you can get all your styling from CSS. In reality, it requires substantial layout markup. Consequently, themes are more than just bundles of CSS, although it's a rare theme that doesn't use style sheets and drupal is CSS-heavy; every module of significance has its own style rules. The theme defines things like the way lists are constructed. You can patch this behavior with a module, e.g. what happens when you load one of the several modules providing dynamic menus.

          • I only asked.

            On other systems (Windows, S60 phones) themes do work like I said.

            Arrogant, patronising cunt.

            • On other systems (Windows, S60 phones) themes do work like I said.

              Windows and Symbian 60 are operating systems, we're talking about web browsers.

              Arrogant, patronising cunt.

              Stupid, ignorant prick.

    • For your second point, your best option is to use the views module. Views is essentially a query builder that integrates with drupal and can provide different types of output (full pages or blocks). You'd create a view, add the fields you want to display, filter on the category and/or content type, sort descending by post date and tell it to produce a block. Go to your block configuration, tell it to put the block in the right region and to only display on the front page. Drupal has a somewhat steep lea
      • > Views is essentially a query builder that builds the most horrendous, inefficient queries you ever layed eyes on.

        There, fixed that for you.
    • by Degro ( 989442 )
      So, you think any jackass manager should be able to whip together the companies site and not require a consultant that with the accumulated knowledge of working with it everyday?
  • Just say no - if Steph the Geek is into it, its almost by definition faddish and lame.

  • Has anyone used/liked/hated DjangoCMS?
    • Comment removed based on user account deletion
      • It looked pretty interesting. I haven't used it yet, but plan to sometime in the future (version 3 or 4ish).

    • by megrims ( 839585 )

      I recently spent some time working with Drupal/Ubercart.

      As far as shopping-cart software goes, I'd say that the Drupal system has been the most friendly to me as a developer. Magento is (debatably) better structured, but has literally no documentation (and tries to create a ridiculous namespacing system in a language which does not support this). Joomla/Virtuemart and especially Zen-Cart and osCommerce are just a little bit ridiculous in organisation, with similarly limited documentation.

      Almost everything e

  • Is it any worse than similar CMS's?

    There are tons of modules for it, so more than just a couple people 'get it.'

    • by z33k3r ( 919398 )
      I have to agree with the fact that Drupal is very complex and takes a bit to wrap your head around. I would have to disagree that it's a piece of crap... The #1&2 reasons people's installs/projects fail is due to them installing an un-audited module and "easy-to-get-to-and-read" tutorials. If you are going to use open source, you have to come to grips with authors' lack of coding skills and/or experience with open projects. Always test modules first in a dev environment, then implement. If you are sca
  • and this comes from someone who knows next to nothing about php or any other programming language. Setting up a small site/community site is pretty easy and you don;t need a book, you read the forums. NOW I will say this that multi user multimedia control or say a photo gallery is a fucking chore to set up and eventually you just give up .There are a few promising modules like Node Gallery and one of the better ones Acid Free Albums which isn't even maintained anymore.
  • I've had great luck with it the last 18 months or so and the site has scaled pretty well with my needs. I had some complaints from my host when I was on shared hosting that I was hitting their database pretty hard, but I turned on caching for anonymous users and it's been smooth sailing since.

    • by BitHive ( 578094 )

      People hate on Windows and that works pretty well too. What do you think?

      • I used to hate on windows. This was the 90s and it just wasn't there yet.

        Now it can be pleasant. When I have to use it, I just get a reasonable music player, use outlook for meeting reminders, have firefox open and putty to a development box.
        I get an equivalent experience from linux though, so I use that, especially since linux can be the development box itself.

        When I hear 'Drupal', it reminds me of the words drop, droop, and Ru Paul.

  • by Optic7 ( 688717 ) on Friday November 06, 2009 @07:54PM (#30011618)

    I just don't get it. Most of the negative posts here so far just seem completely inaccurate. They must be written either by fanboys for other CMS systems or by people that have no clue to start with.

    I'm not a web developer and I don't know even a bit of PHP and I am able to understand how Drupal works and get it to work fine for me. Granted, Drupal is not a panacea, but as far as open source CMSs go, I think it's one of the best available.

    • by BitHive ( 578094 )

      I am a web developer and I know lots of PHP and I am able to understand intimately how Drupal operates with my infrastructure and get it to work fine for me. It is not a panacea, and as far as open source CMSes go, I think it's mediocre.

      • by Optic7 ( 688717 )

        Ah, no fair saying something like that and then not telling us what you think are some good open source CMSes. Please tell us, because I'm always interested in finding better things.

        • by BitHive ( 578094 )

          I would use Radiant or Movable Type over the likes of Drupal and Wordpress any day. In particular, the ability to define and combine custom Radius tags makes Radiant an extremely powerful tool.

      • Is there a FOSS CMS you prefer?
    • They're just jealous that the WhiteHouse chose Drupal for their website. Seems to work very fast too.

      But, I also happen to think that utilizing PHP for such a large scale site is risky both in coding efficiency and in security risks. Drupal and PHP are constantly being patched for vulnerabilities.

  • Custom CMS (Score:3, Interesting)

    by Danzigism ( 881294 ) on Friday November 06, 2009 @08:30PM (#30011816)
    This has always been a debated topic. Depending on the needs of your client, or yourself, sometimes it is best just to make a custom CMS. Some non-developer types out there might scoff at this, but think of it this way. You could literally make your own CMS after learning some basic functions of PHP and MySQL. As a matter of fact, as a "designer" I think it is necessary that you understand these concepts. Once you see what is involved with making a simple CMS, then figure out whether or not you should use a big solution like Drupal or Joomla. But in all honestly, once you learn how to CREATE, INSERT, ALTER and UPDATE data from forms, and use the mysqli_connect function, you'll soon start to realize that you can be much more artistic with your sites. I'm not saying everyone should make a custom CMS, but the majority of small clients just want to edit the text on their homepage, put up new pics in their photo galleries, have a user submitted testimonials page that they can moderate, and keep in touch with their website visitors with the help of a mailing list. All of which can be accomplished with a couple days of reading up on some basic PHP and MySQL tutorials.

    I've tried so hard to use Joomla and Drupal, and it just isn't for me. I could spend DAYS trying to figure out how to make a custom theme, or simply spend a couple hours making my own site layout from scratch, throw in a couple divs and some PHP scripts, and be done with it.
    • by chx1975 ( 625070 )
      And, of course, your site thrown together in a couple hours will scale (just in case it needs to), will be stable and secure.
      • if you're not a god damn idiot and follow best practices, then yes it will be plenty secure. there's no reason to make security seem like this really difficult thing to implement and only reallllly smart people like those who make Drupal and Joomla can do.
  • by davecrusoe ( 861547 ) on Friday November 06, 2009 @08:47PM (#30011876) Homepage
    Hey there, I've put together a couple sites in Drupal and DotNetNuke recently, and Joomla beforehand, and must state that Drupal is far more useable and powerful than either of the other two CMSs. Here are the general differences: Drupal is a little more challenging to learn, but far more flexible. I can easily create data types and taxonomies, and relate information across modules and locations in the site. Its theming is relatively simple, and it's not a pain to incorporate social / profile elements in a standard way, across the site. Theming login modules and other user elements is simple enough. Its code is pretty good - very good, in many cases. On the other hand, DotNetNuke is like legacy software stacked upon legacy software upon legacy software. It has been nothing but trouble. Its modules don't communicate easily with one another and, unless you want to recompile the entire clunky thing, its code is a pain to change around. I definitely don't recommend it for a big-time site, no matter what they state on their homepage. Otherwise, it's somewhat easy to change *content* on pages - but again, not as powerful as Drupal. Finally Joomla is somewhere in the middle. Very easy to use, but on the other hand, not as powerful. It's fine for a beginning site, but probably not the tool/base I'd choose for a very advanced site with multiple social features and custom needs. Cheers! --Dave
  • Weird timing (Score:5, Informative)

    by blakhol ( 919393 ) on Friday November 06, 2009 @09:14PM (#30012004)

    This book was great when it came out. Over a year ago. Strange to get such a late review of a book. Fortunately a lot of things are still accurate, and Drupal 6 has been the main release during this entire time, but sheesh. The contributed modules have improved a lot since then.

    As far as Drupal itself goes, it's great. Yesterday my boss asked me to put together a secure site where a select group of people could discuss the upcoming budget cuts. The site needed to be attractive, secure, support single signon (integrating with our existing directory), restricted to one group of users, allow optional anonymity of posters (after authentication), and allow users to subscribe to threads.

    Starting from scratch, I had it all done in an hour an twenty minutes with Drupal (plus the hidden author, subscriptions, pubcookie, pubcookie site access, secure pages, and views modules).

    There seems to be a great deal of frustration and outright ignorance about how Drupal works in the postings above. If you want to be able to wield a complex weapon like Drupal, try the following resources.

    For examples on how to create common types of sites using popular, well-supported modules: Using Drupal [usingdrupal.com], O'Reilly

    If you're a designer working with Drupal and want to understand how to work with it: Front End Drupal [amazon.com], Prentice Hall

    If you're a coder and want to know how Drupal works internally: Pro Drupal Development [drupalbook.com], Apress

    If you're not a book reader but like watching videos, pretty much anything put out by Lullabot [lullabot.com]

    If you're not a coder or designer but a power user who has to deal with Drupal's admittedly byzantine administrative interface: Drupal 6 Content Administration [packtpub.com]

    • If you're a DBA looking to set up for Drupal: http://www.amazon.com/Book-Bunny-Suicides-Andy-Riley/dp/0452285186
  • Drupal is the worst form of CMS except for all the others that have been tried.
  • If you have a site that either 1) has no users, all anonymous. 2) if you have users, lots of power.

  • Drupal ? Spare me. (Score:3, Interesting)

    by vegiVamp ( 518171 ) on Saturday November 07, 2009 @08:09AM (#30013836) Homepage
    As a DBA and Linux admin, I've had nothing but trouble with Drupal. We have several large-ish Drupal deployments, and we've had to hack away at the code for over a year now, and it's getting stable now, because we started building our own Drupal version with a shitload of patches to the core.

    Drupal works indeed fine for small-scale deployments, but as soon as you want to use Drupal's famed flexibility and customizability, and scale your site out, you're going to run into trouble, mostly with your database - especially if you want a lot of logged-in-only content.

    If Drupal is really serious about going on to be used for large, professional deployments, the best recommendation I have for Dries and the gang, is to abandond the entire "but we want to be compatible with all databases" whine, and decide on ONE database, which they use CORRECTLY and EFFICIENTLY. I'm sorry, but nearly a hundred queries for a single pageview is not acceptable. Please decide on an optimum technology stack and use it efficiently; and publish both the optimum stack and a fully patched, efficient version of the code specifically for large-scale deployments.

    We've in the mean time rewrote the caching engine to correctly support Memcached - some parts of Drupal still fuck up, though, so ftm we've got 12 separate Memcache bins for every site deployment, to avoid one module flushing the cache of an entirely different site. We looked at read-write splitting for the database, and found that it won't work (on mysql, at least) because of the way Drupal interacts with the database. We're doing ugly tricks wih Squid and cookies, because not-logged-in users sometimes get content from logged-in pages. We've done oodles of patches on Drupal core, to optimize database use and remove needless full table locking. We're writing custom modules to avoid using Drupal Views, which create queries that are so inefficient that one of them on the front page can kill your monster of a database host.

    No, Drupal may be very good for quick, small deployments, but if you're looking for something to build a high-traffic site with plenty of customization and member-only data, you're better off building your own framework from scratch, with scalability in mind.
    • What is large-ish in your context? I'm not sure that readers will realise that you are coming from a particular point of view. I maintain a Drupal installation with 1.5m nodes, which I wouldn't call large, because it has a limited purpose and does not use hundreds of extra modules. We have not had to patch or customise. And it runs on a VM on commodity hardware.

      I assume that you have a site with a great deal of functionality. Not every reader will realise that a CMS that is modular is naturally going to res

      • When I say 'large', I don't mean data volume - that's something that databases are built to handle pretty well. I'm talking about the amount of pageviews, which runs into the millions per month for all our sites combined.

        I'm fully aware that Drupal already caches content - that very feature was the cause of quite some trouble: if you're gonna use caching tables, it's rather unwise to lock them for selects whenever you update them; which is at most every page request (that gets through the squid, of course),
  • People who have no experience with anything other than hotmail or google need some kind of base, the ability to NOT spend thousands of dollars every time they need their site altered. I like working with drupal because it is easy, unless you are completely in the dark. Learning is good, sometimes it can be a "waist of time" but at least your brain isn't rotting.

Technology is dominated by those who manage what they do not understand.

Working...