By ibben on
Hi All,
I am a n00b to drupal, but am very proficient with PHP. I am wondering if the benefits of learning and fully customizing drupal outweighs developing a site from scratch with php.
I am developing something like a myspace but, more unique than just that. I require the ability to fully customize user profiles & the design template and the layout and content is very strict, very corporate, and cannot look "drupalish"
can i get some feedback from you drupal experts and let me know what you think about learning drupal over developing from scratch;
Comments
Hi,I wouldn't call myself a
Hi,
I wouldn't call myself a Drupal expert after only 2 weeks of experience, but before that, there has been over a year as a Joomla "fiddler". I know a thing or two about CMS's, and I have grasped enough of PHP to write my own stuff, when needed.
When you ask whether you should use Drupal OR write everything from scratch, I'd definitely go for Drupal. What makes Drupal shine for me is its versatility in defining "atomic" elements of any website: user profiles ("registered", "entitled-to-edit-agenda-items", "can-only-read-stuff-older-than-a-week", etc. etc.), content types ("agenda-item", "address-card", "big-article", etc.), and above all: its taxonomy, i.e. an extremely flexible system to organize any "semantic content" you want to throw in your site. Having these "atomic building blocks" at your disposal, Really feels like a biiiiig relief. It's simply Fun to play around with them.
Sure, you can program all this yourself. But you'd be in for many, many months, and then still you'd probably have only a fairly shaky thing.
To give you an idea of the complexity of Drupal: at this moment, with the core and some 10 additional modules installed, Drupal deals with about 100 database tables, one hundred. Just getting those to work nicely and reliably together would give you many months of headache.
Is PHP knowledge superfluous when you use Drupal? Oh no, I would even say it's mandatory or at least strongly advisable. There are so many things to tweak, so many places where you could add your own few lines of PHP. Don't think that it is either Drupal or PHP: you'll make use of both.
The looks of your site should not be "drupalic", of course. But that is "only" a matter of squeezing the CSS bunch. Personally, this is the trickiest part of Drupal, because it's so sadly underdocumented (or rather: undocumented), whereas the rest of is code is loaded with documentation.
The bottom line is that learning how to fine-tune Drupal would definitely be far more profitable than writing everything from scratch.
I much prefer Drupal to raw PHP
If I needed to do something so custom that the architecture of Drupal got in the way, I would use something other than raw PHP anyway eg Turbogears, Rails or maybe CakePHP if it really had to be PHP.
If your site has a 'content' focus than 'pure custom application' Drupal shines, as you get a lot of stuff ready to build on - users, roles, access permissions, sessions, content validation, content creation and editing, a powerful categorisation engine, and most importantly a large community working on custom extensions for most of the extra functionality you need. Drupal does a good job of keeping modules (functionality) and themes (looks) from stepping on each other - unless you are a really good architect, this can be hard to do. Also, Drupal is realy good at letting a coder do almost anything without needing to alter the core files.
Sure you'll need some time to first get your head around Drupal concepts, then get a feel for the contrib modules available, then get familiar with the theme engine, then learn the API and module coding. I would keep your intended site design flexible while you go through those phases so that you can adapt your design to Drupal (you get more for 'free' that way) rather than try to adapt Drupal to your design too early on. You might even build a couple of unrelated throwaway experiment site during that learning period before starting on your masterpiece.
Even if your initial site build could be done quicker (which isn't certain) from scratch as it would take to learn Drupal then build it in Drupal, adding extra capabilities on to it later would probably take much longer. With Drupal, there is a community constantly improving the existing code and someone else may have already written the add on you want, and even if they haven't the architecture of Drupal is designed so that these add ons can slip into your site easily.
The site (see my sig) for my place of work looks 'non Drupalish' for the most part. And I think it looks a bit more corporate than most community sites, so it can be done.
--
Anton
New to Drupal? | Troubleshooting FAQ
Example Project management software knowledge base built with Drupal