Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Pro Drupal Development

samzenpus posted more than 7 years ago | from the read-all-about-it dept.

Book Reviews 112

Michael J. Ross writes "If a Web site needs to be developed as quickly as possible, or it needs to support collaborative content, then usually the best approach is to use a content management system (CMS). There are many CMSs from which a Web developer could choose, including Drupal, which is considered by many to be the most powerful, extensible, and logically organized of them all. Installing Drupal and using it to create a simple site, is fairly straightforward, in part due to its relatively excellent documentation. For much of its existence, there has been far less information available on how to extend a Drupal site with one's own modules, themes, blocks, etc. That need is now met by a new book, Pro Drupal Development." Read on for the rest of Michael's review.

The book was written by John K. VanDyk and Matt Westgate, both of whom are experienced computer programmers, who years earlier had created their own CMS. In their book's Introduction, they confess to discovering Drupal and its many advantages, switching over to it, and presumably abandoning further development of their own CMS. This speaks volumes about their regard for Drupal, because an individual programmer or programming team can give no greater vote of confidence for a technological product than to voluntarily end primary allegiance to a competing product that they themselves birthed and nurtured.

Pro Drupal Development was published by Apress, on 16 April 2007, under the ISBNs 1590597559 and 978-1590597552. The publisher offers a Web page on their site dedicated to the book, where the visitor will find all of the book's source code, as well as the table of contents and a sample chapter (Chapter 8 — The Theme System), in PDF format. In addition, there is a link for errata, which leads to the authors' own book site. At the time of this writing, there are three dozen entries, contributed by the authors and their readers. The authors' site also has links for downloading the source code by individual chapter, and a blog that focuses on the book.

The book's material, spanning 428 pages, is organized into 23 chapters and two appendices. Unlike the majority of technical books nowadays, this one does not have the chapters organized into labeled parts. Nonetheless, the chapters and appendices roughly fall into three categories: how Drupal works (Chapters 1, 19, and 23, and Appendix A), how to customize it (Chapters 2-18 and 22), and how to optimize your Drupal development efforts (Chapters 20-21, and Appendix B). The customization chapters cover a wide range of topics: modules, menus, databases, users, nodes, themes, blocks, forms, filtering, searching, indexing, files, taxonomy, caching, sessions, jQuery, localization, and optimization.

Each one of these topics is explored in laudable detail, with plenty of sample code and figures to illustrate the key concepts. The greatest strength of this book is the depth of its coverage, and the methodical way that the authors go about presenting the material. They are clearly quite serious about Drupal itself, and about conveying to the reader all of the knowledge that they believe is important for the reader to master. In fact, anyone attempting to read the book cover to cover might find the presentation quite dry, with no evidence of humor or even a sense of fun, unlike so many other recent programming books. On the other hand, one can argue that the value of this information alone to the reader who is equally serious about mastering Drupal, should be sufficient. Regardless, be warned that this is definitely not a book that one can read through at a fast pace, absorbing the bulk of the information. The innards of Drupal alone make it a challenging subject for dissection; learning how to modify Drupal's behavior, is even more so.

Yet if anyone is interested in mastering the inner workings of Drupal, and how to customize them, this is the book of choice. It may be a bit dry, but it is quite meaty, and the material is clearly presented. Moreover, the publisher, Apress, has done an admirable job with this title. The layout is clear; the index is substantial; and, as with their other titles, they offer two different versions of the table of contents — high-level, listing the chapter titles only, and detailed, listing the sections and subsections within those chapters.

Another aspect of this book that I applaud is the efficient use of page space, through the use of top and bottom margins that are noticeably smaller than those found in the typical computer programming book. This is especially true of the bottom margins. For instance, on page 117, the text comes within one centimeter of the bottom edges the page — something I've never seen before in a professionally printed book. At first it might strike one as sloppy, but actually should be appreciated by anyone who is tired of technical books using excessive margins for padding out a much more limited amount of information into an even greater number of pages. This is a practice that I would recommend to all other publishers, technical or otherwise.

However, the book does have some weaknesses, which is probably to be expected in any first edition. The sample source code in many cases could benefit from more use of whitespace — particularly for the PHP code. But with any code found in a book, there is always the possibility that such instances of compressed code result from a conscious decision given the limited width of the printed page. But in most such cases in this book, that reason would not be applicable.

The authors do not warn the reader that a solid understanding of PHP is needed for using the book's ideas and sample code. Near the end of the Introduction, they suggest that if the reader is new to Drupal, then he or she should read the chapters in sequence. The authors should also note that if the reader is new to PHP, then it would be better to first get up to speed on PHP before trying to digest and make use of this book. Such points might be obvious to most readers, but they should be clarified up front, perhaps in the Introduction, for the benefit of anyone browsing this title in a bookstore, and wondering if they already possess the technical know-how required by the book.

Similarly, the authors also do not mention that the book is, for the most part, only applicable to Drupal version 5, and not version 4 or earlier versions, since there have been some dramatic changes with the release of version 5. In fact, given the extent of the changes and how that would impact the utility of the book depending upon what version of Drupal the reader is using, it should be noted on the book's cover, as an increasing number of publishers are doing.

A couple of minor problems were in evidence in the first dozen pages. On page 3, the authors refer to "user 1," which is likely to confuse most readers, because it looks like a username, and would be unfamiliar to someone who has installed Drupal and created a Web site, without extensive reading of the Drupal documentation. On page 11, the authors discuss core modules, and where they can be seen listed in the administration area of Drupal. But the path that they provide, "sites/all/modules," is incorrect, because that is where user-added modules are placed, of which there are none in a default installation. (The second mention of that path, in the fourth paragraph, is correct.)

Lastly, when the book is opened up to any of the pages not near the center, the book immediately flops closed. The use of lay-flat binding is strongly urged, for future editions of this book and all others that Apress offers.

Despite these weaknesses — all of which are fixable — Pro Drupal Development is strongly recommended for any PHP programmer who wants a truly in-depth look at how Drupal works and how to make the most of it.

Michael J. Ross is a Web developer, freelance writer, and the editor of PristinePlanet.com's free newsletter.


You can purchase Pro Drupal Development from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

112 comments

relatively excellent? (2, Funny)

mi (197448) | more than 7 years ago | (#19414295)

in part due to its relatively excellent documentation

Nice term... So, depending on the base, the same thing could also be called relatively shitty, or relatively mediocre? Indeed, it can...

Everything is relative, is not it? So why say it?

Re:relatively excellent? (1)

smartbei (1112351) | more than 7 years ago | (#19414375)

Presumably, 'relatively' would refer to the other CMS products available. So the documentation should be excellent, relative to the other CMS solutions.

Re:relatively excellent? (1)

rlanctot (310750) | more than 7 years ago | (#19414601)

I'd have to agree with this. Don't run into problems with Drupal, you won't find any answers in the documentation or forums. We had to end up using Community Server.

Re:relatively excellent? (2, Interesting)

paganizer (566360) | more than 7 years ago | (#19415405)

I haven't tried drupal.
I have tried Joomla (on crack. I just don't quite understand how the people using it can call it intuitive), Mambo (see my Joomla snide comment), PostNuke (rocks, pure and simple. Very Free), DotNetNuke( pretty good, more stable than postnuke, slightly. Free, but apps usually cost) and most recently, Community Server.

I freaking love community server personal edition. free. fair docs, but you don't need 'em. stable. can't expand it easily, but it comes with a blog, file, photo, forum, tagging...and some other stuff, off the bat. good implementations, at that. If you just need to throw a quick website out there with the essential parts of a site working, Community Server is the obvious choice. after that.... probably postnuke, but you're gonna have to get some of the freebie add-ons to make it get to the point that community server starts at.
I do not work for or even have a clue who makes community server, BTW.

Re:relatively excellent? (1)

klenwell (960296) | more than 7 years ago | (#19415627)

I've been looking for a *AMP-driven CMS to invest some time in. A few months ago, after a bit of investigation, I settled on Joomla but agree with the parent's complaint about intuitiveness. Haven't fallen in love with it.

I'll have to check out PostNuke and Community Server. But I noticed on its Wikipedia page that it's .NET-driven:

http://en.wikipedia.org/wiki/Community_Server [wikipedia.org]

I'm focused right now on PHP/MySQL packages. What do others like and why? (Do "community server" and "content management system" mean the same thing?)

I'd like something that is easy and intuitive. And something especially that makes it easy to change the look and feel -- both with a stylesheet and by altering html, if necessary.

Thanks,
Tom

Re:relatively excellent? (1)

paganizer (566360) | more than 7 years ago | (#19416865)

PhpNuke & Postnuke, in that order. PhpNuke has sort of fallen to the wayside, all the cool kids develop for Postnuke now. and everything, and I mean everything, is changeable. look & feel is mainly based on stylesheets, and there are a zillion pre-made "themes" out there for free.
Postnuke is fun. I've been playing around with this whole web thing since around '95-'96, and tried a lot of different things; PostNuke seems to be the best "platform" I've seen, it is powerful, and very, very easy to embed your own apps and add-ons right into the guts of things, as long as you are willing to put up with open source documentation & mentality when you need help.
IMO, there is no dif between a "community server" and a "Content Management System", except for fine distinctions that make no sense to anyone except the people who claim there is a difference.
But you asked for what other people thought. Sorry. And I'm not sure if there is any Cyclic adenosine monophosphate involved.

Re:relatively excellent? (5, Informative)

twinkie_away (1112367) | more than 7 years ago | (#19416955)

I like Drupal. It has a dedicated security team. That helps me sleep at night.

I like that each bit of HTML content that Drupal puts out (like the user login form, for example) and be easily overridden or modified without changing any core code (I just make a template file and do it there and Drupal automatically sees it).

I like that the output from Drupal is already in semantically meaningful CSS classes. If I want to tweak the way the breadcrumbs look, I just override the breadcrumb class in my own style.css file. Ditto for titles, menus, etc.

Re:relatively excellent? (2, Informative)

Fred_A (10934) | more than 7 years ago | (#19418185)

I haven't tried drupal.
I have tried Joomla (on crack. I just don't quite understand how the people using it can call it intuitive), Mambo (see my Joomla snide comment), PostNuke (rocks, pure and simple. Very Free), DotNetNuke( pretty good, more stable than postnuke, slightly. Free, but apps usually cost) and most recently, Community Server.


Hadn't heard of community server. Now I know why :

Community Server runs exclusively on the Microsoft web application platform. This enables Community Server to focus on being the best of breed solution versus being limited by common denominators across multiple vendors' web application platforms.
(from their knowledge base "requirements" [communityserver.org] page)

So I'll pass since I don't have any hosts meeting the requirements.

Re:relatively excellent? (0)

Anonymous Coward | more than 7 years ago | (#19419213)

I'm gagging a bit at seeing IIS (well, the platform that IIS is a part of) and "best of breed" in the same sentence...

Re:relatively excellent? (0)

Anonymous Coward | more than 7 years ago | (#19415237)

Minimally Exceptional is my favorite. My compliments go to George Carlin.

At least one thing is not relative. (1)

Medievalist (16032) | more than 7 years ago | (#19416637)

Everything is relative, is not it?
Some wacky german guy with a bad haircut told me the speed of light in a vacuum is invariant.

So I told him, "get a job, you hippy!"

zzz... (0)

Anonymous Coward | more than 7 years ago | (#19414337)

zzz...

I've said it before and I'll say it again (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#19414341)

PHP: Because 1 billion newbies can't be wrong.

Re:I've said it before and I'll say it again (0)

Anonymous Coward | more than 7 years ago | (#19414401)

Hey, could be worse.

Could be perl.

Re:I've said it before and I'll say it again (3, Funny)

neoform (551705) | more than 7 years ago | (#19414405)

Damn right.

Real web developers make their sites using Assembly! Screw those lame high level languages.

MySQL? Bah! I store my databases in txt files like a real man.

Re:I've said it before and I'll say it again (1)

iknownuttin (1099999) | more than 7 years ago | (#19414477)

Damn right. Real web developers make their sites using Assembly! Screw those lame high level languages. MySQL? Bah! I store my databases in txt files like a real man.

Dude! You need to write a book called: "Programming the Web for Real Men."

It could a whole series of books! Like: "PHP for Real Men!" or "Buddhism for Real Men!" or "Emotional Healing for Real Men!"

You're sitting on a Goldmine! I tell you!

Re:I've said it before and I'll say it again (1)

dattaway (3088) | more than 7 years ago | (#19414501)

Assembly is cheating. REAL engineers use state logic diagrams and troubleshoot the output with a logic analyzer and slide rules.

Re:I've said it before and I'll say it again (1)

eviloverlordx (99809) | more than 7 years ago | (#19414683)

Logic diagrams? Slide rules? REAL engineers use plain white paper and an abacus, and they like it that way.

Re:I've said it before and I'll say it again (1)

bigtangringo (800328) | more than 7 years ago | (#19414715)

Barefoot, in the snow, and up hill in both directions!

Re:I've said it before and I'll say it again (1)

Un pobre guey (593801) | more than 7 years ago | (#19417851)

Abacus? What's wrong with a couple of sheets of scratch paper? Kids these days, always the latest gadgets...

Re:I've said it before and I'll say it again (4, Funny)

niceone (992278) | more than 7 years ago | (#19414651)

Pah. I answer all of my HTTP GET requests personally, by hand. It makes dynamic content so much easier.

Re:I've said it before and I'll say it again (1)

deletedaccount (835797) | more than 7 years ago | (#19421385)

psst. That's what http POST is for.

Re:I've said it before and I'll say it again (1)

morgan_greywolf (835522) | more than 7 years ago | (#19414819)

Assemblers! Pffft! Kids these days. In my day, we toggled our Web pages in from the front panel!

Text files?! Pfft! That would imply a file system. REAL databases are stored on paper tape!

Kids! *sigh* Now get off my lawn, you brats!

Blog package (0)

Anonymous Coward | more than 7 years ago | (#19414387)

Thought drupal was a blogging package. I looked at it when I wanted to setup my own blog, but ended up using Wordpress.

Re:Blog package (1)

twinkie_away (1112367) | more than 7 years ago | (#19414693)

Drupal can be used for blogging, but it's more likely to be used as the framework for a community site. If all you want is a blog, you're better off with Wordpress. If you want a site that starts out as a basic "about us" site then morphs into a discussion forum that sells shoes and plots the resulting sales using Google Maps (only for users living in Ohio; users living in other states get different permissions) then Drupal is the way to go.

Re:Blog package (0)

Anonymous Coward | more than 7 years ago | (#19415671)

I thought it was where the union carbide factory blew up in the 80's.

Joomla For the Win (1)

killbert (1112355) | more than 7 years ago | (#19414423)

Okay... so I've used both Drupal and Joomla, but I think Joomla has the biggest future right now, especially with Beta 1.5release2 having just been unleashed soon. Joomla has a huge following behind it since it garnered a lot of attention when they broke off from Mambo awhile back. Now there are hundreds or thousands of extensions available for your website and really high quality themes. Just look at the demos on http://rockettheme.com/ [rockettheme.com] if you want proof.
With my personal statement said... I have nothing against Drupal or this documentation. If people enjoy using Drupal to develop sites then all the power to them.

Re:Joomla For the Win (1)

moore.dustin (942289) | more than 7 years ago | (#19414627)

Joomla is for people who are not technically inclined, but willing to learn a little in order to make a decent site. It is great for that LARGE community of people and it does work well. That being said, Drupal is the choice for programmers looking for a powerful CMS that is documented well and easy to extend in many more ways. You have much more control over Drupal than with Joomla. You can look at it this way:

Suppose you have a house and you are looking to do some work on it, you know facelift, upgrade, new addition, whatever. Joomla is like a store, you can get a bunch of different things in the store to fix up your place - Lots of items to choose from! Now Drupal on the other hand, is like a store as well, but it also toolbox (programmers skill) that you can use to change any part of your house.

Not to bring Joomla down in that same regard, you can of course jump in the code and start messing with things too, but Drupals structure makes it much easier and the amount of things you can manipulate are wide-ranging.

Re:Joomla For the Win (1)

FreeKill (1020271) | more than 7 years ago | (#19415435)

I disagree. Joomla is a great package, no doubt about it, but in terms of ease of extensibility and the ability to customize every aspect, Drupal has it beat hands down. I've used both in a variety of projects, and Drupal is just much easier to work with.

Re:Joomla For the Win (1)

moore.dustin (942289) | more than 7 years ago | (#19415929)

I think you just disagreed with me and then reiterated the same points I made? :) Just have replied to the wrong one?

Re:Joomla For the Win (3, Informative)

truthsearch (249536) | more than 7 years ago | (#19414821)

I looked a Mambo a few years ago and the code was pretty much as bad as I could imagine. It was so poorly written that I didn't even install it to try it out.

Drupal, on the other hand, is extremely well written as Dries is very strict about submissions to the core. I know Drupal inside and out and that's only possible because it's very well written and documented. An entire site is dedicated just the automatically generated API documentation.

Re:Joomla For the Win (1)

imgumbydamnit (730663) | more than 7 years ago | (#19415155)

What you say regarding code quality is true of Mambo, and to a lesser extent, of Joomla 1.0.x. On the other hand, the post-Mambo fork team has been rebuilding the upcoming 1.5 release from the ground up.

When I went looking in 2003 for a pre-built CMS to supplant the simple LAMP-based site I had written for a small non-profit, though Drupal looked like it could have all sorts of power someday, I could see that I could build them a fully featured site with Mambo in less than a month's worth of nights n' weekends.

Drupal beats every other CMS (1)

bobv-pillars-net (97943) | more than 7 years ago | (#19424103)

Drupal, on the other hand, is extremely well written...
Yup. I work for an ISP and I've installed and configured about eight different CMS's, not counting shopping-cart systems.

Drupal is the only one I've seen whose internals are reasonably clean and straightforward.

In every other case, when I looked at the code, my immediate reaction was, "I should rewrite this; It's too sloppy to maintain."

In many cases I had to edit nearly half the files just to eliminate unassigned variable warnings, or to turn off the Register_Globals option, or to make it work in "Safe Mode".

Re:Joomla For the Win (2, Informative)

Machitis (597087) | more than 7 years ago | (#19415079)

I've used both Joomla (1 and 1.5) and Drupal (5) extensively in multiple projects, personally and professionaly. Hands down, Drupal is more powerful, better thought-out, and sports an excellent community and community-contributed content.

That's not to say Joomla is bad -- in fact, it's very good, and like you said, 1.5 could bring a revolution in CMS = Framework -- but many of the advances 1.5 will make have already been realized in Drupal 5.

In addition, the shear number of extensions for Drupal combined with the relative ease of developing modules for it put it ahead of Joomla squarely in my book.

Re:Joomla For the Win (1)

risk one (1013529) | more than 7 years ago | (#19417719)

I looked at them both (and many others), but Joomla still uses table based layouts. You can hack stuff together to get around this, and it'll disappear in future releases, but that's not good enough for me. I simply couldn't bear it if people looked at the source for my websites and saw td's and tr's all over the place. I know what my conclusion is when I see a website like that. So I use Drupal, which has perfect div-based html out of the box.

Re:Joomla For the Win (0)

Anonymous Coward | more than 7 years ago | (#19418051)

Could you explain why tables are bad?
I've heard this before, and am genuinely curious.

Also, can't you just create a DIV-based template for joomla?

Re:Joomla For the Win (0)

Anonymous Coward | more than 7 years ago | (#19419103)

Why Tables Are Bad For Layout [phrogz.net] makes several good points:

      1. Tables are usually more bytes of markup. (Longer to download, and more bytes of traffic for the host.)
      2. Tables are usually slower to layout for the browser. (Takes longer for the user to see anything on the page.)
      3. Tables usually prevent incremental rendering. (Takes longer for the user to see anything on the page.)
      4. Tables may require you to chop single, logical images into multiple ones. (This makes redesigns total hell, and also increases page load time [more http requests and more total bytes].)
      5. Tables break text copying on some browsers. (That's annoying to the user.)
      6. Tables prevent certain layouts from working within them (like height:100% for child elements of ). (They limit what you can actually do in terms of layout.)
      7. Once you know CSS, table-based layouts usually take more time to implement. (A little effort up-front learning CSS pays off heavily in the end.)
      8. Tables are semantically incorrect markup for layout. (They describe the presentation, not the content.)
      9. Tables make life hell for those using screen readers. (Not only do you get the other benefits of CSS, you're also helping out the blind/partially-sighted. This is a Good Thing.)
    10. Tables lock you into the current design and make redesigns MUCH harder than semantic HTML+CSS. (Have you seen CSS Zen Garden?)

Re:Joomla For the Win (1)

binford2k (142561) | more than 7 years ago | (#19423893)

Also, can't you just create a DIV-based template for joomla?

No, you cannot.

Re:Joomla For the Win (0)

Anonymous Coward | more than 7 years ago | (#19424027)

Why not?

Sure, most of the modules' and components' html may be table based, but they are typically self-contained html fragments that should fit into the larger template.

Re:Joomla For the Win (1)

midnighttoadstool (703941) | more than 7 years ago | (#19418015)

I reckon the reason I cannot trust your opinion is your use of the word 'unleashed'. Sorry, buddy, but I couldn't read past it, and will continue to take Drupal seriously.

Joomla's coding is garbage. ModX FTW. (0)

Anonymous Coward | more than 7 years ago | (#19418141)

I work at a shop that does a LOT of custom CMS work.

Joomla is horribly coded. You have core functions returning table markup, FFS. (Yes I know there are workarounds now but it's a pain) If it does what you need out of the box, great, if you need to do custom stuff with it, it's garbage.

Drupal is very good. It's not the most polished, but it is surprisingly flexible. I've built several sites with it and can always find a way to do what I want. It has some warts tho.. I have found myself struggling with getting the menu working properly, Drupal can be stubborn about its core menu items.

However, our CMS of choice around here is ModX. Incredibly powerful, very well thought out and organized, infinitely flexible, and a very slick backend too. The Wayfinder snippet for building menus is pure gold, that's a huge plus.

having just been unleashed soon? (1)

walterbyrd (182728) | more than 7 years ago | (#19419791)

Is that like "relatively excellent" ?

The theory and the practice (0)

Anonymous Coward | more than 7 years ago | (#19414439)

The theory is that frameworks and extensible apps provide APIs making them a good default choice for customization. The reality is that unless you're writing a cookie-cutter app, the API is going to take as long to learn well as writing a reusable component lib yourself.

I've had it with frameworks and CMS solutions. I have a lightweight framework and a bunch of pre-written classes that let me create a custom app without the bloat and inevitable hoop-jumping.

Re:The theory and the practice (1)

liquidpele (663430) | more than 7 years ago | (#19414695)

Writing your own library/classes like that (I do the same) also lets you avoid the cookie-cutter vulnerabilities out there. The big CMS offerings are prime targets for those. I don't have any installed, and I get lines in my apache log for them all the damn time.

Re:The theory and the practice (1)

truthsearch (249536) | more than 7 years ago | (#19414889)

Drupal's pretty good about staying on top of those vulnerabilities. The problem is that many sites never upgrade once they install.

Glad to See (3, Funny)

techsoldaten (309296) | more than 7 years ago | (#19414451)

Glad to see the

reviewer is paying

attention the ample

margins throughout the

book. It helps me

make a purchasing

decision, I really

only ever buy books

with good margins.

M

Re:Glad to See (2, Funny)

Asgerix (1035824) | more than 7 years ago | (#19415691)

I'm glad to see that
. . someone is paying attention to
. . . . the Live Ink [venturebeat.com] text formatting.

It makes text
. . so much easier
. . . . to read!

"logically organized"? (1, Offtopic)

grasshoppa (657393) | more than 7 years ago | (#19414563)

Logically organized? That's a funny phrase; Most of us who have programmed know that logic != intuitive. Just take a look at any interface designed by a programmer. It's logically organized, but intuitive? Hardly every. /pedantic

Re:"logically organized"? (1)

Trigun (685027) | more than 7 years ago | (#19415167)

You want pedantic?

Doesn't organization imply logic? The sheer fact that something has been organized pretty much means put into logical groups. Whether everyone can immediately see or understand the logic is another topic.

Now, that's pedantic!

Re:"logically organized"? (1)

leonem (700464) | more than 7 years ago | (#19421513)

Conversely, some things are intuitive at first, but fall down later because they are not logical, so you can't apply things you've learned one place elsewhere.

The best interfaces are logical, and expose the logic as intuitively and quickly as possible. I guess the problem is working out what someone will be able to interpret quickly. Case in point: icon-only control systems may take up less space, but unless the pictures actually represent something the user already knows about, they are less easy to intuit than written names.

Closed comment (0, Troll)

Timesprout (579035) | more than 7 years ago | (#19414655)

Timesprout post an insightful comment on this article which included a detailed explanation of why 42 is the answer to everything, what the ?? in step 2 of the 3 steps to profit meme really is and how to easily fill Natalie Portman's pants with hot grits, and even better, how to then get her to remove those pants.

However Timesprout failed to use lay-flat text for his comment and it flopped closed as soon as it was posted which means no one can read it unfortunately.

Slashdot Ed.

Think Patriotically: +1, Helpful (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#19414671)


act stupidly by supporting the Rapture [wikipedia.org] President [whitehouse.org] .

Cheers,
Philboyd Studge

Drupal on Dr. Dobbs (5, Informative)

twinkie_away (1112367) | more than 7 years ago | (#19414873)

It should be noted that the first chapter of the book is available on Dr. Dobb's [ddj.com] and gives a good overview of what Drupal is and how it works.

MediaWiki (4, Interesting)

saibot834 (1061528) | more than 7 years ago | (#19414967)

I'm the Administrator of my school's homepage and I use the software MediaWiki [mediawiki.org] also used by Wikipedia. Of course, it's designed mainly for community projects such as Wikipedia and Wikia [wikia.com] -Wikis but it works equally well with few editors. And you have the big advantage of being able to open up your homepage, making it editable by others (in my case, the teachers and perhaps even students).

What I don't like about Joomla and all those WYSIWYG [wikipedia.org] -Editors is, that the homepage is not standardized. Every editor has his own way of formatting and making headlines and so you get many pieces instead of _one_ homepage. With MediaWiki you just enter
== Headline ==
and every headline looks the same.
IMHO, MediaWiki is a great choice, particularly if you have more than one editor.

Re:MediaWiki (1)

Mouse42 (765369) | more than 7 years ago | (#19417057)

Theres now a module to have a wiki-text filter for Drupal, so if you want to format text like usuale wikis, just install that module.

Re:MediaWiki (1)

muszek (882567) | more than 7 years ago | (#19418025)

You're talking about syntax as a thing that's defining the difference between wikis and CMSs while in fact this is just a way of entering data. As my sibling noted, you can use wiki-like syntax in Drupal. You can use a regular html, bb-code, a few different wysiwyg editors and heck knows what else.

What I don't like about Joomla and all those WYSIWYG-Editors is, that the homepage is not standardized. Every editor has his own way of formatting and making headlines and so you get many pieces instead of _one_ homepage. With MediaWiki you just enter == Headline == and every headline looks the same.
It's even less "standarized". It's converted to <h2> (or h1, h3, h4...) and they way it actually looks is specified in a CSS file.

Whitespace (1)

drinkypoo (153816) | more than 7 years ago | (#19414985)

The sample source code in many cases could benefit from more use of whitespace -- particularly for the PHP code.

I haven't read the book, so I don't know which direction they have gone, but this either means that they are following or breaching the Drupal conventions for code formatting. Drupal has an entire document on coding standards [drupal.org] , and someone who HAS seen the book could perhaps comment on whether the examples follow the standards or not...

Re:Whitespace (2, Informative)

twinkie_away (1112367) | more than 7 years ago | (#19415101)

The examples in the book follow Drupal's coding standards.

Drupal Optimization == oxymoron (0, Troll)

inah (82745) | more than 7 years ago | (#19415093)

Drupal is designed so terribly, the entire book could be devoted on optimization, and it would not be enough.

now, the Woodrow Wilson PTA for Podunk, Middle of nowhere might be served fine by Drupal. if your group needs this application to grow, run away. some of the SQL queries are hair raising-ly terrible.

i'm seeing a sad trend among non-profits taking a real shine to Drupal, due to low upfront costs. unfortunately, what they don't know is that long term scaling is pretty out of the question for Drupal. you will end up rewriting 90% of the code to get it usable. and don't get me started on upgrading or even creating forms in Drupal.

having personally used Drupal 4 and 5, i hope the rest of you will stay away and never need to read this book.

Re:Drupal Optimization == oxymoron (3, Informative)

twinkie_away (1112367) | more than 7 years ago | (#19415213)

Or they might want to read the 22nd chapter of the book. It's titled Optimizing Drupal and deals with performance and scalability. Many high-profile sites, such as ubuntu.com, have scaled Drupal. You can see some of them here [buytaert.net] .

Re:Drupal Optimization == oxymoron (1)

Dan Hayes (212400) | more than 7 years ago | (#19416407)

So why do Ubuntu use Plone for Launchpad and Bazaar and are expanding those sites? Clearly if they used Drupal for the original site they've decided otherwise for newer sites!

Re:Drupal Optimization == oxymoron (1)

twinkie_away (1112367) | more than 7 years ago | (#19416643)

They have been users of both Plone and Drupal. Matt Nuzum has a post here [bearfruit.org] .

Re:Drupal Optimization == oxymoron (1)

graveyhead (210996) | more than 7 years ago | (#19415377)

Wow I guess The Onion, Tim Berners-Lee blog and the little corner of the web where I work [splendora.com] don't scale and are horrible messes of spaghetti code.

Oh wait, they're not. Troll.

Re:Drupal Optimization == oxymoron (3, Interesting)

GrouchoMarx (153170) | more than 7 years ago | (#19416361)

A few of the organizations that use Drupal on a large scale successfully:

http://www.mtv.co.uk/ [mtv.co.uk]
http://www.theonion.com/ [theonion.com]
http://dead.net/ [dead.net] (The Grateful Dead site)
http://goingon.com/ [goingon.com] (Forbes. Yes, that Forbes.)
http://playboy.de/ [playboy.de] (Playboy Germany, NSFW)
http://www.fighthunger.org/ [fighthunger.org] (The UN)

And that's just the first few I remembered. Drupal scales just fine if you know what you're doing. If you don't, then you won't be able to make anything scale.

Re:Drupal Optimization == oxymoron (1)

k4labz (1019106) | more than 7 years ago | (#19417477)

IMHO, drupal is the best open source cms, powerfull and flexible, with lot of features. Also has very strong community, and a lot of community contributed modules and themes (take look at Drupal Theme Garden [themegarden.org] ).

Another thing: even the inventor of the HTML -- Tim Berners Lee -- uses Drupal for his personal Blog (http://dig.csail.mit.edu/breadcrumbs/blog/4 [mit.edu] )

Re:Drupal Optimization == oxymoron (1)

-noefordeg- (697342) | more than 7 years ago | (#19421037)

Actually, why don't you get started on the upgrading and working with forms in Drupal. I would love to see some input on those.

We've been using Drupal for over a year now. Both small and medium sized projects. It's just a really really good framework. Possible -the- best right now.

Since you didn't bother to actually show any examples of what "sucks so much" I won't bother to make any arguments for why "it rocks" :)

Well I'll tell ya this much, (1)

sirindex (1111327) | more than 7 years ago | (#19415103)

I prefer the ones with wings, as opposed to the just the 'regular-ol-tampax'.

I would never use a product called Drupal! Are you kidding me? Drupal, Dripal - too much of a coincidence for me.

Oh.. wait. CMS? I thought it read.. well nevermind.

Pronunciation? (0)

Anonymous Coward | more than 7 years ago | (#19415373)

How the hell do you pronounce that (horrible) name anyway? Droople? Droopall? Druple? Drupall? Droopal?

Re:Pronunciation? (1)

muszek (882567) | more than 7 years ago | (#19418839)

Drupal

Just discovered Drupal (3, Informative)

Just Some Guy (3352) | more than 7 years ago | (#19415415)

I just tried Drupal for the first time a few weeks ago whenever Google was having problems with their personalized site and I wanted to make a self-hosted equivalent. I have to say that it's just about the slickest CMS I've played with. I installed a couple of modules, configured everything through the web admin, and got my own personal My Yahoo! workalike.

I liked Plone but it always felt over-engineered and sluggish. Drupal, on the other hand, seems light and quick. I don't really have much else to add the the conversation, except to say that it's worth trying if you're looking at CMSes.

Re:Just discovered Drupal (1)

Dan Hayes (212400) | more than 7 years ago | (#19416451)

Having just had to develop a small site using Plone (having never used it or Zope before) I know what you mean. The trouble as I see is that it's based on Zope, which is transitioning from version 2 to 3 (a major change), and so you've got bits of both underlying Plone, with additional integration code which confuses issues even more. Plus developing for Plone has changed a lot from version 2 to 2.1 to 2.5, and the documentation is pretty rubbish - lots of it is outdated, and even more of it is a nightmare to find.

Re:Just discovered Drupal (1)

Just Some Guy (3352) | more than 7 years ago | (#19417005)

Well, I love Zope, or at least like it an awful lot. I "get" Plone. But it seemed like the opposite of its goals, like a giant interdependent ball of dependencies. Drupal was such a breath of fresh air. Want stock quotes? Install the stock quote module and add it to the lefthand column. I'm always a little skeptical of PHP-based projects because so many of them are awful, but Drupal seems like a very decently engineered package. Plus, those sub-second page load times without setting up ZEO clusters and Squid frontend proxies are definitely nice.

Oh CMS up yours.. (1)

vorlich (972710) | more than 7 years ago | (#19417011)

I got fed up babysitting all the material on our commercial website where the staff were hacking away with Dreamweaver 2 (10 euros on ebay) and I was developing it with the ridiculously complex and effing expensive Dreamweaver 8 (they could reduce a 200 page library entry to shreds with a single keystroke) so I found Mambo, checked it out set it up on our development site and then asked the staff to try it. No one could understand it.
Found PHPwebsite, set it up on our development website, asked the staff to test it, they thought it lovely, intutitive but a tad clunky looking.
Then it crashed for no identifiable reason so we had a long hiatus while I installed Moodle on our development website, asked the staff to try it and despite their now healthy scepticism they did and loved it. "Can't we have a cms like this?" Er no.
Then Mambo and Joomla split - ho, here we go this is bound to lead to an interface that could convince the staff to use it. So I installed Joomla on our etc, ad nauseum, ad infinitum, no one could understand it, the learning curve belonged to the NASA Mars Mission and neither I nor any other member if staff with geek credentials to hack Joomla into submission had the time or energy to do so.
Incredibly sad because our Business Manager just loved both Joomla and Mambo as brand names to be associated with. When I think of all those Joomla/Mambo plug-ins such as the remository, they make me drool!
But the Mythical Man-Month (http://en.wikipedia.org/wiki/The_Mythical_Man_Mon th) is ever present.
Product boxes, net library, customer database, flash media and Lord knows what else piles up me and I forget CMS for about three months. Then the US elections arrived and I read a discussion about about Civic CMV (or whatever it is called, I can't be bother googling it at this time of night - BB's on for starters) and I read all the Drupal stuff and thought hmmm, I wonder.
Well Drupal works for the staff, it is a reasonably friendly interface, staff can understand a lot of the cracked geek node stuff and it plugs in with loads of stuff and although it is high-maintenance it isn't the absolutely Betty Blue - http://en.wikipedia.org/wiki/Betty_Blue [wikipedia.org] - level of High Maintenance that the other champ CMSs were. IMHO it has vast potential and with each release, the interface gets better and better. I feel that Civic is among one of the driving forces behind it, although I don't even use that module, and the opportunity for users to contribute is on an entry level slightly lower than the other CMSs I mentioned.
I am fairly certain that I won't be buying this book however, the development of the print edition is never going to be able to keep up with the pace of the application.
Would anyone like to buy my Ubuntu Hacks for version 6 for example. It should be completely useless in 6 months when whatever fluffy edition is released then - and we will update too!

e107? (1)

filterban (916724) | more than 7 years ago | (#19417561)

I did some extensive research for an open source CMS for my WoW guild. I ended up choosing e107 [e107.org] and I couldn't be happier. It's a pretty dang good CMS.

For those of you looking at CMSs... the site Open Source CMS [opensourcecms.com] is an invaluable resource. They allow you to demo all of the popular choices and choose which one you like the best.

Re:e107? (2)

graveyhead (210996) | more than 7 years ago | (#19417689)

Re:e107? (1)

rthille (8526) | more than 7 years ago | (#19418549)

Damn, those are nice CMS's...

Yeah, that's what I care about in that photo, the CMS...right.

Drupal version? (1)

BoldAndBusted (679561) | more than 7 years ago | (#19418829)

I can't find out what version of Drupal the authors based this book on. Anyone know?

Re:Drupal version? (1)

twinkie_away (1112367) | more than 7 years ago | (#19418987)

Pro Drupal Development covers Drupal 5. However, I think many of the concepts laid out in the book are helpful in getting familiar with the "Drupal way" of thinking.

Re:Drupal version? (1)

Maureen Base (933868) | more than 7 years ago | (#19420165)

I am banking on the parent being right. I put off ordering the book (it should be here tomorrow) and even though I don't do PHP I am hopeful about getting some ideas about how Drupal works. I read the theming chapter, and even though I thought I understood that aspect pretty well, I learned enough to encourage me to buy the book. Drupal does have a set way of doing things, and I can easily see how an understanding of the current version could help with future releases.

Re:Drupal version? (1)

gozar (39392) | more than 7 years ago | (#19421869)

I can't find out what version of Drupal the authors based this book on. Anyone know?

Ummm, you could read the review :-) :

Similarly, the authors also do not mention that the book is, for the most part, only applicable to Drupal version 5, and not version 4 or earlier versions, since there have been some dramatic changes with the release of version 5. In fact, given the extent of the changes and how that would impact the utility of the book depending upon what version of Drupal the reader is using, it should be noted on the book's cover, as an increasing number of publishers are doing.

Some additional comments on the book and Drupal (1)

realsablewing (742065) | more than 7 years ago | (#19420011)

I got the book and it has been helpful in distilling down the massive amount of information available about Drupal development. I see Drupal's strength as a framework for building your own applications on top, due to the design of the module and add-on system. I've also used Joomla/Mambo and both can provide a strong CMS for your website. The primary difference lies in whether you want an as much out of the box functionality as you can get (Joomla/Mambo) or if you want some out of the box functionality with easier potential to add in your own functionality or tweak existing functionality more easily. (Drupal)

It was interesting to see the one comment about users having an easier time with Drupal than with Joomla, based on my usage of the drupal.org site and my own Joomla site, I could see that scenario very easily. Joomla did take me some time to get my mind wrapped around how content is organized while with Drupal I'm having a slightly easier time organizing the content and manipulating it into my organization instead of a firm Drupal defined structure.

And on the book, I did find it helpful, but I would've like more information on populating the content from PHP code, I'm currently working on a couple of projects where I need to automatically populate content and the book was not helpful on that aspect. However, it was very helpful as I customize my installation and get my modules setup to work with Drupal.

Off-topic Drupal question (1)

Just Some Guy (3352) | more than 7 years ago | (#19420073)

I just bought the Nintendo DS Browser (Opera), and the sole problem I have with it is that it doesn't store passwords or cookies. Is there a way to bookmark a login URL for Drupal so that I don't have to manually log in each time? I've tried replacing the POST with a GET in the normal login form, but I'm guessing that it expects some cookies to be set before you can actually submit that.

Bonus points and a case of beer for anyone who knows how to write a Squid plugin to store and transmit cookies on a per-user, authenticated basis.

Static page generation (0)

Anonymous Coward | more than 7 years ago | (#19420099)

I have a medium size web site. Most of the contents are stored in the database. I run a Perl script to generate html pages once database changes. I do this way to create static html pages to deliver them faster.

Is it possible to generate static web pages by Drupal? If this is not possible by Drupal, which open source CMS can satisfy my requirement?

Re:Static page generation (1)

Just Some Guy (3352) | more than 7 years ago | (#19422127)

Is it possible to generate static web pages by Drupal? If this is not possible by Drupal, which open source CMS can satisfy my requirement?

Alternatively, you could park the whole thing behind a Squid reverse proxy, or even use Apache's own caching. One tenth the effort and all the performance.

Re:Static page generation (0)

Anonymous Coward | more than 7 years ago | (#19422715)

I think you missed the point. Can I use Drupal to generate static web pages rather than I write my own CMS?

Re:Static page generation (1)

Just Some Guy (3352) | more than 7 years ago | (#19422935)

I think you missed the point.

No, I think you did. The dead easiest way for any CMS to make static pages is to put a proxy server in front of it. A visitor requests foo.php, the proxy saves the output to disk, and the next visitor gets the cached ("static") copy.

This has huge advantages. First, you don't have to to pre-generate every single page on your site whether it's going to be served or not. Second, the cache doesn't expire everything simultaneously so your CMS can idle along happily only generating content periodically, rather than having long periods of disuse punctuated by huge bursts of activity.

To answer your question directly: I don't know of any CMSes that will spit out static HTML. However, since I've never imagined the need for it in favor of better alternatives, I've never really looked.

SilverStripe CMS, Drupal & Joomla (1)

Tim Norton (1112533) | more than 7 years ago | (#19420429)

Great to see books like this emerge around an opensource product like Drupal. We powered our main blog on Drupal for a couple of years and found it pretty cool, and built heaps of sites in Joomla, and they're both cool, Drupal is a bit hard on non-technical end users though, but over the last 6 months we have moved over to a pretty cool AJAX filled Opensource CMS Silverstripe http://www.silverstripe.com/ [silverstripe.com] . Silverstripe has only been opensource for about 9 months, but its hit the OSS shelf as a clean code base which is very easy to use as its come out of a cool young web company who were sick of there being thousands of CMS's and every web company having there own.

There are definitely heaps of 3rd party modules available for Joomla and increasingly for drupal, and that was a big part of the attraction for us moving to use them, but we found in the end you find that many of them aren't quite right, they're great to get you inspired and have something to play with in 5 minutes, but projects need to be completed just right, so you often still have to develop something from scratch.

If you're into Drupal and the best open source CMS's then SilverStripe is definitely worth checking out.

Re:SilverStripe CMS, Drupal & Joomla (1)

Arancaytar (966377) | more than 7 years ago | (#19420605)

cool young web company who were sick of there being thousands of CMS's and every web company having there own.


I don't queston its quality (hell, I haven't even tried it). But still:

There was this web company who was sick of every web company having their own CMS, so they made their own CMS?

Re:SilverStripe CMS, Drupal & Joomla (1)

Tim Norton (1112533) | more than 7 years ago | (#19422031)

Sorry, What I meant was SilverStripe were a web company with their own CMS like so many others, but then decided to open source it unlike the others, and offered turned their significant investment in SilverStripe into a free community resource and prime contributers to. I think thats pretty cool and is going to help prevent a lot of reinvention by individual web companies. SilverStripe is one of the 3 CMS's along side Drupal and Joomla on the google summer of code, and I think thats a reflection of them being one of the 3 best opensource CMS's in the game. The result in the case with SilverStripe is a very well designed and flexible CMS with good use of ajax, on a fresh code base. These guys actually prepared to go open source by ensuring they finished re-writing the code base fresh, just as a business investing in the new generation of their product, then they gave it to the world. In contrast Joomla came from Mambo as the retired version of the web company Miro's commercial Mambo product and it's still never been re-written. Ofcourse there are reasons, Joomla community has worked hard, and there are so many hacks and cool things built on it that would break and that sort of thing. But in the end we were banging our heads against the wall with core hacks after a year, SilverStripe is fresh, and is going to become an increasing choice among web businesses. Drupal, Joomla and SiverStripe are the 3 standout CMS's I think. SilverStripe are early days on 3rd party components, but this will grow, and they've got a clean base to build on.

Re:SilverStripe CMS, Drupal & Joomla (1)

Arancaytar (966377) | more than 7 years ago | (#19424551)

Mh. I must go check this out. Previously when I've seen any 3 CMS being mentioned in one sentence, the third one (besides Drupal and Joomla) was Typo3... strangely, I never heard of SilverStripe before.

Experiences of drupal (1)

deletedaccount (835797) | more than 7 years ago | (#19421379)

I've used drupal, and although my first impressions were positive, the further I delved the more disappointed I became. If you want it to look and work just like it came in the box then fine, but if you want to add any functionality at all you need to get to grips with an incredibly convoluted API and call hierarchy. I'm not saying it's worse than any of the others out there, just that it's not that great either. quote: "Installing Drupal and using it to create a simple site, is fairly straightforward, in part due to its relatively excellent documentation." The documentation is fragmented, written by multiple unqualified authors and badly organized. It speaks volumes about the drupal approach that their own site has the poorest information architecture I've come across. Even finding your own posts on the forums can be a nightmare. For some types of content, user generated taxonomy navigation is great, but it doesn't work for (a) documentation or (b) forum posts. I'm not trying to troll here, this has been my honest experience. I wasted two weeks on drupal, trying to get it to do what I needed it to do. In the end we decided to go it alone and develop our own CMS type platform because it would take less time than doing it with drupal, and it has indeed proved the case. Perhaps now there's a decent book on drupal development it'll become an easier platform to develop on, but I've not read the book so I can't comment.

Re:Experiences of drupal (1)

twinkie_away (1112367) | more than 7 years ago | (#19421913)

First, installing Drupal is like a three step process.

1. Check the latest stable branch out of cvs:

cd htdocs
cvs -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs /drupal checkout -r DRUPAL-5 drupal

2. Create an empty database in MySQL.

3. In your web browser, go to http://example.com/drupal/install.php [example.com] and run the web-based installer.

Secondly, "finding your own posts on the forums can be a nightmare." Here's a complicated algorithm that may help you. Hang on, this is tough:

1. Log in.

2. Click on "My recent posts".

All of your posts will be listed, with the number of replies, and any replies you haven't read will be noted with "new".

Re:Experiences of drupal (1)

twinkie_away (1112367) | more than 7 years ago | (#19421931)

BTW, I got those instructions for installing Drupal from cvs from here [drupal.org] . cvs -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs /drupal checkout -r DRUPAL-5 drupal

Re:Experiences of drupal (1)

twinkie_away (1112367) | more than 7 years ago | (#19422055)

And I see that this is explained in the book in the Development Best Practices chapter, under Checking Out Drupal from CVS (page 326).

Re:Experiences of drupal (1)

deletedaccount (835797) | more than 7 years ago | (#19422121)

Installing it isn't the problem. Getting it to do anything useful is, or getting it to work the way you want it to is. It's fine for some sites, but not for anything complex.

Re:Experiences of drupal (1)

blakhol (919393) | more than 7 years ago | (#19422213)

Actually most of the Drupal sites I see are complex. Because of Drupal's modularity, you can just plug modules in to add complexity.

Maybe what you need is a good book on Drupal's architecture and how it works so you can "get it to do something useful." Oh, wait! I hear there's one out now. Where did I read that again? I think it was on Slashdot somewhere.

Re:Experiences of drupal (1)

deletedaccount (835797) | more than 7 years ago | (#19422225)

The fact that you need a book on Drupal development kinda contradicts the claim that the documentation is excellent. But yeah, now there's a book it might be easier.

Drupalbook.com (1)

binford2k (142561) | more than 7 years ago | (#19423665)

Buy the book from http://www.drupalbook.com/ [drupalbook.com] help support the Drupal project!
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...