I have a client that needs to manage...data. Database records. Not really content, per se, but just data.
This client has some job postings on their Web site. These postings are one table and about four columns worth of data. There’s a title, a posting date, etc. The rest of their site is not content managed – it’s a big, static, brochure-ware site. Display of the data is not a big deal – it can be done in 15 minutes using standard .Net controls.
Some time ago, we discussed The Quandary of the Single Table Web Site. What do you do when you have a static site with just one area of active, database-driven content? We threw around some good ideas like PHPRunner, etc.
This situation, however, is a little different. This client needs three very content management-ish features:
Approval based on permissions
Granular access – some people can add job listings, but others have to approve them
What do you do in these cases? I find it very tough to tell this customer to go buy a CMS (they’re .Net, so the open-source options are limited). Additionally, a “content management system” implies quite a bit of extraneous functionality in this case – things like relational data modeled (how content relates to other content), interface widgets, publishing methods, etc. Content management tends to “know” that its content is being published on a Web site, so it tailors its handling for those cases.
What this client needs is “enhanced management” of a simple database table, essentially. They need tools to allow them to manage this data in a usable editor, with versioning, permissions, and simple approval. This system needs to have no knowledge of the larger Web site. In fact, it needs to have no knowledge of the final disposition and display of the data – it has no need to see beyond the database table.
So, I guess I’m looking for a “data management system.” Or, my preferred term, a “half-assed content management system.” In the end, I want something very similar to what PureEdit has done for PHP, but with some of the higher-level content management functions we’ve discussed before.
This may go back to our discussion previously of Content Management as API. I assume someone has a library somewhere that enables this (adding versioning to a solid OR-mapper wouldn’t be that hard). However, I’m not to the point where I want to roll an entire interface to this.
I’m open to ideas if anyone has anyway. In the end, there is a solution – probably several (to this end, Kentico, I just noted today, has enabled a free version of their commercial CMS). However, I’m looking for an “eternal solution” to this problem, if there is one. I want to solve this problem on a theoretical level, not just a functional level.