Yet another CMS

Posted Thursday, April 28, 2005

Filed under: , ,

There are a LOT of CMSes out there already, even some real industrial-strength ones I bet, but I'd like to make my own both to learn and because my requirements haven't been met as yet -afaik.

My requirements are the following:

  1. I want something that runs anywhere, under any conditions,
  2. plugins, templates, stylesheets etc that work as soon as uploaded,
  3. a flexible, modular, adaptive architecture

I am therefore still planning and working, and since I like to keep things neat and tidy I've decided to divide it into four basic modules: input, kernel, content and output. That way I won't have to put everything down when new ideas or technologies show up.
The first module, input, would gather everything passed to the server: the page that called it, any cookie and form data, and http parameters. It then would pass it along to the kernel neatly wrapped.
The kernel then takes over and processes such data, interacting with the content module as needed before passing the content along to the output module.
The content module is in charge of fetching/feeding/editing the contents that make up the website. That the site runs on file, mysql, odbc or whatever should make no difference. Caching should be used as appropriate to speed things up. To the kernel these operations should be completely hidden though.
Finally, the output module should format the data as asked for. I would like this module to be able to output either (x/ht)ml, any feed protocol, and plain xml for rpc calls.
What doesn't satisfy me with today's CMSes is that they still restrict themselves to a few things. What about a proper calendar? What about a feed aggregator? What about a picture gallery? What about a forum? I know, there are some really good solutions out there for every such need, but I want to be able to add (and remove) modules as needed without a fuss, integrating everything together seamlessly. Ideally, you could store your entire digital life into it, pictures and all, or make it a virtual workdesk to share with your workmates or friends across the planet, or whatever your needs. I have a grand vision, and I know it's gonna mean a lot of work but I hope that it's not completely illusory, and will try to make this come true. If you care to help don't hesitate!

[EDIT: Jeremy Keith has started combining different webservices together using their API, and Google might be planning the same kind of online personal computer as I plan, according to Jason Kottke]

[EDIT2: On snook.ca is another CMS step-by-step by someone interested in modularity and website building. Recommended reading.]

Comments disabled because of spammers.

comment #1 On 28/04, Korbo wrote :

Category in a folder structure? That's one idea. I go on dissecting every proper cms I can lay my hands on...

comment #2 On 03/05, Korbo wrote :

I'm also looking forward to being able to simply call /2005/04/24 and get all that has been posted and commented that day, but also all the pictures that were added to the gallery and the meetings scheduled that day too. Additionnally, the owner7admin could see the emails sent and received that day, just one click away.
Honestly, who doesn't see the point behind this all?

Technorati Profile