Print

Print


Ah, yep. I've never done a full rant about Drupal because it would take days and run into many virtual pages. I gave it a good go, almost full time, for a couple of years, even went to a regional conference.

It's a train wreck beyond that first easy 80% – especially if you care about detail – but unfortunately also one of the best CMSs around. It's a while since I've resurveyed though. By far the worst ones in my experience are also the most expensive of the enterprise variety.

"Your revolution is over, Mr Lebowski. Condolences! The bums lost." – for some reason that came to mind (Context: http://www.youtube.com/watch?v=nw_nJJrSg3s )

I suspect frameworks are where it's at if you are technically competent, but choose carefully. I like Rails but don’t accept many of its choices, and it sucks to administer if on anything but Ubuntu or Mac. I used to like web.py and am keen to test out Flask, Sinatra and other lightweight choices.

Cheers
Hugh

-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Joshua Welker
Sent: Thursday, 15 May 2014 1:35 p.m.
To: [log in to unmask]
Subject: [CODE4LIB] Very frustrated with Drupal

Warning: incoming wall of text.

I've been working for the past several months on building a library website with Drupal. This is my second try building a website with Drupal. I chose Drupal for two main reasons: CCK/content types, and its ubiquity in the library community.

Theme development was going relatively well, if a little overly complicated. But once I started trying to do anything beyond developing static pages, I have become more and more frustrated with Drupal.

Drupal supports custom content types out-of-the-box, which is great, but if you want to actually do anything with that custom content other than have it function as a plain page, you have to use the Views module. Views is great, but views can easily become very complicated, with custom rewrites, grouping, relations, contextual filters, etc. Plus, a lot of functionality in Views requires more modules (for instance, basic data manipulation).
This is to build rather run-of-the-mill list features like a database list or a list of events. And a lot of the advanced features in Views require a solid understanding of SQL (groups, distinct, joins, etc), which kind of defeats the notion that it is easy for non-developers to administer.

Now, at this point, I have modules extending my modules. And those modules have multiple dependencies on other modules. I am getting worried now. It feels like my website is a house of cards. I've run into several instances already where one of these plugins is updated and breaks compatibility with the whole stack, and there is nothing to do in this case but open an issue on the project tracker and pray for the best. I have looked into building my own modules, but the umpteen APIs and hooks required to do something simple as perform some regex on field data completely overwhelmed me (and I am fairly experience with web app development).

It's not just Views, either. Anything more complicated than static pages and navigation menus requires relying on the module ecosystem.

Not only is the whole thing quite precarious, but it defeats one of the two main purposes of a CMS: ease of administration. I want to know that if I get hit by a bus tomorrow, someone will be able to come in and take over without too much difficulty. But when I go back and look at my views, I can sometimes barely understand the work I did a week ago. It is very difficult to keep straight which functions are coming from which modules, and all those modules have separate (often poor) documentation.

At this point, I am seriously contemplating dumping Drupal and moving to a full-fledged framework like Django, Flask, or Laravel and adding some WYSIWYG CRUD controls for pseudo-CMS functionality. ActiveRecord-like systems are much easier to use IMO than fiddling for hours with Views, and I have full control of what is happening. I honestly think it would be just as easy for someone to inherit a custom-built framework app as it would be to inherit my already-convoluted Drupal site. At least the framework is well-documented and should allow my app to be understandable to anyone with some programming experience.

Does anyone want to talk me off the ledge here? I know a lot of you are using Drupal for your websites. What are the killer features that keep you using Drupal? If any of you have experience building websites using frameworks, what are your experiences? I really want to like Drupal, but it seems to be more trouble than it's worth.

--
Josh Welker
Information Technology Librarian
James C. Kirkpatrick Library
University of Central Missouri
Warrensburg, MO 64093
JCKL 2260
660.543.8022

________________________________
P Please consider the environment before you print this email.
"The contents of this e-mail (including any attachments) may be confidential and/or subject to copyright. Any unauthorised use, distribution, or copying of the contents is expressly prohibited. If you have received this e-mail in error, please advise the sender by return e-mail or telephone and then delete this e-mail together with all attachments from your system."