It's a CMS, a webapp and a database browser: how do I do this?
March 8, 2013 8:56 AM Subscribe
I'm rebuilding a old website that doesn't quite neatly categorize in the it's a blog / it's a CMS / it's a table browser / it's a webapp thingie. After a few years out from web development, it seems fit to examine my whole strategy and ask how best to do this.
Years ago, I made a website for a laboratory I was working with. As is usual with these things, severe mission creep set in and it ended up:
* giving CRUD-like access to a database of samples, with record browsing and searching
* providing tools for visualizing, comparing and working with this data in various ways
* It also functioned as a CMS for various groups that used the database or were involved in lab activities, being somewhere they put reference documents, notices and so on.
There was the added complication that some of the website was open to the public, and some parts only for members of particular groups. Being a Python fan, I did the site up in Plone. NEVER DO THIS.
Anyway, to my surprise, the thing has worked fine for 5 years, with next to no maintenance or attention. Now, I'm between jobs and my old colleagues asked me if I can update the site. Which brings me to the main question: what framework should I use?
* I'm a Python guy but I'm done a bit of Rails work as well. Python will be the language of choice unless there's some overwhelmingly superior choice in another language
* Plone is out of the question. Never again.
* By default I thought of Django (which I have a little experience in), but I'm unsure if the mix of record browsing and content would sit well. Also Django's idea of multiple "apps" in a website never seemed to work well to me, with them acting like wholly independent units rather than parts of a single site.
* The task is a bit too involved for the various microframeworks: Flash, Bottle etc.
* The access control / security is pretty important. People shouldn't see what they're not allowed to see.
So what do I use? Are there any new and useful developments in the web framework sphere? Is Django up to the job?
posted by outlier to computers & internet (5 answers total) 3 users marked this as a favorite
Don't worry too much about subdividing things into separate Django apps beyond some obvious folder organizing. You don't really need the hardcore app repackage-ability side of it, which means you can have it all in one core app if you want.
Regardless, don't do anything without looking up and understanding how virtualenv works in these situatiosn. Memail me for more details if you want, but the hotness on virtualenvs is so hot that they rolled it into python 3.3.
Django 1.5 just introduced pluggable user classes, and it's always had a strong permissions model, so you're fine there.
Really, just use Django. It'll fit right in with what you know, it's more than sufficient, and as a project it's steaming right along and a very safe technology choice.
posted by fatbird at 9:04 AM on March 8