dotCMS
- Website: http://www.dotcms.org
- License: GNU GPL
dotCMS is a free software / open source web content management system (wCMS) for building/managing websites, content and content driven web applications. dotCMS includes features such as support for virtual hosting, WebDav (beta), structured content, clustering and can run on multiple databases PostgreSQL, MySQL, MSSQL and Oracle.
It also includes standard wCMS features like page caching, templating, and a API. There are a number of features and modules in dotCMS, including RSS feeds, AJAX calendar, a reporting engine, news listing, blogs, forums, user tracking and tagging, built in search engine and language internationalization to name a few.
History
dotCMS was initially developed as a Java alternative to the PHP CMSes on the market, as well as to provide a counterpoint to high cost, enterprise applications. It is the result of over 5 years of development by dotMarketing, Inc, which also developed and released the open source project management tool dotProject, Both dotCMS and dotProject were conceived and originated by William Ezell. In order to achieve compliance with JSR-168 portlet specification dotCMS was built upon the Liferay portal, though has since forked Liferay at version 3.2.2. dotCMS 1.0 was initially open sourced and made available in 2005 under the dotMarketing Public License. In 2006, dotCMS released version 1.2 which included the structured content engine. In 2007 dotCMS released version 1.5, which included a new user interface and permissions. In October, 2007 dotCMS 1.5 was the runner up for Packt Publishing’s “Best New Open Source CMS” award, followed in 2008 by a second place finish for Packt’s “Best Other Open Source CMS (best non PHP CMS)”. In April 2009 version 1.7 was released, introducing a plugin architecture, providing a wide range of extension points.
Technologies
dotCMS is a standards based CMS written in the Java programming language, and comes bundled with the Apache Tomcat Application Server. It is database agnostic and can run on PostgreSQL, MySQL, MSSQL or Oracle. It is capable of integrating with user’s authentication scheme’s, such as Active Directory or LDAP, and will support operation in a clustered or load balanced environment. It leverages a number of standards based open source projects such as:
* Apache Struts Web Framework
* Apache Lucene Search Engine
* Apache Velocity Templating Language
* Liferay Portal
* EXT Javascript Framework
* Apache Tomcat Application Server
* OSCache distributed caching system
* Hibernate Object Relational Mapping
Structured Content
The driving concept behind content stored within dotCMS is that it is addressed through a system of structures. Structures are administrated through a back end portlet where fields are assigned to them. Fields are named and given a content type and then ordered. Each structure can then be permissioned and used when creating content, and allows different types of content with consistent components to be referenced for display on the front end. A “web page content” structure could be assigned a title and body, for instance, while “events” have titles, dates, times, locations, descriptions, links, etc.
Structures therefore allow the CMS to tailor itself to the content demands of the institution using it, because they can create and define structures that are specific to their needs. Those structures can then be created through relationships, allowing content from one structure to be associated content items in another. There is no limit to the number of structures one can use within dotCMS.
