OpenCms

Last updated
OpenCms
Developer(s) Alkacon Software and the OpenCms community
Stable release
18 [1] / 2024-10-08 [±]
Repository
Operating system Cross-platform
Platform Java, XML
Type Content management system
License GNU Lesser General Public License
Website www.opencms.org

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

Contents

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. [3]

OpenCms was launched in 1999, [5] 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. [5]

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. [6] 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. [7]

Editing a web page in the inline editor of OpenCms 10. OpenCms 10 - Editing a web page.png
Editing a web page in the inline editor of OpenCms 10.

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. [8] The following table provides an overview of all major OpenCms releases. [9]

Overview of major OpenCms releases
VersionRelease dateImportant new features
Old version, no longer maintained: 4.02 Feb 2000Online / offline workflow, WYSIWYG editor for web pages, explorer, user management
Old version, no longer maintained: 5.05 May 2002Page templates in JSP with own <cms:> tag library, extended caching and static export of pages
Old version, no longer maintained: 5.311 Dec 2003Full text search using Lucene, direct edit of web pages
Old version, no longer maintained: 6.030 Jun 2005Updated user interface, storage of content in XML files based on XSD, management of multiple sites
Old version, no longer maintained: 6.231 Mar 2006Integrated image scaling, visual comparison of document versions
Old version, no longer maintained: 7.004 Jul 2007Support for WebDAV, automatic link management, category tags for all content files
Old version, no longer maintained: 7.515 Jun 2009Content galleries, extended support for creating JSP using expression language
Old version, no longer maintained: 8.08 May 2011Enhanced user interface allowing drag and drop of elements in the page and sitemap editor, support for mobile devices
Old version, no longer maintained: 8.524 Sep 2012"Inline" editing of web pages, integration of Apache Solr, CMIS support, SEO features
Old version, yet still maintained: 9.008 Nov 2013Preview for mobile devices, accessing the content repository using a network share, visual site management interface, demo template based on Bootstrap
Old version, yet still maintained: 9.503 Nov 2014Nested containers allow template and layout creation with drag and drop, user generated content, PDF creation, extended editor roles, spell checking in the WYSIWYG editor, visual management of galleries, categories and templates
Old version, yet still maintained: 10.023 Mar 2016Modernized administration workplace, added Apollo Template, new file explorer, Identicons for users, direct commit of changed templates to Git, drag and drop of images, enhanced Solr based content search
Old version, yet still maintained: 10.515 Feb 2017Improved localization tools for side-by-side comparison of sitemaps, support for generating pages as JSON fragments, asset connection for external data sources, font icons in the user interface
Old version, yet still maintained: 11.030 Apr 2019Redesigned user interface, meta mappings for SEO, new Mercury Template, default content list generation with predefined Solr searches, bookmarks in the explorer, new apps for resource type and sessions management
Old version, yet still maintained: 12.012 Oct 2021 Headless JSON API for REST content access, greatly improved Mercury Template, template variants, updated WebDAV implementation.
Old version, yet still maintained: 13.003 Apr 2022New plugin system, search by geo coordinates, extensions to template variants, improved Mercury template.
Old version, yet still maintained: 14.011 Oct 2022XML schema versioning with automatic content rewrite, two factor authentication (2FA) in the user login, source code editor widget for multi-line text inputs, Mercury template updated to Bootstrap 5.2.
Old version, yet still maintained: 15.025 Apr 2023Role-based control for sitemap access and new editor for modifying selected sitemap attributes, app "Person data search" reveals personal user data in the VFS, improved Mercury template.
Old version, yet still maintained: 16.002 Oct 2023New app "Unused contents" finds and deletes content not actively used, individual detail pages based on categories, option to reset the password for all content managers, improved Mercury template.
Old version, yet still maintained: 17.009 Apr 2024New app "Date search", export a selected site for archiving, hide "sensitive" content in the Offline project, support for Java LTS 17 and 21, improved Mercury template.
Current stable version:18.008 Oct 2024New “Place element” mode in the page editor, markers for reused content, automatic typographical correction of quotation marks, improved Mercury template.
Legend:
Old version, not maintained
Old version, still maintained
Latest version
Latest preview version
Future release

Further reading

See also

Related Research Articles

Jakarta Faces, formerly Jakarta Server Faces and JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It was formalized as a standard through the Java Community Process as part of the Java Platform, Enterprise Edition. It is an MVC web framework that simplifies the construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.

eZ Publish is an open-source enterprise PHP content management system that was developed by the Norwegian company Ibexa. eZ Publish is now maintained by 7x. eZ Publish is freely available under the GNU GPL version 2 license, as well as under proprietary licenses that include commercial support. In 2015, eZ Systems introduced eZ Platform to replace eZ Publish with a more modern and future-proof solution. In 2024, 7x released eZ Publish 6.0 (stable) to replace eZ Publish 5.4 with a more modern and future-proof solution compatible with PHP 7.x and 8.x software. In 2024/02 7x followed up its first release (6.0) with a powerful second release 6.0.1 containing key installation bugfixes and a brand new database backend for flat file database called SQLite that is mature and stable ready to use to simplify your website or web application. In 2024/03 7x continues to develop and release monthly updates to eZ Publish with the release of version 6.0.2 which provides default design improvements and many more extensions enabled for use by default.

<span class="mw-page-title-main">Mantis Bug Tracker</span> Bug tracking system

Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.

<span class="mw-page-title-main">Django (web framework)</span> Python web framework

Django is a free and open-source, Python-based web framework that runs on a web server. It follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit.

The Jakarta Standard Tag Library is a component of the Java EE Web application development platform. It extends the JSP specification by adding a tag library of JSP tags for common tasks, such as XML data processing, conditional execution, database access, loops and internationalization.

Content Repository API for Java (JCR) is a specification for a Java platform application programming interface (API) to access content repositories in a uniform manner. The content repositories are used in content management systems to keep the content data and also the metadata used in content management systems (CMS) such as versioning metadata. The specification was developed under the Java Community Process as JSR-170, and as JSR-283. The main Java package is javax.jcr.

<span class="mw-page-title-main">Apache OFBiz</span> Open-source enterprise resource planning software

Apache OFBiz is an open source enterprise resource planning (ERP) system. It provides a suite of enterprise applications that integrate and automate many of the business processes of an enterprise.

<span class="mw-page-title-main">Silverstripe CMS</span> Content management system

Silverstripe CMS is a free and open source content management system (CMS) and framework for creating and maintaining websites and web applications. It provides an out of the box web-based administration panel that enables users to make modifications to parts of the website, which includes a WYSIWYG website editor. The core of the software is Silverstripe Framework, a PHP Web application framework.

<span class="mw-page-title-main">NewGenLib</span>

NewGenLib is an integrated library management system developed by Verus Solutions Pvt Ltd. Domain expertise is provided by Kesavan Institute of Information and Knowledge Management in Hyderabad, India. NewGenLib version 1.0 was released in March 2005. On 9 January 2008, NewGenLib was declared free and open-source under GNU GPL. The latest version of NewGenLib is 3.1.1 released on 16 April 2015. Many libraries across the globe are using NewGenLib as their Primary integrated library management system as seen from the NewGenlib discussion forum.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

Apache Click is a page and component oriented web application framework for the Java language and is built on top of the Java Servlet API.

Java view technologies and frameworks are web-based software libraries that provide the user interface, or "view-layer", of Java web applications. Such application frameworks are used for defining web pages and handling the HTTP requests (clicks) generated by those web pages. As a sub-category of web frameworks, view-layer frameworks often overlap to varying degrees with web frameworks that provide other functionality for Java web applications.

<span class="mw-page-title-main">TYPO3</span> Web content management framework

TYPO3 is a Web Content management system (CMS) written in the programming language PHP. It is free and open-source software released under the GNU General Public License version 2.

<span class="mw-page-title-main">OpenWGA</span>

OpenWGA is a Content Management System (CMS) running on the Java Enterprise Edition Platform. It is used to build, manage and publish websites and content-centric web applications. The system is developed and maintained by German company Innovation Gate GmbH.

<span class="mw-page-title-main">ImpressPages</span>

ImpressPages is an open-source PHP framework with built-in content editor. Features include MVC engine, inline editing and drag&drop interface. It is distributed under the GNU GPL v.3.0 and MIT licences.

The Open Semantic Framework (OSF) is an integrated software stack using semantic technologies for knowledge management. It has a layered architecture that combines existing open source software with additional open source components developed specifically to provide a complete Web application framework. OSF is made available under the Apache 2 license.

<span class="mw-page-title-main">October (CMS)</span> Content management system

October is a self-hosted content management system (CMS) based on the PHP programming language and Laravel web application framework. It supports MariaDB, MySQL, PostgreSQL, SQLite and SQL Server for the database back end and uses a flat file database for the front end structure. The October CMS covers a range of capabilities such as users, permissions, themes, and plugins, and is seen as a simpler alternative to WordPress.

<span class="mw-page-title-main">ContentBox Modular CMS</span> Content management system

ContentBox Modular CMS is an open-source content management system for CFML, created by Ortus Solutions, Corp. ContentBox has been designed as a modular HMVC software based on Hibernate ORM and the ColdBox Platform.

<span class="mw-page-title-main">Enonic XP</span>

Enonic XP is a free and open-source web application platform and content management system (CMS) in one based on Java and Elasticsearch. Developed by the Norwegian software company Enonic, the microservice web platform can be used to build progressive web applications, Next.js websites, or web-based APIs. Enonic XP uses an application framework for coding server logic with JavaScript, and has no need for SQL as it ships with an integrated content repository. The CMS is fully decoupled, meaning developers can create traditional websites and landing pages, or use XP in headless mode, that is without the presentation layer, for loading editorial content onto any device or client. Enonic is used by major organizations in Norway, including the national postal service Norway Post, the insurance company Gjensidige, the national lottery Norsk Tipping, the Norwegian Labour and Welfare Administration, and all the top football clubs in the national football league for men, Eliteserien.

References