{gidoo code}

Vision and Goals

Developing a new CMS might look stupid but I want to explain why I still see the need for this project.

First of all there are not that many CMS written in Java that are handy for non-enterprise sized websites. My personal favourite language is Java (no discussions about that, please: it's a personal meaning and of course I work with other languages, too) and the gidoo project website will not be that big but big enough for a CMS. Especially there will not be the need for a database server like MySQL or PostgreSQL but a stand-alone database like Derby or even a file based approach would be handy.

Another issue is that it should be easy to integrate Wicket to our website. Wicket is a framework for developing web-applications in Java. E.g. I already developed a dictionary viewer in Wicket (gidoo has a dictionary project) and it should of course be available from our website. With "available" I don't mean links or even worse iframes. I mean a real integration. A website should be interactive and that's what you can do very well with Wicket.

Something I always disliked on most CMS projects was how I had to influence the appearance an behaviour of the website. Writing a menu which doesn't follow the standards the CMS authors have thought about is a pain. Internationalization never was the way I needed it for a special project. Even worse, I might be able to change some behaviour but then I often need to learn a new scripting language. All the things I mentioned are very special for every project. The approach from gidooCMS is to do the things every CMS has in common, but to add website-specific behaviour directly in Java. You don't have to touch the code but every CMS will be it's very own web application where you override default-classes to get the results you want. That's why I sometimes call gidooCMS a "framework" even if this term got a little bit negative touch in the Java world (too much frameworks, too less applications).

A CMS would be worthless without a rights management. But often the way this is done is just an overkill. gidooCMS uses "sections" to handle rights management which are very like servlet contexts. There are only two roles: editors and publishers. Editors are free to do almost everything inside their sections (changing pages and their names, upload files, changing the structure of the site). But every content that is shown the the visitor of the website has been acknowledged by a publisher. I think that this is a model where the editors have a lot of freedom but are still double checked.

The content of our website should be stored in XML which is processed by XSLT-scripts. This enables you to control the layout and add your own site-specific markup-tags. E.g. you can have an Amazon-promotion link tag.

If you like this approach you are free to use gidooCMS or maybe you even want to participate in developing. We would be very glad. If you don't like it: no problem, there are a lot of CMS out there and maybe you even want to write your own one which fulfills all your needs. That's what we are trying to do for gidoo.