# OpenCms

OpenCms és un sistema de gestió de continguts de codi obert escrit en Java. Alkacon Software el distribueix sota la llicència LGPL. OpenCms requereix un contenidor JSP Servlet com Apache Tomcat.
És una aplicació CMS amb un entorn de treball basat en navegador, gestió d'actius, gestió d'usuaris, gestió de flux de treball, un editor WYSIWYG, suport d'internacionalització, versions de contingut i moltes més funcions, com ara el proxy de sol·licituds a un altre punt final.
OpenCms es va llançar el 1999, basat en el seu predecessor de codi tancat MhtCms. La primera versió de codi obert es va publicar l'any 2000.
OpenCms s'utilitza o ha estat utilitzat per grans organitzacions com l'OMPI, el Grup LGT, la Universitat de Stuttgart, l'arxidiòcesi de Colònia, el Chicago Mercantile Exchange o la Generalitat de Catalunya que l'utilitza com a CMS per les seves webs públiques anomenant-lo Gestor de continguts web (GECO+).

## Interfície d'usuari

La interfície d'usuari d'OpenCms s'executa en un navegador web, col·locant elements de control directament a la pàgina web que s'edita. El contingut d'una pàgina es pot modificar arrossegant i deixant anar El text es pot editar "en línia" directament a la pàgina web o en un editor basat en formularis alternatius.
Les pàgines web i la seva estructura de navegació es gestionen en un editor de mapes del lloc dedicat. Els elements de contingut s'emmagatzemen en galeries i es poden reutilitzar entre diferents pàgines web o llocs web. Una interfície addicional d'"usuari avançat" per als administradors proporciona la gestió de rols i permisos. Des de la versió 9.5, OpenCms ofereix disseny i creació de plantilles sense codificació.

## Tecnologia

OpenCms s'executa a la plataforma Java com a servlet. Utilitza diverses biblioteques proporcionades per la fundació Apache. La interfície d'usuari s'ha desenvolupat amb Vaadin i el Google Web Toolkit.
El dipòsit de contingut d'OpenCms s'emmagatzema en una base de dades, amb MariaDB, MySQL, PostgreSQL, HSQLDB, Oracle, MSSQL i IBM Db2 amb suport natiu. Es pot accedir amb CMIS, WebDAV com a compartició de xarxa SMB o mitjançant la interfície web nativa.
El contingut de text a OpenCms es defineix mitjançant un esquema XML. La interfície d'usuari dels gestors de contingut crea fitxers XML basats en aquests esquemes, que s'emmagatzemen al repositori de la base de dades. A continuació, un sistema de plantilles basat en JavaServer Pages crea pàgines web a partir de l'XML.

## Versions

OpenCms ha estat en desenvolupament continu com a projecte de codi obert des de l'any 2000. Actualment, una versió principal es publica cada 6 mesos a l'abril i octubre. El control de revisió del codi font d'OpenCms es fa mitjançant Git a GitHub. La taula següent ofereix una visió general de totes les versions principals d'OpenCms.
Overview of major OpenCms releases :
| Version | Release date | Important new features |
| Una versió antiga, sense suport: 4.0 | 2 Feb 2000 | Online / offline workflow, WYSIWYG editor for web pages, explorer, user management |
| Una versió antiga, sense suport: 5.0 | 5 May 2002 | Page templates in JSP with own <cms:> tag library, extended caching and static export of pages |
| Una versió antiga, sense suport: 5.3 | 11 Dec 2003 | Full text search using Lucene, direct edit of web pages |
| Una versió antiga, sense suport: 6.0 | 30 Jun 2005 | Updated user interface, storage of content in XML files based on XSD, management of multiple sites |
| Una versió antiga, sense suport: 6.2 | 31 Mar 2006 | Integrated image scaling, visual comparison of document versions |
| Una versió antiga, sense suport: 7.0 | 04 Jul 2007 | Support for WebDAV, automatic link management, category tags for all content files |
| Una versió antiga, sense suport: 7.5 | 15 Jun 2009 | Content galleries, extended support for creating JSP using expression language |
| Una versió antiga, sense suport: 8.0 | 8 May 2011 | Enhanced user interface allowing drag and drop of elements in the page and sitemap editor, support for mobile devices |
| Una versió antiga, sense suport: 8.5 | 24 Sep 2012 | "Inline" editing of web pages, integration of Apache Solr, CMIS support, SEO features |
| Una versió antiga, encara amb suport: 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 |
| Una versió antiga, encara amb suport: 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 |
| Una versió antiga, encara amb suport: 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 |
| Una versió antiga, encara amb suport: 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 |
| Una versió antiga, encara amb suport: 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 |
| Una versió antiga, encara amb suport: 12.0 | 12 Oct 2021 | Headless JSON API for REST content access, greatly improved Mercury Template, template variants, updated WebDAV implementation. |
| Una versió antiga, encara amb suport: 13.0 | 03 Apr 2022 | New plugin system, search by geo coordinates, extensions to template variants, improved Mercury template. |
| Una versió antiga, encara amb suport: 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. |
| Una versió antiga, encara amb suport: 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, enhanced Mercury template. |
| Una versió antiga, encara amb suport: 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. |
| La darrera versió estable: 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. |
| Llegenda:Versió antigaVersió antiga, amb suportDarrera versióDarrera versió preliminarProper llançament |||

## Bibliografia

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

## Referències

* ↑ Rähm, Jan. «OpenCMS 7 kurz vor Veröffentlichung» (en alemany), 26-06-2007. [Consulta: 23 gener 2009].
* 1 2 Asipenko, Slava. «OpenCms 6.0: A Review». CMS Watch, 17-09-2006. Arxivat de l'original el 2009-02-09. [Consulta: 23 gener 2009].
* ↑ «Quelloffenes Content-Management», 26-04-2002. Arxivat de l'original el 2009-02-17. [Consulta: 23 gener 2009].
* 1 2 3 4 McGrath, John. «Open-source CMS: On the rise». ZD Net, 28-11-2002. Arxivat de l'original el 2008-10-22. [Consulta: 23 gener 2009].
* ↑ «Gestor de continguts web (GECO+)». [Consulta: 6 maig 2024].
* ↑ OpenCms release notes describing drag and drop editing features
* ↑ OpenCms release notes describing template and layout creation without the need to code
* ↑ News release about using GitHub for OpenCms
* ↑ Overview of all OpenCms releases in the history.txt file on GitHub

## Enllaços externs

* OpenCms - Lloc web oficial
* Live online demo
* Master GitHub repository
* Documentation site
* Developer Wiki