english
 WOS 2 / Proceedings / Panels / Freie Software / Open Source Content Management Systeme / Alexander Kandzior / skript

OpenCMS

As already mentioned my name is Alexander Kandzior. I'm a CO from Framfap Deutschland which usually means I have to wear a suite when I go to work, not today. So I'm also the chairman of what we call the OpenCMS group and I think I will explain later what that means. We can go to the next slide. I can tell you a bit about the OpenCMS basics. So, OpenCMS obviously is a website content management system. We already have heard quite a couple of definitions what a content management system might be. So, OpenCMS is and always was targeted towards creation of websites. The software is published under the open Source LGPL licence. I think some of you know probably what that means. This is another standard licence and it basically means you can really take the source, copy it and even make because of that licence commercial applications on top of it if you like to and stuff like that.

The OpenCMS development effort is coordinated by the OpenCMS group which I represent here and a lot of sponsors and sponsors are of course the company I work for . That is Framfap and what we are is an internet consultanties. So we built very nice websites for very large customer and this is also basically the history of OpenCMS and how it came in existence as an open source. What we did was as already mentioned since 1994 we work in that Buisiness and we developed a lot of lets say solutions and packages at that time which really had the goal to create specific elements of a website easier then it was possible. Some of you remember that times that there were almost like no tools available. It was really hard to place German Umlaute on a web page. You have to write "a um" in the text editor to do stuff like that. This was really hard time and we created some tools that made the life of us web designers and developers easier. And out of these tools that were refined and refined the next couple of years grow a collection of components that first were C based, later on were Java based and in beginning of 2000 we had to make a choice if we want to make these collection that we already had build since we want to continue using that should we make this a product and maybe sell this with a licensing fee or what else do we do with it?

Then we decided to publish this as an open source since frampart the company who had the rights at that time is not a product company but a consultanty company. That actually means we have to do a lot of works with other content management systems. For instance we use MMBase quite a lot with our Netherland branch framepart and also a lots of other commercial available content management systems. But we also wanted to continue developing our own components that we already had and so we decided to publish this as open source. It was done in March 2000 of course for the Cebit at that time. And yes OpenCMS it can be freely downloaded. We have a website called open-cms.org and there you can download the software . You can also download the documentation and other stuff. The software is written in Java, so it is a 100 % Java effort, so really OpenCMS for the Java developers among us.

And the target audience who should now use this content management system this is an interesting question and if you ask us as an consultanties we would say OpenCMS is a very good solution for a smaller medium company, so companies that say we want a system. We don't want to start from stretch but we want not to pay big licensing fee for a commercial system like you name it. I mean there are systems that cost up to a quarter million Deutsch Mark in license fees for the basic installation and of course this is not for everyone. So OpenCMS we place that as a very good solution for smaller, medium enterprise or the Mittelstand as the Deutsche would say. Since it is very Java based it can co-exist very nicely in a Java environment and that means it makes this good and valued solution for a company who already has maybe a Java strategy. There are a lot of companies, large companies who now work with Java in their enterprise way and if they have a Java strategy, that means they have maybe selected their application server and stuff like that, maybe they didn't have their licensing content management commercial system because they feel it is good to pay a lot of money for the commercial system but then they still will have a lot of needs for maybe a second solution that does not have this high licensing cost. And we also think that OpenCMS is a valid alternative here for these companies. And as I said OpenCMS since it is very much Java like it is also very interesting for people interested in Java developing. So this is basically the target audience for the point who should maybe use or look into the system from a business point of view or from a point of view of maybe a developer.

So what are the features of OpenCMS? As you think as you see I can understand, I cannot present everything life here. We have ten minutes times. That is quite short. So this is a small list what OpenCMS can do. We have a project based work flow. Everything is done in projects, changes are published. To do publishing you have to be legible to do so. You have to have the right permissions to do so. There is a version control, that means if you publish a page you see that you don't like the changes you can go back to an old version of the page. We have dynamic page rendering that actually becomes more and more an advantages, since it means a page is built at the time when the page is requested. It is not built from scratch. We have a very refined caching mechanism. So that elements that I have not changed are cached but basically this allows you to built a quite powerful portal sites with personalitation and stuff like that. So, this is also a feature of OpenCMS. You can do pretty much interactive stuff with the user. Browser based editing that means you don't have to install software to do that. Obviously this is something which is taken for granted by the auditorium but there are still a lot of tools out there on the commercial market at least that require that you install editor or something which is not browser based and we have tasked management's .That means you can create tasks to do the stuff like that in the system and also manage them between groups. The complete system is database-driven and of course features separation from content and layout as most content management's do.

It uses quite heavily xml, Java and has its own API application programming interface where you can develop modules, add on components, that you can basically just plug in the system like lego blocks. We have heard that before and extent the functionality of the system with these. So, what is needed to run an OpenCMS system on a computer. It actually from a software side supports almost everything that because of the Java. We have complete installations based entirely on open source like linux operation system with tomcat, the popular apache servlet engine and then a MySQL database that works perfectly well. Then there is also the possibility to run the whole stuff on a windows environment if you prefer Windows maybe in your office maybe there are policies that you have to use Windows. This is also supported and then there is of course high end solutions like Solaris maybe with a BA web logic. This is a high end. At least it is very costly application server and of course EUREKA the database that most enterprises prefer to use. So, on the software side it runs on these combinations, it is pretty flexible.

On the hardware side it is also very flexible. I actually can run it on an notebook computer obviously. Then there is the basic configuration that we say is a good configuration is like two standard PC's with a lets say from a today's point of view a more moderate cp power and O.k. 512 MB of RAM, more is better and that is because of the caching for the dynamic page rendering. And then other hardware we support is of course sun hardware which sometimes make sense. It is fare more easier to plug more CPU's in a SUN then to do that to a standard PC and also we have installed on UNIX hardware on varies clusters solutions, so all kind of high and low ends is actually supported and it really depends on your website on the traffic of your website what you really need. So, since I can not present the system for you in a great detail here we have the opportunity to do that tomorrow. I have some screen shots for those of you who might not attending the workshop tomorrow. And the first screen shot this is OpenCMS.

As I said it's completely web based. If you want to log into the system you are presented with such a login box. That is on a web page and then you get to see something like this. This is what we call the work place and it is the explorer view of the work place and it is not by change that it looks quite a lot like Microsoft Windows Explorer or a similar explorer versions that are now also available for Linux. So, this really a file system which is not in the file system but in the database. We call that the virtual file system and there you have pages. You can create folders and you have quite a lot of other possibilities. The idea was to present the user that uses this interface something he really feels familiar with. Since most of us that have at least started to try to do something with HTML are familiar with the page based approach and also are familiar with such a file tree. This is basically a rebuilt version of this. And you can interface to that with this web based work place of OpenCMS. And on the next screen shot we see the task management. I mentioned that. So, you can create new files, pages, stuff like this. And if you work in groups or in teams you can coordinate your efforts whit these task management you hear. So this is something I'm not sure if I can say maybe some of you use Outlook or similar tools. They have this kind of to do list. You create a new task. So you can create some task like this here in the web interface and maybe say O.k. I'm a lets say project manager. I create a task for my web developer and I write in please what ever edit the page index HTML or something like that. And then I can send him this task. He find this task in his task view and he can then do the work and then later when he is finished say O.k. I'm finished with that and I as a project manager who has created the task get an email that says the task has been finished. Go to the website and make sure everything is as you wanted it to be. So this is a kind of work flow, a collaborational part that we have built also into the system.

And the last screen shots I'm going to show you is the administration interface. So, these are the basic three views of the workplaces: administration interface that again looks a bit like a Windows or other workplaces and it is again of course HTML based and you see a lot of icons. You have an icon which is called project management. You click that and then you are able to create a new project or to publish onto an existing project or to look at the history of projects that have been published. And then you have a user management where you can add and delete users and groups and this is done similar to a UNIX system where groups and permissions are set in a similar way. We have database management. You do exports and stuff here and other stuff like module management and synchronisation various specialist and I'm going to explain this in a bit more detailed tomorrow when I present that live. O.k. these were some screen shots of the system and the question of course is what do I need to know when I want to do something with OpenCMS and of course this means when I'm going to set up a system maybe for myself or for a customer and you have to understand that the first point is you get the software, the basic core software for free, you install that and then you have to do some modifications. You basically have to create the design, templates and stuff that you want to have for your website and later on when you are finished with the basic installation of course people that have no knowledge of HTML and no knowledge of Java should be able to add new pages or new content to the software. But to reach that point you have to first lets say to make some preparations, make some adjustments and to do that you require knowledge in HTML and some basics in XML, not very deeply. Some basics are helpful and SQL if you are going to do a new data base connections which is usually the case in a real world project. And then there are two API's. One is the XML template API that enables you to do new templates that are later then easy to fill out by not so skilled users of course. And then the Java API which enables you to add new functionalities like your special database request or whatever kind of functionally you would like to have on your website. Developments is in general separated between core development. That means the OpenCMS core system as it is downlodable from the website and then there is module development. That means these module developments are the adjustments that I already hinted to are necessary to let say prepare websites so that a customer or end user can use then. To do that you create modules. Some of them maybe for the back-en use, maybe for the front-end part and you plug these modules into the system. There is an administration point where you can really upload a zip file that contains XML and classes and stuff and this is then just plugged into your running system. As I said these modules can be managed through the work place and so you really don't have to touch the core of the system to do additional work or to do work with that but you have to learn the module API and of course if you want to you can also learn how to extend the core, since it is all open source.

So, what we are going to do next and where are we today? The OpenCMS version 4.40 is the current major release and there is a new version 4.44, but it maid also be already 4.45. I really have to check but this is actually scheduled this months. The 4.44 I know is already finished and it has some feature additions and tonnes of issue solved. That is a nice way of saying bugs fixed today. And the next major update will be the 4.6 version and until we get there we will have the development branch . That is 4.5 x something . I think we are already at 4.515 or so and we plan to add some features here that I have listed here like support for IGB's, to do a full static export of a website, advanced projects scheduling out of publishing, stuff like that and also better project handling of data base content that is connected to the system VRU modules. So this is basically planed what we have install for lets say the next three or six months or so. As I said the home page of the project is www.opencms.org and also framfap the company who is the main sponsor has another promotional website which is www.opencmsframfap.de.

[transcript: Katja Pratschke]


Creative Commons License
All original works on this website unless otherwise noted are
copyright protected and licensed under the
Creative Commons Attribution-ShareAlike License Germany.