Print

Print


In the case of Django, if buy _Two Scoops of Django_ and slavishly follow
its best practices (plus normal best practices like writing comments), your
code will be pretty maintainable by others. CRUD views are dead simple to
write and the class-based views introduced in 1.5 impose enough uniformity
that your code should be pretty readable, unless you're doing a lot of
custom processing (in which case "how maintainable it is by others" is a
question about you, not about Django).  At any rate, I usually haven't
found it too difficult to read others' Django apps (and have often done so
profitably in the absence of good documentation, alas).

Andromeda Yelton
LITA Board of Directors, Director-at-Large, 2013-2016
http://andromedayelton.com
@ThatAndromeda


On Thu, May 15, 2014 at 10:47 AM, Joshua Welker <[log in to unmask]> wrote:

> Thank you all for the responses. I hope my original email did not come off
> as too abrasive.
>
> The issue for me is that I am having a hard time figuring out what exactly
> is the use case for Drupal. Do you want a dead-simple website? Use
> Wordpress. Do you want to add some complex custom apps? Use a framework. Do
> you want the worst of both worlds? Use Drupal. Getting a non-trivial Drupal
> site up and running requires as much work as learning a full-fledged
> framework like Rails, Laravel, or Django. And the experience you gain using
> Drupal is not going to carry over at all into any future non-Drupal
> endeavors because the Drupal platform is completely unique and doesn't seem
> to follow any basic paradigms like MVC. When doing something like basic
> data manipulation requires overriding core functions using custom PHP
> functions in my theme, the entire point of using a CMS in the first place
> has just been defeated. If I get hit by a bus, not only will someone have
> to relearn Drupal and all its modules, but they will also have to wade
> through my spaghetti-code efforts at patching functionality into Drupal.
>
> What I would love is a CMS based on plain SQL tables, ActiveRecord, and
> simple CRUD controls instead of abstract "entities" and "fields" that try
> to be everything to everyone (and fail to be anything for anyone). But I
> don't think such a thing exists, so I am interested in rolling my own with
> a framework.
>
> Right now, my framework choices are narrowed down to Ruby on Rails, Laravel
> (PHP), Django (Python), and Flask (Python). For anyone who has used these,
> do you have any insight into how maintainable your projects are and how
> easily they are managed/inherited by others?
>
> Josh
>
>
> On Thu, May 15, 2014 at 9:02 AM, Jason Bengtson <[log in to unmask]
> >wrote:
>
> > When I came into this position I inherited some work the former tech
> > manager had done in installing and experimenting with Drupal as a tool to
> > replace our current CMS-less ColdFusion environment. I also quickly grew
> > unhappy with it. I've been experimenting with MODX, which I like so far.
> If
> > you're a PHP developer, MODX will be of particular interest (and PHP is a
> > pretty common server-side technology if you worry about the bus factor).
> I
> > haven't had as much time to mess with it as I'd like, but I've built some
> > wireframes with it and so far I like it.
> >
> > I second the low quality of most of the commercial, enterprise stuff. We
> > used Cascade Server at UNM and it was absolutely wretched. It's been a
> long
> > time, but when I last built a WordPress site I remember that as being
> easy
> > to use and I think it's gotten more flexible/powerful. I've got a fiend
> > who's really sold on it and HAM/TMC uses it for their website.
> >
> > Best regards,
> >
> >
> >
> > *Jason Bengtson, MLIS, MA*
> >
> > Head of Library Computing and Information Systems
> >
> > Assistant Professor, Graduate College
> >
> > Department of Health Sciences Library and Information Management
> >
> > University of Oklahoma Health Sciences Center
> >
> > 405-271-2285, opt. 5
> >
> > 405-271-3297 (fax)
> >
> > *[log in to unmask] <[log in to unmask]>*
> >
> > *http://library.ouhsc.edu <http://library.ouhsc.edu/>*
> >
> > *www.jasonbengtson.com <http://www.jasonbengtson.com/>*
> >
> >
> >
> > NOTICE:
> > This e-mail is intended solely for the use of the individual to whom it
> is
> > addressed and may contain information that is privileged, confidential or
> > otherwise exempt from disclosure. If the reader of this e-mail is not the
> > intended recipient or the employee or agent responsible for delivering
> the
> > message to the intended recipient, you are hereby notified that any
> > dissemination, distribution, or copying of this communication is strictly
> > prohibited. If you have received this communication in error, please
> > immediately notify us by replying to the original message at the listed
> > email address. Thank You.
> > <[log in to unmask]>
> >
> >
> > On Thu, May 15, 2014 at 8:47 AM, Jason Sherman <[log in to unmask]>
> wrote:
> >
> > > 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 <[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
> > > >
> > >
> > >
> > >
> > > --
> > > Jason Sherman
> > > Systems Librarian
> > > University of Science and Arts of Oklahoma
> > > 405.574.1340
> > >
> >
>
>
>
> --
> Josh Welker
> Information Technology Librarian
> James C. Kirkpatrick Library
> University of Central Missouri
> Warrensburg, MO 64093
> JCKL 2260
> 660.543.8022
>