Forum OpenACS CMS: Re: Some basic reflections on what a CMS has to do
Let me simplify. Say you have a page on a website - it's your homepage - and on it you usually put an article that is your latest news. This news article is about 4 paragraphs long - and it has 3 pictures and one link to a document that is much more detailed.
Our system user comes in with a coffee in hand, opens her email, sees that the boss has sent another report that is extremely long and detailed in Microsoft Word format. No one is going to read this, but what the hell. Sighing, she uploads it to the system. She tells the system its a report, she clicks the button 'browse', finds the file on her file system in her computer, clicks 'open', and then puts the relevant meta data to it, like the title, the number of pages, the authors, and perhaps an executive summary. Then she realises her coffee has gone cold so she goes and gets another one.
Later, the system user has to go in and put a news article to go on the front page. This article will be funny, short, and well written - it will make people want to download the boss's report. She does this by logging in, then going to a web page that asks for the title, perhaps a subtitle, a teaser, the author, and then the news story. It will probably ask for news article related attrbutes, like a field called 'notes to editors' and 'who to contact about this story'. When she is done, perhaps the next screen asks what layout she'd like. She chooses a layout with 2 pictures and she chooses to attach a report.
The interface then displays a library of images to fill the template associated with that unique story. She searches through the library for the ones she wants, then she modifies the captions a little. Finally, she searches for the document she wants to associate to her news story. She finds the one she wants, and designates it as attached to her news story. Then she previews the entire page, checks it thoroughly, and presses publish.
According to the workflow implemented in her situation, it might go through a number of people before going live. In this example, it goes live immediately as she has the highest privileges.
What she has done to create that article is to put words into a web form - this is the main story that goes on the homepage. As I reckon it, this is like the unique story to which all other things relate. She has also uploaded a Word file and associated it with this article. The two types of content have gone into the system with different metadata attached to each one. The really cool bit is that you should be able to link the original article to any number of 'assets' - like reports, images, sound files etc. This kind of flexibility is the key to sucess IMHO.
What the CMS has to do is handle the 'assets' in a way that has some thought behind it. ( I keep putting the word 'assets' in quotes because I remember that codey types call different things assets and they find my use of the word confusing.) So anyway, handling assets thoughtfully is the real trick.
Someone at the Copenhagen skillshare started talking along the lines of creating a kind of centralised list of all the types of things you might have in the system. This would be pretty cool, I think, because in order to link one thing to another, you need a quick way of figuring out how many bloody reports you have - or even if you have reports at all! - by looking up a kind of menu. Yep, we have reports and we have images and we have sound files - you can find them here and here and here. This kind of mmm... sorry I don't quite know the technical name... menu of things would be pretty key if we wanted to cross link bits and pieces of a system together.
Yeah like, say you wrote a document handling module. You'd need to tell that centralised menu that the system now has documents. That way all the modules could just refer to the main menu and see what the system is offering. I guess if you don't do that, if you wrote say a module that just publishes articles through a web form, and you want to attach a document to it, you'd have to say to your article module - go and check if there is a document module, query it, and get back to me. I reckon that would be rather time consuming.
So anyway, sorry to ramble on Dave, I hope I answered your original question somewhere! I also have to say I do feel a little uncertain posting still, since at Copenhagen I had to internalise alot of technical talk and turn it into some basic concepts. Sometimes the beauty is in the details and when you talk about big picture stuff you can lose a few of them pesky leetle particulars. I'm ofcourse - I'm open to being educated :) I would like to know what it is that does that centralised menu thing.
Dani