Open Source as of:
Current major release:
OpenCms is a complete CMS platform for the creation of internet or intranet websites. Users of OpenCms include the Chicago Mercantile Exchange (CME), Bayer Business Services, mobile.de, SWITCH, the WAZ media group, Salesforce.com, Sky, as well as the official Spanish tourist portal spain.info.
OpenCms has been under continuous development as an open source project since the year 2000. It is offered under the LGPL license, which allows for unlimited usage also in commercial applications. It is based on the Java platform and used mostly by medium and large size enterprises which require a CMS that integrates well into their existing IT infrastructure.
The current version 8.5 vastly improves the usability for content managers. If you are looking for a mature CMS that is based on a powerful platform, can easily be adapted to your requirements and at the same time offers an easy to use user interface, you should take OpenCms into consideration.
Focus on enterprise users
The development is directed towards meeting the requirements of enterprises and large organizations. Here it is often important that the CMS integrates well into the existing IT environment. The Java platform has become the de-facto standard for development within many enterprises. Moreover, large database installations such as Oracle, DB2 or MS SQL are often to be found there. OpenCms is written in 100 % Java and also database independent, so it meets these requirements nicely.
Because of its flexibility, the system is also well suited to create intranet applications. The navigation structure, text content and images of the intranet pages are in this scenario often managed by OpenCms. Enterprise-specific functionality is then integrated into this page framework. Ready-made solutions exist for use cases such as document management or information portals. With freely available add-ons OpenCms can also be extended to become a full featured JSR 268 portal server.
Automatic import and export of content from the CMS is often a requirement within the enterprise. To meet this requirement, OpenCms can act as a CMIS server since version 8.5. CMIS stands for Content Management Interoperability Services and describes a well accepted standard for remote access to the content of a CMS installation.
Intuitive user interface
The user interface of OpenCms 8.5 has been developed in HTML 5. Its functionality can be summarized by inline editing, drag & drop elements and reuse of content.
The user interface places the control elements directly on the web page that is edited. Individual content elements on a page can be moved by drag & drop, which is also the way new content is created. Text can be edited “inline” directly on the web page. However, a form based editor is also available if the content manager prefers it. New pages are created by drag & drop in the sitemap view. The navigation structure is also managed like this. Content elements are managed in galleries and can be reused between different web pages or web sites. To find existing content elements, several tools are available such as a tree view, full text or attribute search.
An additional power user interface is available for administrators. It provides a full featured role and permission management which allows detailed control of the way users can access or modify the content. All resources in the repository can be managed individually using a classical tree view. OpenCms supports managing multiple sites and multiple domains, as well as generating content in several languages and character sets. This is completed by functionality such as integrated full text search based on Apache Solr, visual image scaling and cropping, SEO support and the possibility to change a complete website “offline” and publish all changes at once.
OpenCms is mostly based on open source components provided by the Apache foundation. The HTML5-based user interface (except the power user view) has completely been developed using the Google Web Toolkit (GWT).
As a Java-based system, OpenCms requires a servlet container as runtime environment. Apache Tomcat is often used here, but commercial offerings such as IBM Websphere or Red Hat Jboss are suitable as well.
An important feature is the focus on the creation of “structured content”. This can e. g. be a news message, a job or a product description. OpenCms allows defining extensive structured contents using W3C XML schemas. The user interface used by the content managers creates XML files based on these schemas, which are stored in the OpenCms repository.
The system offers a powerful template system based on Java Server Pages (JSP) to output the XML of the structured contents on web pages. Dynamic output areas called containers are defined using special tags on these JSP templates. Other JSP pages called formatters then control how the XML content is rendered inside such a container.
A developer needs to provide the XML schemas, the JSP templates with the containers and the JSP formatters for the XML rendering. From these components, OpenCms generates the editor forms for the creation of content. Also the drag & drop functionality for adding or modifying the content on a page is provided automatically.
The development of OpenCms is coordinated through the popular GitHub website. There the source code of the current development branch is available. The latest stable release can be downloaded from the official website. Over 60 developers have already contributed; the code base consists of more than 1 million lines of code. The development of OpenCms is coordinated by Alkacon Software GmbH based in Cologne, Germany.
Compared to some other open source CMS, OpenCms has a smaller community of developers. Also the number of installations is smaller in comparison to these systems. A reason for that is the clear focus on Java and the professional enterprise as a target group. OpenCms is usually highly adapted according to the individual customers’ requirements, so there are not many “out of the box” installations where an existing template is used and only slightly modified.
Nevertheless there is an active user community which meets at the yearly OpenCms user and developer conference, OpenCms Days. Here users from many different countries present their projects to the audience. OpenCms is used all over the world, beside Western Europe and the USA it is also used e. g. in South America, Russia, Japan, China and Australia.
IT consulting and development firms frequently offer OpenCms as an open source alternative to “large” commercial CMS vendors. Customers that want to use OpenCms therefore can select from a wide variety of professional solution providers. Standard support agreements, as well as trainings, are also available.