I have been messing w/ Drupal for a couple of days. I am working on a site that, to me, seems like it should be fairly simple to implement:
- Manage user profile pages with semi-social content (video, comments, ratings, etc.).
- Give users an appointment calendar (one that lists the calendar owner's availability, and can be updated in real time as other user's make appointments through it) displayed on their profile page.
- Accept CC payments for appointments.
I think the calendar is really the only thing that would take a lot of time compared to the other two main features...
Anyway, what I am finding is that, without prior Drupal knowledge, the time it has taken me to learn the Drupal way of trying to implement this kind of site feels like it is taking longer than if I just did my own PHP, page templates, database work, etc.
I guess what I'd like to hear from other PHP programmers is how long it took for them to get into the flow of doing things the Drupal way, and is it *really* a time saver compared to coding something like this from scratch? Right away I thought to myself, 'the default page layouts are lame'. Then I find that there's a way to do custom content templates. But again, wouldn't it be faster to just do this myself with some kind of template engine, rather than trying to re-learn everything so it works in Drupal?
I think Drupal's a good piece of OSS, definitely a good bet for anyone who doesn't like to (or can't) code. But I'd like to hear opinions from people who've already been at the crossroads I'm at.
Thanks in advance!
Comments
http://buytaert.net/drupal-le
http://buytaert.net/drupal-learning-curve
Ok, thanks for the funny
Ok, thanks for the funny link. But would anyone mind sharing some real experiences?
Go back
Go back and look again at the link I supplied, and note the shape of the curve.
You have to invest time and energy to become proficient at using any new tool. It might, at first, seem like a better idea to do things the old way when you're not good at the new way. The payoff comes well down the road.
Learning curves typically follow that S-shape. It's not specific to Drupal, but Drupal can be particularly difficult if you think you already know how to do something. Once you understand the patterns and the tools, your productivity suddenly rises sharply.
There are reasons for the Drupal way of doing things, generally hashed out in lengthy debates on mailing lists, IRC and in issue queues. Recognizing the accumulated wisdom of others is an important step in personal growth.
And I am speaking from experience. We've run a number of developers through the transition from old habits to Drupal habits. Unlearning the old way can be difficult, but the most reliable, robust and maintainable code comes from those who do it.
I think of Drupal as a
I think of Drupal as a framework, a framework I do not have to implement nor maintain. For me then Drupal is a time saver and while it took some time to learn the time was well spent.
Nevets
I am finding this is likely how I will benefit as well. And in the end, it will probably be better if I can contribute bug fixes and modules once I get a couple of sites under my belt.
Beginnings
At first I got to know a bit about the database side. I needed to write a mass mailer, and just queried the db via perl (hey I like perl). For another project I took a look at the actual module system. The first stop was the Module Developer's Guide for learning about drupal's system, and then off to the Drupal API to look at hooks (this was drupal 4.x). Now I guess I would look at forms and menus as well. For that first module, though it was pretty simple, I'd say it took about a couple of days to get it working.
I guess the real first step is to search google (and drupal.org) for references to similar modules that may already do what you need them to do.