To Drupal or not to Drupal, why we chose not to use Drupal for a photo shop.
In a thread on the Drupal development mailinglists someone asked for experience with Drupal as a photo and image server. I developed Newsphoto a few months ago, with Drupal. But after about half a year of development we decided to buy a commercial application wich fitted almost exactly within our defined “boundaries”.
Dries:
It would help if you'd explain why you threw out Drupal. Without
that information, your e-mail has _no_ added value. So care to
elaborate?
Off course I do, and because it is such a long story, I decided to put it in my blog. For better (future) reference.
Two reasons made us decide not to use Drupal after that long development: first of all, we (developers and client) needed a working solution now. Not somewhere in months, but yesterday. Second is Drupals rather “stiff” concept.
Solution Now [TM]:
We all know, that with the proper amount of resources, a certain amount of time and a nice budget, you can turn Drupal into about anything you wish. But if you take that budget, minus 90% you can buy commercial tools that do what you need, but do it now! When I say “now” I mean the moment we choose to no longer use Drupal. Drupal can potentially do about everything. Potentially. But it does not do that right now. Features we needed “now” include (but are not limited to)
- per-user-galleries, per-date-galleries. I developed shazamgallery in combination with views and themes to do this.
- ecommerce. Drupals e-commerce works, and without wanting to put down any-ones hard work and huge effort: Drupals ecommerce is far from prime-time ready. We needed it months ago when it was even further from ready (aka did not work at all).
- more “commercial” access. Drupals access models are fine for open communities, but there are no fine grained access controls for content. It all depends on the definition of “fine grained” and “access control” off course. But simple things as “only paying members can read blogs” are not (really) possible. Another, more specific example: Show only the largest X amount of resolutions to users. Show the largest resolutions to those who payed. Show only thumbnails to users and larger images to registered users.
- Watermarking, highlighting, grey-scaling, cropping, and more advanced image actions. There are proofs of concepts (e.g. in my sandbox) but these too are far, far from ready/prime time.
To go short: Drupal may be able to do everything. In future. But it does not do this now! Other tools do this now. Ktools.net’s photostore is what we use now. That is $295 for a tool that does all that I mentioned above, all that we needed right now. For that price I cannot even configure ecommerce!
Stiff Drupal
Drupal has a lot of things baked right into its core. Sure, it is probably the most flexible CMS of all CMSes. But the moment you go for Drupal you draw lines (boundaries) around your projects. As long as your and your clients’ wishes remain within these boundaries, you will find yourself a happy developer. But don’t try to go outside these boundaries. You want to disallow access to certain node types, because your business model needs that? bad luck (or big development budget). Your client does not like the fact people can search for users? Bad luck, you’ll probably need a core hack. Or the users are confused because they cannot find their (buddies) user profiles in that same search? Your client wants comment forms where people must leave only the email-address, but are not presented with a web-url form? You need a login/user system without need of registration with email validation?
These are only examples that sometimes have (rather simple) solutions for each of them (resp. a CRUD node access module, a minor core hack, a form_alter). But put them all together and you get a development route of weeks, instead of hours, to meet only these specific (basic) requirements. Sometimes these simple requirements bring you into a “downward spiral” of hack upon hack, module upon module. That is a good moment to look wether or not you are actually still working with Drupal, or fighting against Drupal.
If you, your client and your project have set only a rough outline and fuzzy goals, Drupal is certainly the right tool. But as soon as your audience, the time-frame and/or the client have very specific needs, Drupal will prove very stubborn. Simple things, such as the above-mentioned no-search-for-users, can become nasty long-winded projects, if you wish to do them right.
This, by the way is certainly not a Drupal problem. Every single CMS out there has this problem. Some have it more others less. I think Drupal has it less. But it means that you have to start with a tool that sits within your projects boundaries. Sometimes Joomla! overlaps better, other times it is Wordpress and again other times nothing fits it, which means Ruby on Rails is a good candidate to build your own CMS from scratch!
Drupal is a good tool, but not The One Tool. Never forget that you, as Drupal developer, have the conditions under wich your (future) sites are running, hardwired into your brain. Because after lots of Drupal development you start to think that the Drupal Way is The Only Way (this is a joke, people!).

Drupal has been a god-send
Drupal has been a god-send for me. I could pay a company thousands of dollars for a CMS that has a hard-baked shell; modifications generally aren’t allowed or strongly discouraged (you hack at your own risk). Some like that hard-baked shell and are willing to pay dearly for it. Drupal has soft baked pseudo shell; it’s up to decide what shell you want and modify accordingly.
Drupal just cost my employers time. It is worth it since we purchased the software for $0.00.
Just a drupal fan
I found this page after
I found this page after installing about TEN various CMS solutions from WordPress to TextPattern to CMS Made Simple to ModX to PacerCMS (and others) and finally Drupal version 6. When I found that the ed-classifieds module only worked up to version 5 (we are building a Community sharing site and thought this might be useful functionality) I then went BACK to version 5.
After installing several modules (date, event, calendar., etc) and then having my menus start to exhibit strange behaviors as well as a few other “anomalies” that I could not easily correct, I typed into Google the search terms, “Drupal not ready for prime time” and arrived here. Drupal is (arguably) SUPPOSED to be one of the most confuigurable Open Source CMS solutions out there.
Too bad that the Module support structure seems so haphazard AND the code (at least in V. 5) also seems a bit buggy still. Having hundreds of modules available and NO evaluatiing / searching system in place seems silly. Even if there were a rating system (most downloads, etc) in order to filter through what must be a lot of possibly poorly written crap, it would make things easier.
I am really beginning to wonder (hate to say it) if this Drupal is all that it is cracked up to be., are there REALLY professional developers using this SW or is it mostly hobbyist coders still playing with the stuff? Too many developers (of almost ANY software these days!) seem more interested in forging forward with "new versions" and features instead of TESTING and issuing STABLE releases!
I have DLed Joomla and Plone but installed or played with neither due to the impression that these were less desirable than Drupal. Plone being a Python app seems to be a lot more of a learning curve and dev nightmare to me and Joomla is supposedly “not as versatile” (though perhaps easier out of the box?) than Drupal. Another option is to revert to a clean install of Drupal 6 and use ONLY it’s base functionality.
The whole Open Source CMS mess is still in my opinion NOT ready for prime time UNLESS you are a coder (or have an army of coders) and do not mind spending lots of time pouring over code written with no particular conventions OR decent documentation in place. I am certain that this (like any other SW dev solution) will improve with time. For those looking for an out of box CMS site dev tool., keep looking and good luck.
This in July of 2008.,!?! wow., :-)
P.S. The NewsPhoto site listed in the original post here looks a bit haphazardly written as well. I did a search on the site., and then found NO way to get back to the home page!?!?! What ARE people thinking when they develop web sites.,
To answer one of your many
To answer one of your many questions: Yes. Drupal is used a lot by REALLY professional developers. Many large scale sites run it (as in: large budgets, large teams, huge userbases) including fortune 500 companies. But also the NASA, IBM , Yahoo! and many other companies with good technical backgrounds chose Drupal for some of their sites.
In short: they thought Drupal served their needs.
I am sorry to hear you wining about Drupal so much. Drupal must have really done you harm in some way? If you dive deeper into Drupal, you would have found answers to nearly all your questions.
Oay: here is another one: the main reason that Drupal has no ranking in Modules, is that we haven’t found a sound way to make that ranking REALLY relevant. Look at hotscripts.org (I usually call it hotcrap.org) people vote for it because it served their needs. They don’t vote for modules because they are secure, have well maintained code, solid developerbases, good release-systems in place and so forth. One single XSS exploit found in a module, for example, should make that module rank 0, even if it got a million votes for being “cool”.
In Drupal, you choose your modules based on the community knowledge. Yes, that means you have to spend time, effort and often code, in order to extract that knowledge. But really: in the forums, on IRC and on the many blogs, you will find out who is whom, who codes nice modules, who maintains badly, what code is considered crap and what code is considered very nice.
As opposed to “yea! this forum module has fileuploads. I’ll give it five stars”. (you would really want to hear, that in Drupal it is not the forum module that should handle filuploads, but upload.module)
Just wondering if you’ve
Just wondering if you’ve tried Drupal 6.x and, if so, do you have updated opinions?