Hmm using a CMS for the basic site and then a framework for all complex
functions might be a good idea.
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
Wiegand, Laura K.
Sent: Thursday, May 15, 2014 10:20 AM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Very frustrated with Drupal
For me the main benefit of Drupal has been that, as a wanna-be coder, I can
do some very powerful things simply through logic - I may have to carefully
think about structure, relationships, experiment with views, evaluate
modules carefully, problem-solve during updates, document my work, etc, but
I don’t *have* to code a single thing (although I do). (yes, I know this is
the code4lib listserv not the drupal4lib listserv where this statement might
be more well received :) This was really important to me when we started
using Drupal 5-6 years ago and we did not (at the time) have a programmer on
staff. Yes, Drupal has a steep learning curve but once you get past that and
figure things out for the first time, it's easier to apply them as you add
new features. And it's just so powerful.
Regarding the module dependencies, I think the key is to carefully choose
your modules. Over the last 6 years I've only run into trouble a couple
times. Sometimes you can't update to the latest version of a module because
it isn't (yet) compatible with another dependent or related module. So I
just leave it until the other modules catch up. Security updates rarely
cause the conflict you describe, so those can almost always be applied. In
my experience, once you get your site established the turmoil you describe
In terms of business continuity, the fact that there is such a strong
Drupal community, both in the library world and beyond, means that there are
plenty of people who could figure out what you had put together.
I use Wordpress for other, more simple, web development and I see the
advantages to Wordpress - it's a lot less clunky on the admin side. It feels
more lightweight and streamlined. But I feel that Drupal is more powerful.
While we use Drupal for our website development, our developer uses other
php frameworks for other more internal web applications for the reasons you
state. I think it might just come down to preference (both personal and
shop) and skills.
Laura K. Wiegand
Coordinator of Discovery Services
William M. Randall Library
University of North Carolina Wilmington
601 South College Road
Wilmington, NC 28403-5616
[log in to unmask]
Phone: (910) 962-3680
Date: Wed, 14 May 2014 20:35:05 -0500
From: Joshua Welker <[log in to unmask]>
Subject: 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
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.
Information Technology Librarian
James C. Kirkpatrick Library
University of Central Missouri
Warrensburg, MO 64093
End of CODE4LIB Digest - 13 May 2014 to 14 May 2014 (#2014-126)