OpenCMS 8.0.4 review

Download
by rbytes.net on

OpenCms is a professional level Open Source Website Content Management System

License: GPL (GNU General Public License)
File size: 27398K
Developer: Alex Kandzior
0 stars award from rbytes.net

OpenCms is a professional level Open Source Website Content Management System. OpenCms helps to create and manage complex websites easily without knowledge of html. An integrated WYSIWYG editor with a user interface similar to well known office applications helps the user creating the contents, while a sophisticated template engine enforces a site-wide corporate layout. As true Open Source software, OpenCms is completely free of licensing costs.

OpenCms is based on Java and XML technology.It fits perfectly into almost any existing modern IT infrastructure. OpenCms runs in a "full open source" environment (e.g. Linux, Apache, Tomcat, MySQL) as well as on commercial components (e.g. Windows NT, IIS, BEA Weblogic, Oracle DB).

Here are some key features of "OpenCMS":
Based on Java / XML

OpenCms is written entirely in Java and uses standard servlet technology. Therefore it can easily be integrated in existing Hard- and Software environments, especially if Java is already used for other purposes. The OpenCms page contents are stored in XML files, all logic is handled in Java/JSP templates.
Easy Installation

Installation of OpenCms is done with the integrated HTML setup wizard. It requires an environment with a servlet container like Tomcat and a supported database, e.g. MySQL or Oracle. The setup wizard will take you through some simple steps where you select options and provide details about your environment. Provided you have already set up the environment, the installation of OpenCms usually takes less than 10 minutes.
Browser-enabled work environment

The OpenCms work environment (the so called "Workplace") is fully browser based. The OpenCms software is installed on a web server, users access the system from any location with their web browser. Security restrictions can block out users from unwanted network areas.
"Direct edit" from the website preview

With the OpenCms direct edit option, it's easy to find and edit the right content for your website. Simply log in to OpenCms as a content manager, then browse the website preview until you find the page you want to edit. If you have the required permissions, a "direct edit" button will be displayed, allowing you to directly open the editor to modify the content.
Asset Management

Images and other binary download files can be managed in galleries to avoid data redundancies and provide easy handling of media assets. OpenCms supports the import of almost all common file types. The galleries can be quickly accessed by drag and drop from the WYSIWYG editor (see WYSIWYG-Editor). You can manage multiple galleries and set variable access rights to any of them.
Integrated user management and permission system

Access to all contents controlled by OpenCms is optionally restricted by an elaborate user and access permission management system. This guarantees controlled access to protected areas and allows easy creation of non-public areas (e.g. extranet sites). For every resource in OpenCms, an access control list (ACL) can be defined, allowing fine-grained control about who is allowed to access or modify the resource. ACLs of a folder are automatically inherited to all resources in the folder.
Project based publishing

The OpenCms integrated project mechanism provides a typical work environment with offline "work" and online "live" system on the same server. All content is maintained in projects. The number of projects is unlimited. Changes to the contents can be reviewed and approved and thoroughly tested before the project is published. You can also undo all unpublished changes (new/changed/deleted pages) and define access and publishing rules in a project.
Workflow and Task Management

OpenCms features powerful mechanisms for workflow management. A "4-eyes" workflow is always active for content creation because of the integrated project mechanism with "online" and "offline" projects (see Project based publishing). Additionally, tasks can be created in the Workflow view for different groups, priority levels, due dates, preferred users with various notification options. Depending on the selected notification options, emails are automatically sent to either the preferred user or all users that are assigned to a group as soon as a new task has been added to the project. Each stage of the task's life is recorded to ensure that the workflow remains transparent.
WYSIWYG editor for unstructured content

Editing "unstructured" pages is easy with OpenCms, a built-in WYSIWYG editor(*) allows you to edit pages similar to popular office applications. No HTML knowledge is required to edit a page, yet an integrated source code editor allows experts to exert full control over the HTML source. With the help of the WYSIWYG editor, pages with "unstructured content" and complex layouts can be easily created. Insert images or links to downloads from galleries, create complex tables with the table wizard and add links with the link dialog or from the external link gallery.
Form based editor for structured content

From a standard W3C XML schema OpenCms can create a form based input editor for structured content items like news, events, job descriptions etc. These structured content items can then be displayed in a number of different output formats, e.g. on a list overview and detail page. By defining data types and options in the XML schema, form based editors can have "rich text" fields using a subset of the WYSIWYG editor functionality if required.
Internationalization support

OpenCms fully supports Unicode (UTF-8) as a setup option and thus can natively handle contents in international character sets, e.g in eastern European or Asian languages.
Integrated image scaling

OpenCms from version 6.2 features integrated image scaling and resizing. This way it's easy to manipulate commonly used image formats like JPEG, GIF, PNG, TIF etc. to make sure the output in a template is always of the required size, to generate thumbnails in overview lists and more. Additional image processing filters like "add drop shadow to image" are also available.
Versioning of content

All contents are fully versioned in OpenCms. The history function of the Workplace enables you to track which changes were made when and by whom. All of the previous versions are archived and can be restored, enabling you to access older versions at any time. You can also visually compare (like "diff") the content of 2 versions of a resource.
Template mechanism

OpenCms supports various template mechanisms. We recommend using standard JSP to create templates (see JSP integration). The OpenCms template mechanisms use dynamic page rendering and allow a strict separation of XML based content and template dependent layout. Using OpenCms templates, it becomes easy to enforce a consistent corporate website design.
JSP integration

The JSP integration in OpenCms allows easy and standards based creation of dynamic functionality. JSPs are managed in the OpenCms Workplace like all other contents. Moreover, JSP based templates allow you to separate XML based content and a highly dynamic layout of your pages. The main features of the OpenCms JSP integration are:

* Supports WYSIWYG editable pages which use JSP templates
* Use the same JSP template for editable pages and interactive forms
* JSP Taglib for common OpenCms tasks
* JSP API to directly access OpenCms functionality
* Separate online and offline versions of the same JSP
* Optional output streaming on a per-page basis
* Optional static export of JSP

Multi-Language

The OpenCms Workplace supports multiple languages. English and German are part of the core distribution, other translations are available as separate OpenCms modules. It is easy to translate OpenCms to other languages by simply adding other language modules.
Online-Help System

An optional context based online-help is available as a separate OpenCms module (com.opencms.help). The context based help provides inexperienced OpenCms users an easy way to learn the functions of the system.
Dynamic and static content publishing

OpenCms is fully database driven. Usually the managed website will be generated dynamically from the database. To guarantee high performance for dynamic sites OpenCms comes with an extensive caching mechanism (see Caching system). If you require a static version of your website or parts of your website, OpenCms also allows for static export of selected resources that are then delivered directly by a web server. This is highly useful for non-dynamic file types like images of binary files. You can choose for every resource if it is delivered dynamically by OpenCms, or delivered directly by the web server from a static export. OpenCms will automatically keep the links intact between dynamic and static content.
Personalization

OpenCms enables you to build highly personalized websites. Each access to a resource in OpenCms is always done with the permissions of an identified user, in case of public sites the user is at least identified as "Guest". It's possible to set up protected extranet areas or whole sites that require login. After login a user is clearly identified with his user name. The integrated user and session management allows you to create complex personalized applications based on standard JSP technology.
Caching system

OpenCms provides cache mechanisms to optionally cache dynamically created pages or page variations to decrease the number of database queries at runtime. The FlexCache is a new cache implementation for OpenCms introduced with OpenCms 5.0 which requires no programming and can greatly increase the runtime performance of your Website. Each page variation has its own caching space in the FlexCache. The first time a page is requested, it's rendered output will be stored as a variation in the FlexCache. More than one variation can be stored for each page in the FlexCache, e.g. a personalized element might have a variation for each user, a news displaying element might have a variation for each news that should be displayed etc. All following calls for a variation will be delivered directly from the cache without database access.
Module mechanism for extensions

OpenCms features an integrated module mechanism that allows convenient bundling of contents and / or functionality for deployment on other machines. Using the OpenCms module API, it's easy to extend the standard OpenCms core functionality without the requirement to patch or modify the open source core distribution. This way you can make sure that you can always update your OpenCms installation if a new version of the core is published.
Security/SSL support

OpenCms allows you to secure all or parts of the website with strong encryption by leveraging the common https protocol available on most modern web servers. Any resource can be marked as https-only. OpenCms will then deliver this resource only if it is requested though a secure https connection. The system will automatically update the links in your content to switch from a public to a secure area and back. This way you can build secure forms and other content and manage these together with your public contents in the same interface.
Scheduling system

OpenCms features an integrated scheduling system. With this system it is possible to invoke a custom action periodically or after a specific time. Such custom actions can include automatic publishing of pages, removing of expired content or more complex functionality like triggering a periodic news feed input. The management of the scheduled actions is similar to the well known "cron" program available on most UNIX systems.
Synchronization mechanism

The synchronization mechanism can be used to synchronize files from the database of OpenCms to the server file system. This feature is most useful in development environments. It speeds up the development cycle because you can modify resources on your server file system with your favorite application or editor and update the file in the file system of OpenCms with the press of a button.
Import / export of content

OpenCms can export portions of, or the complete contents, of it's content repository. The exported resources will be written to a database independed XML based format and bundled in a common ZIP file. Additional meta information like properties or access permissions are also exported. Exported resources can be imported again into another system, even if this runs on a different database then the original server. With this mechanism it is also possible to archive snapshots of the website or to deploy content from one system to another.
Application server integration / EJB support

Running OpenCms in a J2EE application server environment provides facilities for making use of distributed object architectures, particularly with regard to Enterprise JavaBeans technology. Using these techniques, processes behind the web site may be structured and distributed in a component oriented way. Presentation and business logic can be developed strictly separated, according to the four-tier architecture described in the J2EE Application Model. OpenCms takes care of the presentation of the data, using the integrated JSP template engine for creating the general website layout, while the generation of the content data is relocated to EJBs.
Search engine integrated

Full text search is fully integrated in OpenCms and can easily be customized for the generated websites. A number of different search indexes can be created, for example to support multiple languages and websites managed in one OpenCms installation. The integrated full text search engine supports indexing the content of all structured and unstructured content items in OpenCms, plus PDF, Word, Excel, RTF and plain text files (limited support for Powerpoint is also available). In addition to that, the meta information (see below) for images and other binary files are also indexed.
Meta information (properties)

Various properties can be attached to every resource in the OpenCms content repository in order to store individual meta information. Depending on the installation, these properties can for example control the appearance of a template, select which content channels are displayed on a page, or provide optimized information for search engines. The value of a property can easily be changed by the user, provided he has the required permissions. Custom properties and functions can easily be added, e.g. for attaching target addresses to email forms.
CmsShell

A command line based CmsShell gives full script access to all resources in OpenCms. The shell can be driven in a "classic mode" or in an enhanced JavaScript mode. It can be used to set up a new system without the setup wizard and for automating recurring activities such as database export for backup.

(*) WYSIWYG editor available for Microsoft IE and Mozilla Firefox, no additional software required.

OpenCMS 8.0.4 search tags