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!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Drupal 6 Social Networking

samzenpus posted about 5 years ago | from the read-all-about-it dept.

Books 122

dag writes "Drupal 6 Social Networking is an interesting book about how to build social networks and why Drupal is a good choice as a platform for building communities. Even if you don't have any Drupal experience yet, this book explains what is needed when you start from scratch and looks at the different facets of a social network." Keep reading for the rest of Dag's review.The book starts off with a short introduction about social networks and a list of compelling reasons why one wants to set up her own social network rather than using an existing social network like Facebook or MySpace. It all comes down to what your particular goals are. The first chapter looks into why Drupal is a good fit for building a community website. Its modular design, use of known technologies and ease of installation, as well as the ample availability of modules help in that respect, and also clearly marks where the book is going next. The other half of the first chapter explains in great detail what is needed during the installation of Drupal to have a working setup. If you are already experienced with setting up Drupal you can skim through this chapter to verify that you did not miss anything with earlier installations.

The second chapter prepares the reader for using Drupal specifically targeted for building a community website. To do this the author comes up with his own example (Dino Space) which is used throughout the book. And while the subject may be far-fetched and very different from what you plan to do, it serves its purpose well. Throughout this chapter the author explains many Drupal related concepts and terminology like Nodes, Content Types or Blocks and how to use these to your advantage when designing your site.

So while the first and second chapters explains and prepares the reader, chapter three helps with important decisions regarding user contributed content and all aspects related to it. User Roles, Comments, Polls, Forums and Blogs. One thing that surprised me was how it is possible to write blog entries from Microsoft Word using a standardized API. And while it is not applicable to me (as a Linux user) I can see some benefit for others within the targeted community. Another topic from the book that I had little experience with is collaborating on a Book within your community. I was always amazed by the annotated PHP manual in the past and this possibility reflects that effort a great deal. The chapter also includes attention to how to automatically generate feeds or include feeds from others, something that helps growing the community.

The next chapter goes into how users can maintain their profiles, how profiles can be extended and themed and how profiles can be shared between websites. It also looks into specific modules to help you eg. integrate OpenID or avatars from other websites. Chapter five explains how users can interact and how the User Relationships and User Activity modules allow users to promote their own content and actions on their site. Much like how Facebook becomes a time log of individual actions of our friends. It also looks at Guestbooks, Contact forms and Groups covering more than I was looking for myself.

One thing I recently had to look into myself was how to communicate with your users. Some users register and then loose touch so there is a clear need to regularly update them about what is happening and what new content is available and that's where chapter six explains how to set up Newsletters or connect your social network to online services like Google Groups.

Drupal is mostly respected for its modular design and Drupal's author often states "If it cannot be done from a module, then that's a design bug which needs to be fixed". That said, almost everything is possible from a module, which offers great flexibility to anyone deploying Drupal to customize it to its own needs. Chapter seven explains in some detail how to write your own Drupal modules from accessing the database, interacting with other services as well as making it installable and customizable. The example shows how to interact with Google Maps from a Drupal module. But also points to similar modules for connecting to Facebook.

Another important aspect of any website is its design, chapter eight shows how to install and configure additional themes, but also explains how to modify existing templates and tweak CSS files. It does not go into great detail though, but it sufficiently points out where to look and how to experiment.

The last two chapters are a bit dim, chapter nine explains how to secure your Drupal site from automated spam and lists a few maintenance tasks every admin should know about. Much like chapter nine, chapter ten does not go into a lot of detail about how to promote your website. It mostly lists important aspects and in some cases provides links to experienced websites.

All in all I was surprised by the many items this book covers, especially the chapters about writing modules and modifying themes is something most buyers will not expect in a Drupal book regarding Social Networking. And while I believe there are better books about those topics, in general this book is a good introduction to Drupal and a guide for those who are also interested in the more advanced parts of Drupal.

I was particularly interested in this book as I set up my own family website based on Drupal and I wanted to know what technologies I missed, and what additional modules I could use to make our own family website better. In that regard this book confirmed for a large part that what I did with Drupal was how it was supposed to be, but I did learn some new tricks and new modules I never investigated before. This knowledge undoubtedly will be useful for some future Drupal-based projects as well.

You can purchase Drupal 6 Social Networking from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

Sorry! There are no comments related to the filter you selected.

Why would anyone want to start from scratch? (0, Troll)

whitedsepdivine (1491991) | about 5 years ago | (#30147322)

If I were to make a social application, I would want to build on top of the APIs that all existing social applications have. Why reinvent the wheel, and why would anyone want to switch to yours when the existing structure has so many users.

Re:Why would anyone want to start from scratch? (2, Funny)

InlawBiker (1124825) | about 5 years ago | (#30147524)

That is covered in Chapter 6: "Steal Facebook's Millions of Users and Become Rich."

Re:Why would anyone want to start from scratch? (2, Funny)

Chad Birch (1222564) | about 5 years ago | (#30147766)

Unfortunately Chapter 5 consists entirely of "???".

Re:Why would anyone want to start from scratch? (1)

basotl (808388) | about 5 years ago | (#30147782)

While these large social networks have their place, niche social networking web sites can help promote businesses, products, projects, and hobbies of any nature.

Three things we don't need. (0)

Anonymous Coward | about 5 years ago | (#30147532)

This book advocates at least three things we don't need:

1) Yet ANOTHER social network. The thousands of existing newsgroups, mailing lists, and web sites are enough.

2) Yet ANOTHER Drupal installation. Drupal needs to be phased out of existence. It is poorly written, full of security holes, and offers horrible performance.

3) Yet ANOTHER user of PHP and MySQL. Both need to be phased out for the same reasons as Drupal.

I'll never purchase a book that advocates such things.

Re:Three things we don't need. (1)

Tiger4 (840741) | about 5 years ago | (#30147606)

Obviously in your own mind you are fully justified in these beliefs. But where is the evidence to back up any of it? I mean, where is it out here in the real world, where the rest of us can see it?

Re:Three things we don't need. (1)

armanox (826486) | about 5 years ago | (#30147624)

Can you provide a better alternative for 2 and 3?

Re:Three things we don't need. (1)

whitedsepdivine (1491991) | about 5 years ago | (#30147882)

C# and SQL Server; But appearently you use linux so you wouldn't know benifits of the development products microsoft actually has done a good job on.

Re:Three things we don't need. (1)

armanox (826486) | about 5 years ago | (#30148434)

Or, you could ask before making assumptions. C# is decent (especially compared to Java). SQL Server is an example of a product that sucks up too much resources (like Oracle, or Windows). I'll leave IIS alone - it beats itself up.

Dayjob - Windows System and Network Admin...

Re:Three things we don't need. (1)

MatthewCase (1681390) | about 5 years ago | (#30150188)

Apparently you make assumptions instead of asking and end up looking foolish.

Re:Three things we don't need. (0)

Anonymous Coward | about 5 years ago | (#30151886)

His daily job is IT, not programming. I hate IT. I wish they would all get a real degree

Re:Three things we don't need. (1)

oatworm (969674) | about 5 years ago | (#30153542)

Hey, I work in IT and I have a BS in Computer Science, you insensitive clod!

Honestly, after doing lots and lots of programming in college, I realized that I really didn't want to make a career out of doing that for 50+ hours a week. Sometimes, it's just nice to stare at a log file for a while, y'know?

Re:Three things we don't need. (0, Flamebait)

Anonymous Coward | about 5 years ago | (#30147972)

PostgreSQL is clearly a far better database than MySQL for any serious work. For smaller, mostly static sites, SQLite is often a good alternative, too.

Just about anything is better than PHP. Perl, Python, Ruby, Erlang, Common Lisp, Haskell, Java, and C# are significantly better in many, many ways. They all have fantastic support for web development, and aside from Java and C#, run just about everywhere. They also have pre-build CMS systems that are much better than Drupal.

I personally prefer the Django-based ones, built using Python.

Re:Three things we don't need. (1)

tolan-b (230077) | about 5 years ago | (#30150046)

"for any serious work."





All minor low traffic sites I'm sure you'll agree.

Re:Three things we don't need. (1)

Shados (741919) | about 5 years ago | (#30150814)

While you're right, you also have to keep in mind that most of the things you mentionned either heavily modified the tools, OR have put crazy amount of work to put something on top to limit their exposure, such as Facebook's extreme reliance on a tuple store, to the point that you could replace MySQL with an Access database and it could ALMOST work.

Re:Three things we don't need. (1)

wmac (1107843) | about 5 years ago | (#30153022)

For your information my social network website (with 1 million members, sometimes 7000 concurrent users and 150 million page views per month) runs on 2 servers (dual quad). One is Apache, the other is MySQL. The whole website uses pure PHP (with zend framework) + MySQL and some Javascript (ajax). I consider it a serious job by the way, and I'll never switch to Postgres (last time we tested we would need at least 3 DB servers instead of our current 1 server to handle the same load).

Re:Three things we don't need. (1)

bobv-pillars-net (97943) | about 5 years ago | (#30150952)

Somebody told me Facebook runs on Erlang. Is that not true?

Re:Three things we don't need. (0)

Anonymous Coward | about 5 years ago | (#30152968)

Facebook chat uses Erlang [] . For the rest of the site, you can glean from that post that it's a combination of C++, Javascript, PHP for the most part, and probably like any shop, other languages too, who knows, Excel macros.

Re:Three things we don't need. (1)

tgeller (10260) | about 5 years ago | (#30150114)

For the record, you can run Drupal with PostgreSQL right out of the box.

Re:Three things we don't need. (1)

bobv-pillars-net (97943) | about 5 years ago | (#30151038)

For the record, I tried. And it's true, most of the core modules work with Postgres. But most of the non-core modules (which are what makes Drupal such a rich platform) don't. Too many developers code to MySQL and don't know or don't care that they are implementing hacks that won't work anywhere else.

For about two years I stubbornly stuck to PostgreSQL and submitted a steady flow of patches to the module maintainers. Some of them were accepted; some weren't. Then I upgraded to a bigger VPS with more memory and could afford to run MySQL and I quit fighting City Hall.

Yeah, it actually takes more RAM to run an optimally-tweaked MySQL server than an optimally-tweaked PostgreSQL server. Go figure.

Re:Three things we don't need. (2, Insightful)

mweather (1089505) | about 5 years ago | (#30149018)

Django and PostgreSQL. Look up Pinax, it's a collection of reusable apps for Django that can be used to make a social networking site.

Re:Three things we don't need. (1)

eiapoce (1049910) | about 5 years ago | (#30154366)

2 - JOOMLA - Much Much Much easier.

drupal (0)

Spyware23 (1260322) | about 5 years ago | (#30147324)

Drupal, drupal, drupal drupal. Drupal.

Re:drupal (3, Funny)

jhoegl (638955) | about 5 years ago | (#30148308)

They made you out of clay

Cool Book! (3, Insightful)

Monkeedude1212 (1560403) | about 5 years ago | (#30147338)

I just need to twitter about it, then update my facebook status about it, then post about it on my blog on blogspot, then adjust my myspace page and/or livejournal.

And maybe do a sketch of the cover to put on my deviant art.

(Point is: Do we need more social networking sites? Why would I start my own...)

Re:Cool Book! (1)

Monkeedude1212 (1560403) | about 5 years ago | (#30147354)

I mean, what are the compelling list of reasons the book supposedly lists... I guess I have to buy it to find out.

Social networking is the new fashion (2, Interesting)

Colin Smith (2679) | about 5 years ago | (#30147432)

It'll be coming to a corporate network near you real soon.

I just want a workflow system that I don't have to write code.


Re:Social networking is the new fashion (1)

smooc (59753) | about 5 years ago | (#30148154)

Although I think will right I also think it won't take off in any company. Putting it in a artificial boundary of an organization actually defeats the whole idea of social networking. My social network is not limited to my colleagues so why would I participate on a "platform" which is limiting my social network to those boundaries while I can find all my colleagues and others outside?

And while I am at it, when will we get that in the end social media is not about the functionality it provides but about the possible depth of the relationships?

Re:Social networking is the new fashion (2)

Eskarel (565631) | about 5 years ago | (#30151902)

Well mostly because it's a natural boundary not an artificial one.

I don't necessarily want to be friends with my boss, and even in cases where I am, there has to be "friend" boss, and "boss" boss, in order for that to work. Extending that out to colleagues you are not friends with is even worse. My work life and my personal life are and must remain separate, because that's the way life works. Your boss doesn't need to know you got really drunk last night, and your friends don't need to know the confidential details of your most recent work project.

That said, I personally find that PHP is a bad fit for an enterprise level system, so I'm not a big fan of drupal(or for that matter any of the other miss the boat systems of its ilk). Enterprise social networking however, if done for the right reasons and with the right focus is quite useful.

Re:Cool Book! (0)

Anonymous Coward | about 5 years ago | (#30147444)

(Point is: Do we need more social networking sites? Why would I start my own...)

Well, if you can make it 100 times better than Facebook and get ti advertised well enough, then people will migrate like geese and you can end up making money by selling it for a billion to someone that is willing to offer it.

But I doubt a book could cover how to make it that much better than the existing ones.

Re:Cool Book! (4, Informative)

Anonymusing (1450747) | about 5 years ago | (#30147464)

Maybe you want to start a private social network, geared to one specific group of people.

There's always Ning [] or Flux [] ... but maybe you want something really custom.

Re:Cool Book! (2, Insightful)

IGnatius T Foobar (4328) | about 5 years ago | (#30147834)

a private social network, geared to one specific group of people

Gee, I think I've heard of something like that ... it's called a BBS.

(Actually, when you think about it, any social network is really nothing more than a really big BBS with some domain-specific optimizations.)

Re:Cool Book! (1)

lennier (44736) | about 5 years ago | (#30147920)

"(Actually, when you think about it, any social network is really nothing more than a really big BBS with some domain-specific optimizations.)"


I run a Ning site and for me, it's the first time I've felt the simplicity and friendliness on an Internet forum that good old BBSes had back in the 80s. Sorry phpBB, but you just aren't quite the same (though you're a good #2).

It's only taken 25 years for the Internet to catch up with Fidonet, but never mind.

Also, tubes sound warmer, darnit. Now take your newfangled 'emo' and give me some good grunge/punk/disco/rock/jazz/Gregorian chant, whatever is older than you.

Re:Cool Book! (2, Interesting)

IGnatius T Foobar (4328) | about 5 years ago | (#30153118)

it's the first time I've felt the simplicity and friendliness on an Internet forum that good old BBSes had back in the 80s.

You might also enjoy Citadel [] , which started life as a BBS package and is now popular as a groupware platform. People are still using it to run online communities, too.

Re:Cool Book! (1)

Rhaban (987410) | about 5 years ago | (#30154388)

phpbb is and has always been evil.

It is the metadata and database stupid! (1)

jotaeleemeese (303437) | about 5 years ago | (#30154338)

It is surprising how Luddite some old timers are.

Social networks, as their name implies (duh!) allow you to use relationships between people to improve the service you provide.

Re:Cool Book! (1)

KnownIssues (1612961) | about 5 years ago | (#30148118)

Maybe you want to start a private social network, geared to one specific group of people.

An anti-social social network. I like it!

For online learning (0)

Anonymous Coward | about 5 years ago | (#30151002)

htttp:// - these guys are building up one for higher education.

Flux You Ning Twit Face Tube Book (1)

syousef (465911) | about 5 years ago | (#30153564)

Maybe you want to start a private social network, geared to one specific group of people.

There's always Ning or Flux... but maybe you want something really custom.

I've got it! We can call it "Flux You Ning Twit Face Tube Book". I'm going to be rich I tells ya!

Imagine if instead of one world wide web we had such fragmentation.

Re:Cool Book! (1)

gandhi_2 (1108023) | about 5 years ago | (#30147510)

don't forget to make a video for youtube of you talking about it. your vlog will get you all teh rankings!

Re:Cool Book! (1)

east coast (590680) | about 5 years ago | (#30147522)

We have a near-social network intranet where I work. Not a replacement for the real social networks out there but it does allow employees to get the kind of information out there that normal intranet sites normally wouldn't. I guess it makes people who work here seem more personable. Who knows if it has real value but it's there none the less.

Re:Cool Book! (1)

jc42 (318812) | about 5 years ago | (#30150210)

(Point is: Do we need more social networking sites? Why would I start my own...)

Well, I've recently got ahold of several drupal books, and lots of the online docs, and installed on a handy machine. The reason is that I'm involved in a couple of products where we could really use a local social network/news/blog site over which we have full control. Drupal seemed to have lots of rave reviews, so it was a good candidate.

Unfortunately, after several weeks of roughly half-time studying the docs and experimenting with the software, I had to admit that "I just don't get it". I wasn't able to make it do anything useful. This was mostly because I found the docs a morass of new jargon, none of which I understand, mostly written by people who apparently don't understand the concept of a "definition", and think that glowing descriptions are the same thing. A few questions on the drupal forum didn't help much. For example, after all that reading, I have no idea what a "node" is or how to recognize one when I see it; I only have many assurances that it's an important concept. At first I thought it was a kind of file, then I thought it might be like what browser users call a "page", and I had several other guesses, but I had to admit that all were probably wrong.

So I faced the fact that I had to get something working and usable. I collected a mixed bag of more limited tools from elsewhere, started exercising my mad perl skillz, and a few weeks later I have something that impresses the clients enough that they've started using it and burying me under requests for more features.

Now, I can tell by googling that many of those requests could probably be handled by something in drupal. But unless I can find something that will explain to a dummy like me what buttons to hit on my keyboard and/or mouse/touchpad to get something actually working, I don't think I'll be quite as willing to throw away any more resources on it. I'll just write off the money (and time) I spent on the books as a loss.

So is this book useful to a dummy who doesn't yet understand the jargon? Can an experienced programmer with no knowledge of drupal's terminology actually use it to produce something useful? And would that programmer understand the results well enough to be able to tweak it the way a client wants? (That's mostly deep stuff like "Can you put that button on the left and make it a bigger font?" ;-) Would money spent on the book pay off, or would I still be unable to get anything to work right?

I also have some serious security questions, but I suppose this isn't the place to ask them. And unless I can get the nuts-and-bolts stuff to work, they're not too relevant to anything.

Re:Cool Book! (1)

Bozovision (107228) | about 5 years ago | (#30152358)

I can't answer most of your questions because I haven't read the book, but I can tell you that a node is the smallest unit of addressable content that Drupal deals in. What's that in English, you ask? By addressable, I mean it has a URL, and can be displayed provided you have the rights to view it. By content I mean that it's something that someone entered into Drupal, and it's stored in the database. By smallest I mean that as a reader of the site, while you often view a node by itself, nodes can also be combined to produce a page - for instance by the Views module or the Panels module. Usually this combination is a node itself.

Nodes can also be differentiated from one another by their Content Type, for instance one node may be a Story or Article node, while another might be a House Listing node. This helps in making lists of nodes, and in searching them.

From a programming point of view, a node is an interface abstraction - if you write a module for dealing with a new sort of content, and want all the benefits of the framework (for example, making any data held in your new sort of content searchable), then you implement a few well-described interfaces, and voila!, Drupal is able to manipulate your new sort of content. This interface is in the form of hooks that you implement for your new sort of content.

You are also free to ignore these hooks, putting your data outside of the range of what Drupal considers to be content. An example of a module that does this is Webform - which is used to collect forms that site users fill in. This data does not appear in the Drupal search index, or benefit from any of the automatic rights that nodes enjoy.

Sorry about the state of the documentation: it's hard to find the right level for everyone. Perhaps it needs more signposting.

Re:Cool Book! (1)

oatworm (969674) | about 5 years ago | (#30153666)

O'Reilly's Using Drupal [] is pretty helpful with the basics. I'm not going to lie to you, there's definitely some opaque terminology in there, but I've noticed that seems to be true with CMSes in general. I still tend to squint a bit when I have to think about vocabularies and taxonomies, so don't feel too bad.

Once you figure out that just about everything in Drupal is a database object, it all starts to make sense. A "node" is functionally the same as a database table. A "view" is functionally the same as a database query. "Vocabularies" and "taxonomies", meanwhile, can be thought of as related tables that you can use to fine-tune your queries (erm... "Views"). Just as you can have two tables with identical data types but different names, and just as you might do that for organizational purposes (i.e. one table stores shop equipment, the other stores shop inventory), you can use "nodes" with similar data types but different names. In fact, if memory serves, a "Page", "Story", and "Blog Post" all use the same data types, but are given different names so you can treat each one differently if you're so inclined. Similarly, just as you can have a table with a column that stores related information with another table (say, a key that corresponds to a specific manufacturer), you can attach a taxonomy to a class of nodes (Page, Story, Blog, custom, whatever), and even have what amounts to sub-taxonomies ("Vocabularies").

To be honest, the data structure format isn't what drives me slightly insane about Drupal. No, in my case, it's the rather frustrating experience of finding the right combination of modules that actually does something useful. For example, let's say you want a contact form. Naturally, you would use the built-in Contact module, right? Ah, but then you're limited to only having one contact form on the entire site - that's probably not what you want. Let's see if somebody expanded it. Well, there's the Contact Forms [] module, which lets you split out each contact form category into a separate page. But, what if you want each contact form page to be able to handle a bunch of categories, or what if you want to control the URL it generates? Chances are, if you want a contact form that you can move around, or even have more than one contact form, you need a way to store contact forms as something that Drupal natively moves around so you can treat them like every other object in your system. So, now what? Do we try Contact Form On Node [] ? What if I want it in a block? Shall we give Contact Form Blocks [] a try? Or do we try Form Block [] ? Or, do we use the Webform [] module, which gives us forms as nodes? Or, do we just write our own module and be done with it? Then there's the matter of theming...

Don't get me wrong. If you know what you're doing and you have the time and patience to get through it, you can do some pretty cool stuff with Drupal. That said, if the only CMS you've ever touched in your life was something like Wordpress, you're in for a rough ride.

Resume Building (2)

KalvinB (205500) | about 5 years ago | (#30153076)

If you're an amature looking to turn professional then doing impressive projects (even if they're not widely used) is a good way to beef up your resume. There are plenty of companies looking for Drupal people so if you want to learn Drupal doing a social networking site is a good way to do that. Put it on your resume and list a link so potential employers can see what you're capable of.

Even if you're a professional doing things on your own time is a good way to learn new things that can be brought back into your workplace to help move you up in the company.

I've historically listed several projects I've done on my own time on my resume and at every interview I get asked about them. Showing an initiative to use your own time to learn a skill is a quality companies are looking for.

is a Drupal newbie (1)

jdhodges2 (1681182) | about 5 years ago | (#30147468)

Wow, I must dive in head first.

what does it say... (-1, Flamebait)

gandhi_2 (1108023) | about 5 years ago | (#30147488)

...when you people prefer WORDPRESS over your shitty CMS about 10 to 1?

Re:what does it say... (0)

Anonymous Coward | about 5 years ago | (#30147534)

...that people are stupid?

Re:what does it say... (0)

Anonymous Coward | about 5 years ago | (#30147610)

lol, you mad

Also, it's hilarious that your website is in Joomla. You're clearly a CMS expert and we should all bow down and listen to the mighty man with the Joomla homepage.

Grow up, and realize that WordPress is a blogging platform, not a social/CMS platform.

Re:what does it say... (2, Informative)

Archangel Michael (180766) | about 5 years ago | (#30147618)

It means you like to be hacked and crashed []

Tens of thousands of Web sites, many of them small sites running the WordPress blogging software, have been broken, returning a "fatal error" message in recent weeks. According to security experts those messages are actually generated by some buggy malicious code sneaked onto them by Gumblar's authors.

Re:what does it say... (1)

DNS-and-BIND (461968) | about 5 years ago | (#30147672)

Wordpress is a blog, not a CMS. Apples and oranges. PS what the heck does Wordpress have to do with a Drupal story anyhow?

Re:what does it say... (0, Offtopic)

gandhi_2 (1108023) | about 5 years ago | (#30147752)

Actually no.

There are something like 10x the modules for CMSing wordpress as there are drupal. []

This motherfucker here is in wordpress...seems to be working pretty well [] . Although I think Kenpo is a waste of time.

Re:what does it say... (1)

DNS-and-BIND (461968) | about 5 years ago | (#30148012)

What the heck does Wordpress have to do with a Drupal story anyhow?

Re:what does it say... (1)

Wraithlyn (133796) | about 5 years ago | (#30148466)

In my experience, Wordpress "themes" are piles of spaghetti code (with tons of logic in the presentation layer), and you have to hack core to do any non-trivial custom stuff.

It might be great for blogging, but it's a lousy platform for adding custom functionality IMHO. Would love to find out I'm wrong though, anyone had better experiences doing custom dev with Wordpress?

Re:what does it say... (1)

bobv-pillars-net (97943) | about 5 years ago | (#30151074)

Yup. I've installed lots of CMS/blogging/shopping-cart apps, and Drupal is the first one where I looked at the code and didn't go "EEEEWWWWWW!!!!"

i hate drupal so much (0)

Anonymous Coward | about 5 years ago | (#30147502)

Drupal is the most pain in the ass framework to work with. It renders vastly differently in multiple browsers. You have to be a CSS NINJA to get drupal to work correctly for you. Honestly, Drupal is just not ready for the mainstream. Its archaic shitty PHP interface. Every time you want to do something it inolved installing about 4-5 modules. Then when you get the f-ing thing installed you have to use all kinds of CSS magic just to get it to work right. F this framework, I hate hate hate hate it.

Re:i hate drupal so much (2, Informative)

anderiv (176875) | about 5 years ago | (#30148010)

Drupal is just not ready for the mainstream. [] [] [] []



I'll agree - Drupal does have a steep learning curve. With regards to theming/styling, though, it's no different than any other CMS. Designers will have to fight cross-browser css compatibility issues with whatever CMS or template engine they're using.

Elgg (2, Interesting)

PerfectionLost (1004287) | about 5 years ago | (#30147652)

I've been a fan of this open source social network for a bit. []

more than just social networking (3, Insightful)

interglossa (1110251) | about 5 years ago | (#30147706)

Drupal is a general CMS, not just social networking, a facet they just teased out for this particular book.

I love Drupal (2, Informative)

gabereiser (1662967) | about 5 years ago | (#30147794)

I use Drupal 6 on a multi-site setup, it's awesome. One codebase, many web sites. I wouldn't have a job without it.

Re:I love Drupal (1)

endianx (1006895) | about 5 years ago | (#30147952)

Would you be willing to explain a little more about this? Are you saying you have one database and one install of the web application, but are able to run multiple web sites off of that?

If so, can users log in to the different sites with the same log in? Can they communicate with each other in any way?

Or do you just mean that you are running multiple installs of drupal for various websites.

Re:I love Drupal (1)

ahankinson (1249646) | about 5 years ago | (#30148234)

It's called "multisite" with Drupal. You can run several independent websites (or dependent, with a little hacking) with separate databases but off the same Drupal core. It's quite handy.

Re:I love Drupal (1)

endianx (1006895) | about 5 years ago | (#30148310)

I see. Thanks. Not exactly what I was hoping for.

What I really want is the ability to customize a site for users based on a group of some sort. So say that group was by city. I want Baltimore users to see the Baltimore page, Atlanta users to see the Atlanta page, etc. They would sort of have their own site, which news and such specific to their group (city). But they would also be able to communicate with other users in limited ways. Does anybody think this is possible with Drupal?

Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30148806)

Yep, you can do that with Drupal if you want. Depending how you want to go about it:

A - share specific DB tables and add your own custom logic (wrapped in a module of course)

B - look at the Domain module for a newspaper-syndication approach.

C - look at the Virtual Site module for a simpler URL-based version

D - roll your own using taxonomy, Taxonomy Access (or TAC Lite) and whatever else seems appropriate.

E - as above, but look at the Organic Groups module.

Re:I love Drupal (2, Informative)

sirlatrom (1162081) | about 5 years ago | (#30150696)

Check out the Organic Groups [] module.

Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30150824)

Yes. Use Drupal with Organic Groups module or Domain Access module.

Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30150848)

Yes it is. That's called "multi-site single-login" within drupal-speak. There's some good docs on it too. Let google be your guide.

Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30150912)

Sure, just add the Organic Groups module.

Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30152158)


Re:I love Drupal (0)

Anonymous Coward | about 5 years ago | (#30154134)

yes, it is possible - look for organic groups

Drupal is for coders (2, Interesting)

DNS-and-BIND (461968) | about 5 years ago | (#30147942)

If you speak PHP, then Drupal is for you. Hack it to your heart's content. If you are a mere human looking for a turnkey FOSS CMS, Drupal kind of sucks. The main problem is the modules. Sure, Drupal is modular, but unless you can take apart code, you're going to be out of luck when your calendar module affects your classified ads module for some bizarre and unexplainable reason. Or, when you have to perform a critical security update that breaks (in various unpredictable and subtle ways) the functionality of various modules. Stock Drupal is rather pointless unless you've got a couple dozen modules installed. Let's see, what else...oh yeah the forum sucks donkey balls. My users repeatedly complained about it, and when I said something about it on, I was told that I my users' comments were not welcome, the developer appeared shocked that anyone might have a had different experience than he did, and my comment was deleted. I managed to cobble together a working site...barely. I've solved so many different problems that I'm afraid to add more functionality for fear I'll break something (again). But if you can code in PHP, then Drupal is great to invest a lot of time in fixing its problems. You'll end up with a spiffy looking website that does everything you want it to - you wouldn't even know it was Drupal except for the distinctive URLs. On non-coder websites like mine, a glance tells you it's Drupal, even if you change the theme. Yeah sure, I'm supposed to hire a developer to work on it for me. If I had money coming out of my ears, I wouldn't have chosen a FOSS CMS. I'm mostly satisfied with my site, but if I had known ahead of time how much effort and hair-pulling it was going to be, I would have chosen something else or just bitten the bullet and paid $$$$ for closed-source software.

Re:Drupal is for coders (1)

Falc0n (618777) | about 5 years ago | (#30148202)

While some of your points (forum module) are valid, the part of needing PHP or that $$$$ is better spent on a closed source alternative is BS. If you want to create a simple family website, you can goto, download acquia drupal, which has all the modules you need for a simple family site, blog, image site, etc. There are tons of howtos, videos, etc that will teach you how to create the site without touching one line of code.

Most large shops are going drupal because they'd rather spend their $$$$ on developing custom cool things for the site instead of spending it on the closed-source CMS. And, once the site is deployed, the shop has a very large community to draw from for upgrades, changes, bug fixes, etc. They can even goto a different dev team who speaks drupal and not be tied into the company that originally built the site.

The White House, Sony, Lifetime, The Onion, Popular Science, Harvard, etc have PLENTY of money and all choose to use Drupal.

Re:Drupal is for coders (1)

DNS-and-BIND (461968) | about 5 years ago | (#30148736)

Exactly what I said - Drupal is a great base to start hacking from, if you don't mind investing your time or money (and time is money). Me, I wanted a fully-featured CMS but I had no idea about the modules, or that so many of them break each other. There are just a vast number of modules and there are far too many combinations to test all of them. When you add a spam blocker (lots of robots know Drupal, an unfortunate drawback of popularity) your TinyMCE module breaks. Or when you add MIME capabilities and now for some unexplainable reason the front page won't render correctly. Never heard of that aquia fork or whatever, that's another "problem" with Drupal, there are so many forks, add-ons, and total conversions that you have no idea which ones are worth it, and the only way to find out is to invest hours of frustrating effort finding out. It's even something that they address on their website: How will Acquia keep up with the rapid evolution of Drupal core and modules? because their potential customers are suspicious and have been burned before.

Re:Drupal is for coders (2, Informative)

zeroduck (691015) | about 5 years ago | (#30149434)

Acquia's distribution was originally started to give customers a professionally supported version of Drupal (it is, near exactly, the same Drupal you download at with the exception of the non-core modules it ships with). What they offer is mainly support like so many Linux companies do.

I don't know what you mean by Drupal forks. As far as I know, there is only one 'fork' of Drupal, PressFlow. PressFlow keeps current on the major Drupal releases, but it brings in additional performance patches which have additional requirements (the 6.x version requires mySQL and PHP 5.2, whereas Drupal itself supports Postgres and older versions of PHP). There are distributions of Drupal, like OpenAtrium, which include Drupal core, contrib modules, and an install profile. As far as I know, these don't modify core so I'd hardly call them a fork.

To be honest, Drupal has a steep learning curve. Installing it and expecting your ideal site out of the box just isn't going to happen. It takes experience to know the "drupal way" to do get things done. It takes some study to know which modules are worth installing. I'd challenge you to find any CMS, open or closed source, that can make the variety of sites Drupal does and does it right out of the box.

Re:Drupal is for coders (1)

operator_error (1363139) | about 5 years ago | (#30150408)

I agree with all you've written above. I'd also like to add something of an explanation for why things are the way they are. Sort of.

Drupal 'evolved' to be the way it is now. And during each iteration, the core-developers shed whatever old for the new. There has always been a documented upgrade path for sites, but yeah, you had to follow the directions. And Drupal full-version upgrades are not anything like a double-click affair.

So really, Drupal's success has been along Darwinian models. Like linux too. Old modules became unused in favor of whatever works better. if you make sites for a living, there's a process for managing sites, that is well written in BOOKS that are SOLD, or just peruse the user-docs from

But along those darwinian models... take the module upgrade status report page for example. Where did that come from(?), and you'd be amazed at where that community organization and project management is going! Not unlike Linux, but for online publishing using (mostly) LAMP, on widely available hosting packages.

Re:Drupal is for coders (1)

mugnyte (203225) | about 5 years ago | (#30151028)

Your statements seem to conflict:

Drupal has a steep learning curve. Installing it and expecting your ideal site out of the box just isn't going to happen

I'd challenge you to find any CMS, ..that can make the variety of sites Drupal does and does it right out of the box.

Which "box" are you speaking of? The one that has 6 months of testing, reading forums for module opinions, and 2 consultants?

When I think of "right out of the box" I think..within a day, maybe a week. While the "box" is still on my desk, not shredded in anger about a steep learning curve.

Re:Drupal is for coders (1)

zeroduck (691015) | about 5 years ago | (#30151152)

Which "box" are you speaking of? The one that has 6 months of testing, reading forums for module opinions, and 2 consultants?

I'm saying there is going to be a learning curve no matter which CMS you choose.

Re:Drupal is for coders (0)

Anonymous Coward | about 5 years ago | (#30152196)

Better off just learning MySQL and PHP and doing my own site from scratch? Least I'd learn languages and not just a CMS

Re:Drupal is for coders (1)

Eskarel (565631) | about 5 years ago | (#30151926)

I accept your challenge and answer it with Microsoft Office Sharepoint.

It's expensive, and it's not perfect, but if you know how to use Office you can use it right out of the box. That's why it's expensive.

Re:Drupal is for coders (2, Informative)

Falc0n (618777) | about 5 years ago | (#30149518)

Acquia is not a fork, its a distribution of drupal core + the most popular contrib modules
Drupal core can be thought similar to the Linux Kernel, whereas modules represent the packages that make up a distribution of drupal.

Mollom and TinyMCE work great together

With ultimate flexibility comes an interesting learning curve. But thats what documentation is for.

Wonder if a module is used in drupal? you can look at its usage statistics. Want to do something in drupal? if you google it, usually someone else has already done it and in many cases have a screencast to go along with it.

"How will Acquia keep up with the rapid evolution of Drupal core and modules?"
This question addresses the upgrade path for a site. Like linux (or windows), modules are constantly evolving. Its hard for corporate customers to know if the new version will break things. By using a distribution like Acquia drupal, they do the testing to make sure everything works together.

From your comments, it sounds like your experience with drupal is somewhat new. Spend some time on IRC, going to drupal meetups, drupalcon, or take a lullabot course.

Re:Drupal is for coders (0)

Anonymous Coward | about 5 years ago | (#30148414)

I have heard *very* good things about Expression Engine...I think you can ask for a full version, free developer's license if you're a working web developer.

Re:Drupal is for coders (0)

Anonymous Coward | about 5 years ago | (#30148910)

Drupal is practically closed source in the sense that the second you 'hack core' you're no longer 'in' with the drupal community.
I agree though, it's great and horrible all at once.

Re:Drupal is for coders (1)

zeroduck (691015) | about 5 years ago | (#30149526)

You can maintain your own patch, and apply it for each Drupal release. . . but you risk breaking other things in core, as well as contrib.

I'd like to know what you're hacking in core, and why you can't implement it as a module.

Re:Drupal is for coders (0)

Anonymous Coward | about 5 years ago | (#30154114)

Drupal does suck for forums, so we integrated ours with PHPbb3

Good timing on the review (1)

SgtChaireBourne (457691) | about 5 years ago | (#30148264)

The review is well timed. The book was from the beginning of the year, but since then the US Whitehouse has gone back to FOSS on its web site. It's using drupal [] . It's good to see more discussion of these tools. Everyone has heard of Drupal [] and plone [] and respect the capabilities. They are the heavy hitters like Apache2 for httpd.

What new FOSS CMS tools are corresponding to Lighttpd and nginx, ready and useful but not as visible as they could be?

Better than Joomla (2, Informative)

carp3_noct3m (1185697) | about 5 years ago | (#30148346)

I tested both Joomla and Drupal side by side, and for all its issues, drupal beat joomla for one very major reason. Simplicity. Joomla has more documentation, and seems to be technically more capable, but when it comes to added functionality, Joomla is horrendous at ease of use. Drupal was pretty simple to add modules and get going with some non-standard settings. So for Opem CMS, Drupal get the award of lesser of two evils.

Security! (1)

1s44c (552956) | about 5 years ago | (#30148658)

Noone else has said it so I will. Drupal does let you make very pretty websites with tons of functionality quickly but it has endless security issues. Many of the modules don't seem to be written in any kind of secure way so need endless updates. The core has more than its share of security issues too.

Personally I prefer software I can install and forget about not software I have to constantly worry about.

Re:Security! (1)

Falc0n (618777) | about 5 years ago | (#30149640)

As opposed to building your own website, or using RoR/Plone to build a site, which cannot be easily checked for security updates? no thanks.

Drupal has a dedicated security team which is proactive on maintaining secure code. One reason the white house gave for using drupal is because of its diligence to security.

Drupal also encourages and has best practices that -most- modules (especially the most popular ones) will weed out the most obvious security issues such as input sanitization, SQL injection, etc. While its not perfect, its -much- more secure than your own implementation.

When your code is exposed to the web, you always must be on watch. No code is perfectly secure, and to think otherwise is naive.

Re:Security! (1)

1s44c (552956) | about 5 years ago | (#30154486)

As opposed to building your own website, or using RoR/Plone to build a site, which cannot be easily checked for security updates? no thanks.

Drupal has a dedicated security team which is proactive on maintaining secure code. One reason the white house gave for using drupal is because of its diligence to security.

The white house uses windows too, windows has a dedicated security team. None of that makes it secure, you can't tack on security later.

I don't mean to say that drupal is worse than many other ways to do the same thing because I honestly don't know. I've only used ROR likely and drupal to develop a few websites.

Re:Security! (1)

zeroduck (691015) | about 5 years ago | (#30149876)

Many of the modules don't seem to be written in any kind of secure way so need endless updates. The core has more than its share of security issues too

[citation needed]

Re:Security! (1)

1s44c (552956) | about 5 years ago | (#30154498)

Many of the modules don't seem to be written in any kind of secure way so need endless updates. The core has more than its share of security issues too

[citation needed]

There were the 8 security alerts on the security mailing list this very morning. Great on them for updating this stuff but it would be better if things like that didn't happen in the first place.

Re:Security! (0)

Anonymous Coward | about 5 years ago | (#30150014)

Personally I prefer software I can install and forget about not software I have to constantly worry about.

You're going to be looking for such software for a long time. Be happy that Drupal security updates are issued quickly and consistently.

Examples please. (1)

jotaeleemeese (303437) | about 5 years ago | (#30154358)

Every time a Drupal discussion comes in /. several people claim this.

It is getting really tiring, so I would like to see some proof of this.

sounds too much like RuPaul (1)

bugs2squash (1132591) | about 5 years ago | (#30149282)

he/she should sue for trademark protection purposes.

Drupal 6 Social Networking, the short version (1)

jalefkowit (101585) | about 5 years ago | (#30149506)


Deanspace, think about it (2, Interesting)

operator_error (1363139) | about 5 years ago | (#30149910)

Folks, have you heard of Deanspace? As in Howard Dean's web-enabled CRM that was widely reported as a successful fund-raising tool, that propelled Dean ahead toward's a democratic presidential victory, until John Kerry pulled ahead?

The folks that came together and collaborated on Deanspace open-sourced it. It was based on Drupal, and their powerful CRM back-end was spun-off and is now a very successful project called These days, it makes sense to integrate both with transparently, which is well-documented. This is one single nice recipe, for example.

Think of it like Drupal as a client-facing front-end. Clients (the public?) can register with the site, lose their password and reset it, change newsletter subscriptions, that sort of thing. CiviCRM is the all-knowing powerful back-end. AFAIK CiviCRM is _well_ financed by political parties of all sorts, and they do a great job, I think. You can add Ubercart as an e-commerce transaction engine as well, which ties in nicely with your CRM engine.

Imagine folks, you COULD make your own facebook or myspace or youtube or flickr easily using Drupal, and even manage transactions. There's nothing stopping you, as a professional, if this is what you want to do. Drupal has a huge and enthusiastic community of developers. Drupal sites can easily become the 'front-end' developers use to create facebook applications.

It is worth checking out the live demo on their site, if for no other reason than to see exactly what it is capable of, and what political parties want to keep track of, (stock out of the box). Like: who is related to who. And, 'what is this person's most important issue?' with choices like gun rights, pro-life/choice, etc.

CMS != Social Networking (1)

Demogoblin (249774) | about 5 years ago | (#30151418)

Drupal is CMS with social networking tacked on.

If you want a real social networking framework to start from, check out elgg. They've thought about many of the problems when considering a social graph

On social networks, workflow and performance (3, Informative)

Mathieu Lutfy (69) | about 5 years ago | (#30152678)

Where I work, we have recently finished doing a huge redesign of the website for an organization which was having different systems for their forums, member management, blogs, etc. Most of those components had become completely deprecated and unusable. It was a good opportunity to migrate to a new platform which had less redundancy, more potential to link the systems to generate new info, access levels, etc. They have more than 20k paying members, 100k "guest" accounts, and growing quickly.

You can do neat social networking stuff without trying to reinvent Facebook. For example, the organization wanted to grant access to certain areas, working groups, forums, only to paying members (as a way to encourage membership, but also a bit filter out noise, a bit more privacy). Also, they wanted to have sub-groups, but also have part of that data re-aggregate into the main feed and present a global view (ex: calendar of events, local calendars). Finally, since it was aimed to professionals of a certain field, it encouraged people to link (friends list) as a way to keep contact, encourage networking. You can use specialized systems for each of those tasks, but putting glue code between the system tends to not scale very well.

With Drupal, you can get some modules to do a huge part of the work for you. They tend to work well, but you have to keep in mind that if a module has 80% chance of working, if your task requires two modules to be combined, your total odds are probably more towards 64%. We had to use about 100 modules. Combining modules such as og, mailhandler, advanced_forums, specific access control mechanisms, CiviCRM, etc. *and* having to do maintenance security updates of those modules can be a big challenge (especially when module maintainers push in new features with a security update...).

The other thing to consider is that the performance of Drupal for connected users is not wonderful. It has good caching mechanisms for anonymous users (core/views/panels cache, boost/pressflow), but not much for connected users. I'm surprised to see that the table of contents of the book shows that there is only one page dedicated to performance.

Except for chapters 5, 6 and 10, the other chapters seem like any typical "how to install Drupal, base config, create a module, create a theme". I guess that's great if you are new to Drupal and you're about to create a social networking site as your first medium-size project. Although I guess for 30$ it's a good reference for good practices and a first step towards building a social networking site, but you might get stuck half way (when performance, bugs/complexity and complaining users with bike-shed opinions kick in).

All things said, we tend to end up buying most of these books anyway. We usually find small anecdotes or descriptions of best practices which are well summarized, useful references for when you want to disconnect a bit and brainstorm about your project. Maybe I'll change mind when I read it, but I was a bit disappointed from the table of contents. :)

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?