OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes, especialmente si en ellos ya se utiliza Java con otros propósitos. El contenido se guardan en ficheros XML y toda la lógica se hace en Java y JSP.
La instalación se realiza usando un wizard. Necesita un entorno que disponga de un contendor servlet como puede ser Tomcat y una base de datos que este soporte, por ejemplo, MySql. El wizard te lleva paso a paso a través de la configuración, en la cual, te muestra las posibilidades y provee con detalles sobre tu entorno. Suponiendo que ya se ha montado el entorno, es decir, el contenedor servlet y la BBDD, si todo va bien la instalación no debería llevar más de 10 minutos.
El espacio de trabajo de OpenCms, se llama "Workplace", se basa en un entorno navegador. OpenCms se instala en un servidor web, así, los usuarios pueden acceder al sistema desde cualquier emplazamiento, pudiéndose bloquear algunas redes mediante restricciones de seguridad.
Todas las imágenes y todo tipo de ficheros binarios se pueden gestionar con galerías para evitar redundancia y proveer con una gestión de recursos sencilla. OpenCms soporta que se importe casi todos los tipos de fichero. Las galerías son rápidamente accesibles mediante "drag and drop" del editor WYSIWYG. Se pueden gestionar múltiples galerías y configurar los permisos a las mismas.
El acceso a todo el contenido que gestiona OpenCms se puede restringir mediante un sistema de gestión de usuarios y permisos. Esto garantiza un acceso controlado y protegido a las distintas áreas, así como, la creación de áreas privadas. Todos los recursos en OpenCms tienen un dueño y está asociado a un grupo de usuarios con unos permisos concretos que pueden asignarse al dueño, al grupo o a todos los usuarios.
OpenCms tiene integrado un mecanismo que provee con un entorno de trabajo diferenciado en
“ offline”, entorno en el que se trabaja, y el “online”, entorno visible al
público. La cantidad de proyectos es ilimitada. Todo el contenido puede ser revisado, aprobado y
probado antes de ser publicado. Así mismo, se pueden deshacer todos los cambios que no hayan sido
publicados y definir reglas de publicación y acceso al proyecto.
OpenCms Igualmente integra una cola de publicación de forma que una acción de publicación de
muchos contenidos nos permite seguir trabajando en la herramientas mientras que en un proceso
oculto al usuario se completa el proceso, siendo notificado cuando este termina.
La edición de las páginas en OpenCms es muy sencilla gracias al editor WYSIWYG que tiene integrado, éste permite la edición en un entorno similar a las herramientas de texto más populares. No es necesario ningún conocimiento HTML para la edición, aunque también integra un editor de código que permite a los usuarios avanzados tener control sobre el código HTML generado. Con la ayuda del WYSIWYG se pueden crear páginas sin contenido estructurado y capas complejas fácilmente. Permite insertar enlaces o imágenes a galerías con “drag & drop”, crear tablas con el wizard y enlaces externos. Además, OpenCms soporta la creación de contenido estructurado con el módulo integrado.
El contenido estructurado fue uno de los grandes cambios de OpenCms 5 a OpenCms 6. Este tipo de contenido permite crear contenido específico para almacenar información de algún tipo. Este contenido se edita mediante un formulario que se genera automáticamente mediante el uso de Widgets y hace que la edición de contenido en el portal sea mucho mas sencilla y potente.
Desde la versión 6 se pueden implementar gadget de ayuda para la carga de formularios que facilitan la introducción de contenidos. Permite también la inclusión de un editor WYSIWYG completo para campos de ciertos formularios.
OpenCms se configura con UTF-8 y por lo tanto soporta contenido caracteres internacionales. Además OpenCms está pensado para dar soporte a más de un idioma de forma que podemos desde tener traducido el entorno de trabajo en los idiomas que deseemos como crear una web en más de un idioma siendo la gestión de los contenidos en múltiples idiomas muy fácil e intuitivo para el usuario final.
Todo el contenido de OpenCms tiene un control de versiones. Tiene un historial que te permite seguir la pista de todos los cambios, quien los hizo y cuando. Las versiones se archivan y pueden ser restablecidas, permitiendo el acceso a versiones anteriores en cualquier momento.
OpenCms soporta varios mecanismos de plantillas. Es recomendable usar JSP para crear las plantillas. El sistema que integra OpenCms usa páginas dinámicas y permite la separación del contenido XML y las plantillas. De este modo es fácil crear un diseño corporativo.
El direct edit es un elemento que apareció a partir de la versión 6 de OpenCms que ofrece un sistema de edición de contenidos directamente desde la web, sin necesidad de ver la herramienta de administración de OpenCms, haciendo que el uso de los usuarios Editores sea mucho más simple e intuitivo, y haciendo por tanto que la curva de aprendizaje sea mucho menor.
La integración JSP de OpenCms permite crear fácilmente y según los estándares funcionalidades dinámicas. Las JSPs se gestionan en el espacio de trabajo de OpenCms como todos los demás recursos. Además, las JSPs basadas en plantillas nos permiten separar el contenido XML y un gran dinamismo en nuestras páginas. Las principales características de la integración JSP son:
OpenCms nos da la posibilidad de integrar un contexto, con un módulo de ayuda (com.opencms.help). Esté provee con ayuda para que los usuarios inexpertos tengan un medio para aprender fácilmente.
OpenCms se apoya en bases de datos, normalmente el contenido se genera dinámicamente tirando de una BBDD. Para garantizar una ejecución optima OpenCms tiene un sistema de caché que en el caso de que se requiera una versión estática del contenido, OpenCms te permite exportar el contenido que se desee. Esta funcionalidad es muy útil para el contenido estático como las imágenes. Se puede seleccionar el contenido que se desea mostrar estáticamente y cual dinámicamente. OpenCms mantendrá los enlaces entre el contenido estático y el dinámico.
OpenCms te permite crear webs personalizadas. Cada acceso a un recurso se hace siempre
comprobando los permisos del usuario, en el caso de las web públicas el usuario, como mínimo, debe
estar identificado como “Guest.” Es posible configurar áreas protegidas en la extranet
o en la web completa, si requiere de login. El sistema de gestión de usuarios y la gestión de
sesiones te permite crear aplicaciones complejas y personalizadas basadas en JSPs.
Sistema de caché
OpenCms integra un sistema de caché para cachear las páginas dinámicas para minimizar el número de peticiones a la base de datos. El FlexCache es un nuevo sistema de caché creado para OpenCms que se introdujo por primera vez en OpenCms 5.0, no requiere programación y puede aumentar enormemente el rendimiento de la web. La primera vez que se realiza la petición de una página se renderiza el resultado y se guarda como una variación en el FlexCache, se guarda más de una variación. Todas las demás llamadas tiraran del FlexCache sin precisar de un acceso a la base de datos. Al estar el FlexCache integrado en el núcleo de OpenCms, cuando una página es modificada se actualiza inmediatamente en el FlexCache manteniendo siempre una versión actualizada.
OpenCms integra un sistema que permite la unión de contenido o funcionalidades para el despliegue en otras máquinas. La API de OpenCms también te permite añadir nuevos recursos estructurados, como lo son las noticias. El contenido desestructurado que se crea mediante el editor WYSIWYG pueden ser desplegados en múltiples canales y mostrado en distintas páginas en distintos listados e incluso con distinto formato. Como todos los recursos en OpenCms, el contenido se edita en “offline” y se debe publicar para que aparezca en la web.
OpenCms te permite encriptar toda la web o partes de la misma mediante el protocolo https. Cualquier recurso puede ser configurado como https. OpenCms mostrará dicho recurso sólo si se hace la petición a través de una conexión segura. El sistema actualiza automáticamente los enlaces en el contenido para cambiar de un entorno público a uno seguro y viceversa. De esta forma se podrá crear formularios seguros y gestionarlo con la misma interfaz que el contenido no seguro.
OpenCms integra un módulo de programación. Con este sistema se puede invocar una acción periódica. Estas acciones pueden incluir publicación automática, borrado de contenido expirado y otras funcionalidades complejas. Estas tareas programadas son similares a los conocidos “crons” de los sistemas UNIX.
El mecanismo de sincronización se puede usar para sincronizar los ficheros de la BBDD de OpenCms al servidor de ficheros del sistema. Esta característica es más necesaria en los entornos de desarrollo. Agiliza el ciclo de desarrollo porque puedes modificar los recursos en el servidor de ficheros con el editor de tu preferencia y actualizar el fichero en el sistema de archivos de OpenCms presionando un botón.
OpenCms puede exportar parte o todo su contenido. Los recursos exportados se rescribirán en una BBDD independiente en formato XML y archivado en un fichero ZIP. También contendrá meta información adicional como las propiedades o los permisos. El contenido exportado se puede importar a otros sistemas, incluso si corren sobre una BBDD distinta. Con este mecanismo se pueden hacer copias de seguridad e incluso desplegar contenido de un sistema a otro.
OpenCms puede correr sobre un servidor de aplicaciones provee facilidades para el uso de arquitecturas distribuidas, en particular EJB. Mediante estas técnicas, los procesos de la web se pueden estructurar y distribuir orientado a componentes. La presentación y la lógica de negocio se pueden desarrollar de manera separada, según la estructura de cuatro capas descrita en el modelado J2EE. OpenCms gestiona la presentación de la información usando plantillas JSP creando el diseño de la web, mientras que se genera el contenido mediante EJBs.
OpenCms desde su versión 6 trae integrado en el núcleo Lucene. Lucene es un motor de indexación que mantiene todo el contenido que deseamos indexado para su posterior búsqueda. La integración entre OpenCms y Lucene es total de forma que todo el contenido de OpenCms, tanto en Offline como en Online se mantiene indexado, y se hace de forma oculta al usuario. El grado de configuración en la versión 7 es tan elevado que permite crear distintos tipos de índice donde se mantendrá almacenado la información que deseemos de cada recurso estructurado, por ejemplo, si nos interesa de un recurso tipo evento mantener indexado únicamente el título, el lugar de celebración y las fechas, podemos configurarlo para ello, de forma que el resto de campos sean ignorados.
Para asegurar la disponibilidad de la web, incluso en el caso de fallo del software, o gestionar webs con gran carga, la instalación de OpenCms puede hacerse en distintas máquinas. Para este tipo de instalaciones se necesitan soluciones como el director local de CISCO. Así mismo, se debe implementar código para permitir el balanceo/tolerancia de fallos, existe un módulo con esta funcionalidad. Meta información (propiedades). Se pueden crear varias propiedades a cada uno de los recursos para almacenar meta información particular para cada uno de éstos. Dependiendo de la instalación, estas propiedades pueden controlar el diseño de la plantilla, seleccionar que canales se muestran en cada página o proveer con información optimizada a los motores de búsqueda. El valor de estas propiedades se puede modificar fácilmente por el usuario, que tenga permisos para realizar esa operación. Se puede añadir propiedades y funciones personalizadas fácilmente.
Una consola basada en CmsShell permite el acceso a todos los recursos en Opencms. Dicha consola se puede visualizar con el estilo clásico o en el modo javascript mejorado. Se puede utilizar para configurar el sistema sin usar el instalador y para automatizar actividades como, por ejemplo, copias de seguridad de la BBDD. Ingeniería de Relaciones entre recursos. OpenCms 7 introduce una gran mejora en el manejo de enlaces internos entre recursos de OpenCms. El nuevo desarrollo de la Ingeniería de Relaciones entre Contenidos guarda un enlace que se mantiene incluso después de mover o renombrar un recurso, o carpetas enteras del VFS de OpenCms. Cuando borramos un recurso se nos muestra un informe con los enlaces rotos que originará esta acción, e incluso, en el dialogo de publicación se nos reporta todos los enlaces que se han roto pudiendo imprimirla para poder corregir dichos enlaces rotos y evitar errores en la web.
Opcionalmente podemos borrar estos enlaces rotos en los contenidos estructurados invalidando los nodos afectados o redefiniendo dichos campos. La ingeniería de relaciones permite incluso hacer consultas sobre los recursos para saber qué recursos le están enlazando y poder navegar a través de estas relaciones sin problema alguno.
Otras de las posibilidades que incorpora la nueva ingeniería de relaciones es la posibilidad de publicar recursos relacionados. Por ejemplo, si disponemos de una noticia con 2 imágenes enlazadas y un fichero binario, podemos publicarlo todo desde el dialogo de publicación de la misma noticia. En el proceso se nos indicará una lista con todos los recursos enlazados con el actual que no están publicados, dándonos igualmente la opción de no publicarlo si no deseamos. Entre otras muchas ventajas, este sistema permite desde el direct edit editar y publicar todo el contenido estructurado sin tener que entrar en el workplace de OpenCms para publicar los ficheros asociados.
Gracias a la aparición de la nueva ingeniería de relaciones surgió una nueva forma de categorizar el contenido. Podremos definir las categorías dentro de una carpeta del VFS de OpenCms y posteriormente, desde un menú específico podremos asociar los contenidos a la categoría que deseemos. Este menú es muy sencillo de usar aunque si lo deseamos podemos usar el widget de Category para introducir la opción de elegirla dentro del propio formulario del recurso. Desde la API podremos recuperar toda la información que necesitemos como recuperar todos los recursos que pertenecen a una categoría especifica, o viceversa, conocer a que categorías pertenece un recurso en particular.
Una de las principales mejoras que traen las nuevas versiones de OpenCms sobre la gestión del contenido propiamente dicha, es la posibilidad de recuperar recursos que previamente han sido borrados. Para ello, desde la carpeta contenedora de los recursos borrados existe esta acción. Opcionalmente existe la posibilidad de recuperar carpetas con sus hijos de forma recursiva o no.
En OpenCms 7 se incorporó la posibilidad de acceder al VFS mediante el protocolo WebDAV. Éste permite conectarnos a toda la información de OpenCms como si fuera una unidad más de nuestra máquina, usar un IDE como Eclipse para conectarnos al VFS para editar JSP o editar nuestros “html pages” desde un editor gráfico más avanzado que el FCKEditor.
El sistema de seguridad de OpenCms está basado en los siguientes elementos:
OpenCms ofrece un menú contextual sobre todos los recursos que ofrece la posibilidad de realizar accione sobre él. Gracias a AJAX es posible que el menú sea personalizado para cada usuario, de forma que según en qué proyecto se encuentre, los permisos que tenga, y el estado del propio recurso te muestre unas acciones u otras.
En las últimas versiones se ha integrado la posibilidad de buscar información dentro del propio workspace lo que agiliza el encontrar contenidos dentro del propio OpenCms.
El uso de OpenCms puede provocar que con el tiempo algunos contenidos estructurados queden dañados por alguna razón. OpenCms en su vista de administración ofrece una herramienta de reparación de estos recursos que soluciona todos estos tipos de errores generados por el tiempo de uso.
OpenCms posee un potente sistema de tratamiento de imágenes por el cual podemos renderizar una imagen en tiempo de ejecución ajustándola al tamaño real al que se va a mostrar. Gracias a este sistema optimizamos al máximo el peso de las páginas html generadas con OpenCms haciendo que la navegación sea mucho más rápida.
©Saga Soluciones Tecnológicas
T. 954 45 72 75 / F. 954 45 75 72
Inscrita en el registro mercantil de Sevilla. Tomo 3662, folio 76 , hoja numero SE-52019
Aviso
legal
Powered by OpenCms 7.5 & Template Saga
© Saga Soluciones Tecnológicas
T. 954 45 72 75 / F. 954 45 75 72
Inscrita en el registro mercantil de Sevilla. Tomo 3662, folio 76 , hoja numero SE-52019