OpenCms

OpenCms is an open-source content management system written in Java. It is distributed by Alkacon Software under the LGPL license. OpenCms requires a JSP Servlet container such as Apache Tomcat.

It is a CMS application with a browser-based work environment, asset management, user management, workflow management, a WYSIWYG editor, internationalization support, content versioning, and many more features including proxying of requests to another endpoint.

OpenCms was launched in 1999, based on its closed-source predecessor MhtCms. The first open source version was released in 2000.

OpenCms is used or has been used by large organizations such as WIPO, the LGT Group, the University of Stuttgart, the Archdiocese of Cologne, or the Chicago Mercantile Exchange.

User interface
The OpenCms user interface runs in a web browser, placing control elements directly on the web page that is edited. Content on a page can be modified by drag and drop. Text can be edited "inline" directly on the web page, or in an alternative form based editor.

Web pages and their navigation structure are managed in a dedicated sitemap editor. Content elements are stored in galleries and can be reused between different web pages or web sites. An additional "power user" interface for Administrators provides role and permission management. Since version 9.5 OpenCms offers layout and template creation without coding.

Technology
OpenCms runs on the Java platform as a servlet. It uses several libraries provided by the Apache foundation. The user interface has been developed using Vaadin and the Google Web Toolkit.

The OpenCms content repository is stored in a database, with MariaDB, MySQL, PostgreSQL, HSQLDB, Oracle, MSSQL and IBM Db2 being natively supported. It can be accessed with CMIS, WebDAV as an SMB network share or through the native web interface.

Text content in OpenCms is defined using an XML schema. The user interface for the content managers creates XML files based on these schemas, which are stored in the database repository. A template system based on JavaServer Pages then creates web pages from the XML.

Versions
OpenCms has been under continuous development as an open source project since the year 2000. Currently a major version is released every 6 months in April and October. The revision control of the OpenCms source code is done using Git on GitHub. The following table provides an overview of all major OpenCms releases.