Drupal -vs- DIY

You say you want to build a website? It must be feature rich, flexible, extensible, powerful, and very web2.0. This is an important site, and you don't want to be locked in to someone else's framework, so you have decided the smartest approach is DIY. You have a small team of very experienced LAMP developers who have track record building successful sites. They've promised to meet your every requirement. You're new site will look and feel unique. It will not have that distasteful look of so many of these other sites built on one of the open source content management systems (CMS) like Joomla, Wordpress or Drupal. Down the road, as you extend your website, you will save lots of money as you won't have to hire developers with specialized skills in a certain CMS. Anyone with sufficient knowledge of Apache, PHP and MySQL can work on the site. A CMS might work wonderfully in many situations, but in your case, you need the power and flexibility only offered by a DIY solution.

Sounding pretty reasonable to you? If not, you may be failing to buy in to some common fallacies.

 

LockedLocked In

Using Drupal (or any other CMS) does not result in any more 'lock-in' than a home grown solution. The fact is, once you've developed your site, you're pretty well committed to whatever solution you chose unless you're up to completely re-developing the site. My question to you is which would you rather be 'locked in to', a well known, used, tested and documented system such as Drupal or something crafted up in the last six months by your team which likely has no documentation, little testing and almost certainly no architecture for easily extending functionality as the demands of your site evolve?

 

 

Smells Like Drupal

Smells Like DrupalI regularly hear folks talking about 'the Drupal look'. Drupal does come with several default themes that are each distinctly Drupal. Most websites either stick with these themes or variations of them that don't go out of their way to hide the Drupal roots. So, yes, most Drupal sites look like Drupal. That is not to say that using Drupal requires that your site look like Drupal. Drupal is completely themeable. Most visible aspects of Drupal can be customized using plain old CSS (ala CSS Zen Garden). If you truly want to tweak the details of element rendering, you can do so with Drupal's cool PHPTemplate system. At the end of the day, your site can look as un-Drupally as sites like The Onion, NowPublic or BroadBand Sports.

 

 

Special Secret Knowledge

Enigma MachineAnother favorite of mine is something along the lines of, "we want to develop our site in pure PHP using open technology and standards". Yes, I've heard that more than once, I'm not making this stuff up. I won't bother pointing out to my savvy readers that Drupal is written purely in PHP and relies only on equally common and open technology such as MySQL, PostgreSQL and Apache. You already know that.

 

There is validity to the argument that developing a website using Drupal will most likely require some degree of knowledge of the Drupal API. If you want to create functionality that doesn't already exist in Drupal or in one of the many third-party modules, you'll have to learn how to write Drupal modules or find someone to do it for you. But there are thousands of Drupal developers worldwide. You'll have a lot more luck finding someone who knows the Drupal API than you will finding someone who knows the homegrown system your team developed.

In this modest web serf's opinion, building a website infrastructure from scratch is a matter of necessity if you'll be serving billions of requsts a day. Otherwise it's pure hubris. Invest in some time with a good therapist before making any final decisions.

a well known, used, tested and documented system such as Drupal
You might add secure to that list. You can either hope that your small team finds the holes they create. Or you can trust in the hundreds (or is it thousands) of developers auditing each other's work. -dalin

Drupal locks you in in several ways. Most notably are the conceptual lock-ins. If you don't like how stuff is done (in contributions), you need to develop large parts from scratch, which results in something similar to DIY. If you find that what some module promised, is not true in reality (many contribs pertend to work, but fail to even get running without errors), you have to DIY large parts in the end anyway . If two modules conflict, you'll end up in a DIY hackathon too. And if you find that module Foo looks and acts like This, while Bar looks and acts like That, yuo'll end up hacking either one, or DIY-ing it up yourself. All of which uncalculated for, since you probably quoted and planned a working drop-in solution, not a 40-hour-debug track.

Security: I would not say that even half of the contributions are even half secure. Saying that Drupal is tested, is not entirely true either. Drupal has no official test round, nor does it go trough any security audits. Security is handled in a stumble-upon-fashion.

Using the right tools: DIY does not mean "bad docmented" or unknown. Use a good framework, stick to the defaults and stadards set by these frameworks, and chances aer that you'll find even more developers savvy enough to develop on your app. Right now, there are (just a quick measurement) 402 people in #rubyonrails, versus 102 in #drupal. Both are developers channels.

Conclusion. DIY, using the right tools, often brings you far closer to what the client wants, in far less time, with far more secure code. Drupal, or any other CMS is a good choice, if the end result fits close withing the default behaviour/concept/philosophy, else DIY is probably the best choice.

Drupal core is reviewed when written, it is reviewed by members of the Security team. If an 'exploit' is reported the incident is followed up on. Documentation on how to write secure modules is provided and as the team can it notifies module owners of security flaws that must be corrected or the module will be unpublished.

Didn't they fix most of that stuff with the D5 upgrade?

I had this problem once. Someone I worked for wanted to build a CMS from scratch using offshore programmers. It took about 6 months to convince them to go with Drupal.

Like you mentioned, a custom-built solution is going to create lock-in as much as Drupal — probably more than Drupal...

lets step back a moment, please...

DRUPAL CAN DO IT ALL!! oh wait, its not super man, its a CMS, which does mean that it is design for what? oh yes yes, managing content... no?

Drupal is a cms, it is designed to solve common problems, and make life easier for developers and users alike. This in no way, means it is a solid solution for everyone. I would like a show of hands of all developers ( who happen upon this site < thanks bar camp >) who have had a client know exactly what they wanted, up front, and did not need any sort of customization. Oh there is one person in the back of the room, hi how are you? is it nice up there on that yellow brick road? Once you go down the road of a cms, you must stick to your guns right? So now there's a new feature you client wants, oh wait lets see if the community has a module/addon/what-ever. You may find one "close" or even worse your client will find one "close" and say oh it shouldn't be so long to make it do x,y and z; after all it already does y and z. But perhaps x means you create a new y that relates to z?

There is nothing wrong with using a existing CMS source code, but when you ignore the fact that there are different tools for different jobs, you are being biased and incorrect. After all, do you think the core developers who wrote the CMS built it from an existing CMS? no, they did what? THEY DID IT THEMSELVES!

I understand that there is a large pool of people that use PHP and that a majority of them my not think of every single possibility, be it due to time, or lack of experience. However if you are in need of an application that does something customized to your business needs, besides allow you to edit pages, then you need to seek out an experienced developer who can meet your business goals.

To the owner of this topic, if you consider yourself a developer ( devbee.com sounds like you do ) then you should have noted the above in your topic, it is unfortunate that you are presenting your readers with your one sided opinion rather then simple logical facts ( $logic === PHP; $opinion != PHP )

Maybe I have been to harsh, after all I don't know you and you don't know me. If I have offended you, please email me and maybe we can go have a hearty laugh over a cold brew.

Best of luck to you all.

Your article is very interesting and thought provoking. I personally prefer wordpress... because it is the easiest to use. But your preposition makes drupal a strong contender.

I'm a huge fan of Wordpress too but the more I read about Drupal, the more that I think I should switch.

Me too, since wordpress looks like for amateurs and non professional use, Drupal can be used for any site, starting from a blog and ending with free games site.

I've used Drupal for quite some time and absolutely love it. It's simply a *fantastic* CMS that can do just about anything imaginable.

Hi,

I have used Wordpress up until now. It has its obvious
limitations. Also, if you want to talk about "predictable
looks", Wordpress is certainly guilty of that despite the
zillions of themes out there. Your article certainly
opened my eyes to Drupal for my next site. I don't
think Wordpress is going away any time soon though.
I would not want to be in the shoes of a project
leader reinventing the wheel with a home grown
CMS solution.

Thanks

Steve

I primarily use Joomla and i'm pretty new to DIY web design, and haven't come across many limitations. Should i switch to drupal or is it just personal preference?

I regularly hear folks talking about 'the Drupal look'.STUFF-you need to develop large parts from scratch, which results in something similar to DIY.

It's true that Drupal is written purely in PHP and relies only on equally common and open technology such as MySQL, PostgreSQL and Apache.Drupal has no official test round, nor does it go trough any security audits. If an 'exploit' is reported the incident is followed up on.

There is nothing wrong with using a existing CMS source code, but you can't ignore them.At the end of the day, your site can look as un-Drupally as sites like The Onion, NowPublic or BroadBand Sports.

This are all easy to be done. Thanks for a nice post

I have used many solutions and I am about to start using Drupal thank you for such a great post!

Yeah I'm considering picking up drupal. up to this point, I use mostly wordpress to manage my sites. I've been looking for a new CMS to mix things up a little

I am shocked at some of the comments here.

The earlier post was right - any decision you make 'locks you in' in one way or another.
Drupal is no more a problem here than any other system, from hand built static pages to custom designs.

I love Drupal and all it features, but I also enjoy using Wordpress. Drupal is definitely the better system, but it takes to get use to and in the long run, you will know why Drupal is a better system.

The paragraph titled Locked In is especially true. Highlights the importance of researching the software capabilities and making sure they it can do all the things require of it, not just when starting out but also further down the line. It’s like the mafia once your in their isn’t no getting out. OK its not that bad but it is a lot of work and full of headaches.

At present there are many online player in this game .You only need apply an account ,you can completely access to the game .But there are many people played the game they wanted to get the kamas .
At first I was attracted by the cheap kamas .Because it effected the level of game ,every time it is easier to buy kamas .It is the reason I liked it .

I had not used Drupal yet but I am intrigued by some of the good reviews and good thing said about it. Wordpress do serve most my purposes though it has some limitations which have some room for improvement.

Wordpress is not going away because it is great as a blogging platform and CMS, but it has some limitations as a CMS! I think drupal is great! And I also think it is best to use it as a base for another CMS than to start from scratch, so much great work has already been done on it, why waste it and start over?

I don't know how the discussion turned from DIY and Drupal to Wordpress, but I think you missed the point of the post. Wordpress has the same strengths as Drupal in the respect that it is highly backed and there's a huge open source community trying to constantly make it a better system to work with! I'm actually pretty torn about my site Singapore bookshop and which CMS I should use with it...

True! Efforts had already been made to improve and to put into practice the advaatages that Dupral can give. So far, it ha proven to be an effective tool to drive traffic to websites. Constant upgrade is what should be made rather than starting out from scratch.

///Build A Profitable Email List///

graham@graham-cox.com

http://www.SmallListsBigProfits.com

I think WordPress is a winner. Although I'm not personally familiar with Drupal I have heard nothing but good things about it. Despite this, WordPress is too strong to ever disappear from the market.

Andy
F1 Tickets

I have been using many solutions and I am about to start using Drupal.
Thank you for such a great post.

I use joomla for sure :)

Wordpress is the easiest CMS platform for beginners. Many people like drupal a little more, but I think that wordpress is so much easier to use.

Cheap Airsoft Electric Guns.

I have been using wordpress only due to its plug-ins. I think that is the best feature on this planet. I am going to have drupal on one of my sites to try. Let's see what happened.
PS3

Hallo Harry,
thank you for the information about Drupal! I am reading a lot about it at the moment. I now know that there is "the Drupal look". I will look out for it.
Sonja
http://www.goodtherapy.org/Seattle-Therapy.htm

Yes It Is Very good :)

Ashwini
http://www.linkbuildingservice.info/