Jump to content

OpenCms

From Wikipedia, the free encyclopedia
OpenCms
Developer(s)Alkacon Software and the OpenCms community
Stable release
18[1] / 2024-10-08[±]
Repository
Operating systemCross-platform
PlatformJava, XML
TypeContent management system
LicenseGNU Lesser General Public License
Websitewww.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]

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

[edit]

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.

Technology

[edit]

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

[edit]

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
Version Release date Important new features
Old version, no longer maintained: 4.0 2 Feb 2000 Online / offline workflow, WYSIWYG editor for web pages, explorer, user management
Old version, no longer maintained: 5.0 5 May 2002 Page templates in JSP with own <cms:> tag library, extended caching and static export of pages
Old version, no longer maintained: 5.3 11 Dec 2003 Full text search using Lucene, direct edit of web pages
Old version, no longer maintained: 6.0 30 Jun 2005 Updated user interface, storage of content in XML files based on XSD, management of multiple sites
Old version, no longer maintained: 6.2 31 Mar 2006 Integrated image scaling, visual comparison of document versions
Old version, no longer maintained: 7.0 04 Jul 2007 Support for WebDAV, automatic link management, category tags for all content files
Old version, no longer maintained: 7.5 15 Jun 2009 Content galleries, extended support for creating JSP using expression language
Old version, no longer maintained: 8.0 8 May 2011 Enhanced user interface allowing drag and drop of elements in the page and sitemap editor, support for mobile devices
Old version, no longer maintained: 8.5 24 Sep 2012 "Inline" editing of web pages, integration of Apache Solr, CMIS support, SEO features
Old version, yet still maintained: 9.0 08 Nov 2013 Preview 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.5 03 Nov 2014 Nested 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.0 23 Mar 2016 Modernized 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.5 15 Feb 2017 Improved 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.0 30 Apr 2019 Redesigned 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.0 12 Oct 2021 Headless JSON API for REST content access, greatly improved Mercury Template, template variants, updated WebDAV implementation.
Old version, yet still maintained: 13.0 03 Apr 2022 New plugin system, search by geo coordinates, extensions to template variants, improved Mercury template.
Old version, yet still maintained: 14.0 11 Oct 2022 XML 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.0 25 Apr 2023 Role-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.0 02 Oct 2023 New 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.0 09 Apr 2024 New 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.0 08 Oct 2024 New “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

[edit]
  • Liliedahl, Dan (2008). Opencms 7 Development. Packt Publishing. ISBN 978-1-84719-105-2.
  • Butcher, Matt (2006). Managing and Customizing Opencms 6 Websites: Java/JSP XML Content Management. Packt Publishing. ISBN 978-1-904811-76-3.
  • Butcher, Matt (2004). Building Websites with OpenCms. Packt Publishing. ISBN 978-1-904811-04-6.

See also

[edit]

References

[edit]
  1. ^ "Release OpenCms 18.0 · alkacon/Opencms-core". opencms.org. Retrieved 2024-10-12.
  2. ^ Rähm, Jan (2007-06-26). "OpenCMS 7 kurz vor Veröffentlichung" (in German). Retrieved 2009-01-23.
  3. ^ a b Asipenko, Slava (17 Sep 2006). "OpenCms 6.0: A Review". CMS Watch. Retrieved 2009-01-23.
  4. ^ "Quelloffenes Content-Management". 2002-04-26. Retrieved 2009-01-23.
  5. ^ a b c d McGrath, John (28 November 2002). "Open-source CMS: On the rise". ZD Net. Archived from the original on October 22, 2008. Retrieved 2009-01-23.
  6. ^ OpenCms release notes describing drag and drop editing features
  7. ^ OpenCms release notes describing template and layout creation without the need to code
  8. ^ News release about using GitHub for OpenCms
  9. ^ Overview of all OpenCms releases in the history.txt file on GitHub
[edit]