If you were to characterize me in one group of web developers, I'm pretty much a Drupalist. I committed to it more so than Wordpress back in the WP2.x days when I found that WP wouldn't easily/natively help me to grab records dynamically from both a flickr feed and a non-wordpress MYSQL db. At the time, these things required additional php hacking, specific php libraries (which came with attendant code versioning issues), and so on to support it (they probably still do). So it felt like I had to go above and beyond the tool to get the job done. But not being a programmer by trade, I sure in heck was not going to try to roll my own tool. When I found Drupal, it met me closer to my goals for a more complex web project than Wordpress did. It was a step up from WP for me (at that time with those needs), and WP was a step up from the static html I'd been working with...
Because I didn't work with any developers, I needed to be able to join an active teaching/learning/helping community, such as the ones found behind opensource CMSes. Drupal was a big community (more so than WP seemed at that time, though WP definitely seems to be doing more with camps and meetups in CT now). Drupal offered sophisticated content handling through Taxonomy and CCK modules (both are native to core, fieldable in D7), and (even now) through the Views, and Panels modules (Wordpress at the time had nothing close to CCK and barely had any taxonomy functionality). Drupal also offered management of users via role-based permissions (as I recall, WP did not) and gave me access to modules that integrated with different services/software we used (e.g., ContentDM, catalog), etc. There were so many other reasons. Drupal made me feel like there were unlimited possibilities for making complex things happen on the web, even as the lone web person in the organization. I also learned many non-Drupal-specific web development skills by being in the Drupal community - going to their camps and cons and hearing about topics that I hadn't learned about elsewhere such as agile project management, server-side caching, responsive design, and so on. So I'm grateful that I went the Drupal route though I recognize that there are strong arguments to use other tools. Yes, Drupal drove me nuts on occasion, but it was worth it for its ability to offer such sophisticated functionality as the ability to display information contextually based on someone's role through the logic I could leverage in Views & Panels. Views and Panels are brilliant. Even if they have a helluva learning curve and are a bit on the heavy side.
As for Wordpress, I still recommend it for many use cases and spent this past Saturday at a Wordcamp in CT. I learned that Wordpress has come a long way from 2.x and with plugins like PODS - http://wordpress.org/plugins/pods/ - you can get closer to Drupal-level functionality and still get the simplicity, elegant themeing, and backwards-compatibility that WP offers. But I will add 2 notes to the WP / Drupal decision-making matrix: (1) Wordpress is beginning to feel drupalists' pain as they expand their capabilities, there are many examples, but I'll name a few that I heard about Sat. overly slow page loads due to a vastly enlarged wp-posts table (if you don't use PODS but only the custom fields option it now offers, as just one example, this is the ONLY table in which the content resides), issues re: deployment/testing, getting more plugin & core contributors trained up and adding value back into the community; (2) D8 promises to developers who are more sophisticated than myself (and thus fully appreciate it) the object-oriented benefits of Symfony PHP, a much better experience for themers through Twig, and inline WYSIWYG for content authors. There are lots of other good things on the horizon for both of these projects. I think that the various projects mentioned end up helping the others to move forward as developers move to the environment they weren't formerly with and point out/build what's missing compared to what they had in the other environment.
I can't speak to other options for you, but if really have a strong inclination to work with another codebase and think that the going through migration is better than the drupal learning curve, then I can see your point. On the flipside, think of your organization's ability to handle whatever system you may leave them with and how many other people in libraryland (or if it's a straight developer/programmer - not a librarian - position you're in, this may not be as much of an issue) know that codebase. That's a factor, too. I would argue that you'd get a lot more WP/Drupal devs than django (or even at this time, rails) people. Finally, in terms of future-preparedness, I like that Drupal made me think about content as being more fluid than I'd imagined it to be when working with either static html or Wordpress. I think that this way of conceptualizing the website is particularly important in a world of ever-changing devices/content display & use needs. It made me very sensitive to issues of information and content architecture. I think it was the keynoter at Wordcamp CT, a core contributor, who mentioned that the ability to break information down so that it can be displayed more flexibly is a key need for future web CMSes.
So there's my 0.02, FWIW,
Digital Resources Librarian
CCSU – Elihu Burritt Library
[log in to unmask]
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Riley-Huff, Debra
Sent: Thursday, May 15, 2014 12:32 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Very frustrated with Drupal
I have been with Drupal for about 10years now, (think Flexinode). I have also built several applications in PHP, MySQL, etc. and I have to say I have for sure had times I wanted to tear my hair out with Drupal, but over the years and I have to say I do like it quite a bit and feel like it is the most powerful open source CMS out there. I have also had the wow, "I can't believe I built that" experience on numerous occasions with Drupal.
When I build simpler things with Wordpress, it is easy but I also feel really constrained. I also don't like the trend of paying for full plugin functionality in many Wordpress plugins.
It is a commitment to learn Drupal well, that is a certainty, and if you don't enjoy it, you may not like it. I get that for sure. I don't use it for everything and I wouldn't recommend trying to do so.
For me it comes down to knowing the modules I use regularly inside and out.
I know which modules I want to use quite well, I know what they conflict with, how they behave. I know what to trust and what to worry about. I also have a commitment to a base theme, and I know it very well too. All that comes with experience.
I think it would be really helpful to many librarians if we were able to share our installation profiles, modules and themes, frustrations and just really help each other more. I know we sometimes get together at conferences and share at the sessions and workshops, but is just never enough. It seems like the need is there for something more in the area of learning and sharing.
On Wed, May 14, 2014 at 8: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
Head of Web Services & Associate Professor JD Williams Library University of Mississippi University, MS 38677
[log in to unmask]