To CMS or to Do Something Else
June 20, 2011 5:47 AM   Subscribe

Is a CMS just for publishing websites, or would a web app site want one, too?

I'm a desktop app programmer trying to enter the crazy and befuddling world of web development. I'm making a web app that lets users create cartoons. It would be nice if these cartoons could be shared on the site, kind of like how videos are shared on Youtube or pictures are shared on Flickr.

I don't want to reinvent the wheel for common website features like registration, account management and searching. Is this the kind of thing a CMS is for, or do you just use a framework for that sort of thing? Or some other tool or technology I'm not aware of?
posted by giggleknickers to Computers & Internet (5 answers total) 2 users marked this as a favorite
If you're not going to be publishing a blog, you probably don't need a CMS, but something like Rails or Django might be useful for bootstrapping that kind of thing.
posted by empath at 5:53 AM on June 20, 2011

A Content Management System is just that. It's a backend that handles your content, so that you can create a more-or-less static page (template) with placeholders for the content.

(Very, very basic overview: this page, on the mefi server, would look something like:

Get subdomain config, set background color to $subdomain.backgroundcolor
Display $subdomain.header
Display $article.title
Display $article.dateandtime
Display $article content


for x in get comments
display $x.comment
display "posted by" $x.username "at" a href=$x.permalink $x.time /a "on" $ $x.favorite $x.flag

So it seems to me like a CMS is exactly what you need, so that you can display dynamic content without having to create a new page for each permutation of the content. But how to implement it or which one to choose is another story.
posted by gjc at 7:45 AM on June 20, 2011

If you piggyback on a CMS for this you'll spend a lot of time bending it to your needs. Some people have been working with a particular CMS long enough that they could conceivably just write the app IN the CMS (technically CMF -- content management framework -- at this point I think) but that doesn't sound much like your situation. In this case, you probably want to go with a framework -- is there an existing framework for the language you plan on writing this in? If so, your choice is pretty clear, if not I'd recommend Django or Rails as empath suggested.
posted by johnnybeggs at 10:59 AM on June 20, 2011

I haven't decided which language I will use yet. I want to figure out what tools are best for the job and then make my language decision.
posted by giggleknickers at 12:11 PM on June 20, 2011

I disagree with empath that "not blogging" means "no CMS". You want to manage your content somehow, right? The issue is really what johnnybeggs mentions, do you want a CMS that you're going to have to bend to your whims (e.g., look at the work people had to do to fit ecommerce into WordPress, as compared to Drupal 7 and the commerce module) or do you want to start with a CMF that will let you avoid undoing the business logic that comes baked into the CMS? (There's also the argument that something like Drupal could be seen as a framework, clicky, clicky, clicky.)

Both a CMS and a CMF would let you skip some of the crud, the issue becomes if you pick a CMS that has a baked in business logic you spend more time fighting, then it will be more work than picking a CMF. (Or you could pick a CMS that gives you 60% of what you need and you leverage it's API to meet the rest of your needs.)
posted by Brian Puccio at 6:30 PM on June 20, 2011

« Older what is this book I've never read but would like...   |   What to Do about a Lost Nail? Newer »
This thread is closed to new comments.