Joshua, >From my perspective, the module ecosystem is the greatest strength that Drupal has. Modularity is one of the central design goals of the system, so if you if you want to avoid all third-party modules, you aren't going to get any real advantage over something like wordpress. Having said that, I've experienced module dependency hell with Drupal, and it can be frustrating.
I tend to take a hybrid approach. I try to limit myself to just a few modules with any site. Things like Views, cck, chaos tools, and entity reference are modules I use for almost any site. For functionality that is specific to the site, I usually create a local module to store code and configuration. I find that this kind of setup gives me the most of the advantages of the modules, while limiting the potential for update problems. Another option that a lot of people use is drupal distributions. These come with quite a bit of customization for specific use cases ready out of the box. I haven't used a distribution, so I can't speak to their usefulness. I'm sure that their quality can vary just as much as modules and themes. Now for something completely different. Depending on what your requirements are, you may have better luck using a narrower-purpose tool for the job. Have you considered something like SubjectPlus? http://www.subjectsplus.com/ On Wed, May 14, 2014 at 8:35 PM, Joshua Welker <wel...@ucmo.edu> 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 > -- Jason Sherman Systems Librarian University of Science and Arts of Oklahoma 405.574.1340