Print

Print


No doubt others like Cary Gordon can chime in with some thoughtful advice,
but here are some things I like about Drupal:
Modules that make complicated things fairly trivial like Services and
Feeds.

I like Views, though your complaints are valid.  Take the good with the bad
for that.

Between tpl.php files and template.php in your theme, you can avoid Views
for non-standard or complex displays.  Yes, you have to learn about the
Drupal API: preprocess functions, field functions, etc.  This might be a
little tricky at first, but with the aid of the Devel module, the kpr()
funciton to dump vars to the screen and drush, development speeds up.  I
will say that tpl.php templates can be pretty verbose, but I'm looking
forward to Twig in D8 to help with that.

Drupal lets the developer/site administrator decide the approach: changes
through the GUI or changes through code.  And I think that this hedging
maybe cause some confusion.  But, the community is big, so there's lots of
support available in communities like drupal.org and Drupal Answers on
StackExchange.  WordPress is cool too though!  I guess in the end it comes
down to whatever makes sense in your own situation though, good luck!

-Charlie


On Wed, May 14, 2014 at 9:35 PM, Joshua Welker <[log in to unmask]> wrote:

> 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
>