There are two conflicting issues here. If you want ease of development, you want a framework. If you want ease of content creation, you want a CMS. As a developer, it's always my preference to go for ease of development and use a framework. Designing plugins and modules just sucks. A simple plugin like displaying dates on a page is stupidly complicated when you have to integrate it with the entire CMS rendering engine. But I have to acknowledge that it is better for me as the developer to do a little extra legwork than requiring all the non-techie content creators to do the extra legwork. That said, it isn't _too_ hard to implement a basic wysiwyg editor like CKeditor in most frameworks that would eliminate much of the difficulty for content creators. The bigger issue for me is that, when you use a framework, you more or less guarantee that anyone inheriting your code is going to be facing a steep learning curve, possibly insurmountable depending on their level of programming knowledge. With a CMS, there is built-in documentation and a support community for 95% of functionality, and then you just have to document the 5% or so of code that you custom wrote. Having said all that, I have to point out the amazing Yii PHP framework. It is so extremely easy to build a data-driven app. If you ever want a PHP framework, use that. For Python, I'd go with Django just because it has a better support community and is slightly easier than Flask for database functionality like ORM. Josh Welker -----Original Message----- From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Coral Sheldon-Hess Sent: Thursday, February 13, 2014 6:14 PM To: [log in to unmask] Subject: [CODE4LIB] Python CMSs Hi, everyone! I've gotten clearance to totally rewrite my library's website in the framework/CMS of my choice (pretty much :)). As I have said on numerous occasions, "If I can get paid to write Python, I want to do that!" So, after some discussion with my department head/sysadmin, we're leaning toward Django. Here's a broad question, re: Python and Django: If you've made the switch, what has your experience been? Has Django (or any other Python framework) given you something cool that was lacking in your previous language/framework/CMS? Has it helped you build something awesome? Have you found it enabling or limiting in any way? If you were going to sell people on (or against) using it, what would your arguments be? I'm a relative newbie to Python, and a total newbie to Django, so even if there was a tutorial you found useful, or some caveat you learned along the way, I'm interested. :) And then a more specific question: Given the following requirements, do you have a Django-based CMS you'd recommend? (Of course, I'll also do my own research, but I'd love to see what other libraries' experiences have been and what's popular, right now.) * There's a chance we'll want to offer other editors access to it, at some point, so it would be nice if I can provide a WYSIWYG interface, which I also am going to want the option to *turn off*, for my own sanity. * We're a Springshare-heavy library with Summon and big secret API-based plans, so easy JavaScript (preferably jQuery) integration is a must. * It should play nicely with MySQL. * Because I probably won't be here forever, it's of the utmost importance that whatever we end up with is easy to maintain. * I'm used to MODx's page-ID model, where I can move pages around, and as long as I don't delete/recreate a page (thereby changing its ID), I don't have to change any links anywhere else in the CMS. I'd really like something that will work equally well, since the odds that I'll nail the information architecture on the first try are probably slim. :) (Maybe this one should go without saying, since I know WordPress and many other CMSs do this, but if you have to err, err on the side of being explicit, right?) * A nice forms-builder plugin (module?) would be a great thing to have, as well. We use FormIt in MODx, and now I'm spoiled. And, I mean, if there's a CMS on top of another Python framework you think I should be considering, feel free to throw that out as a possibility, too! Thank you! -- Coral Sheldon-Hess http://sheldon-hess.org/coral @web_kunoichi