DotCMS
Encyclopedia
dotCMS is a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 / open source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 web content management system
Web content management system
A web content management system is a software system that provides website authoring, collaboration, and administration tools designed to allow users with little knowledge of web programming languages or markup languages to create and manage website content with relative ease...

 (wCMS) for building/managing website
Website
A website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...

s, content and content driven web applications. dotCMS includes features such as support for virtual hosting
Virtual hosting
Virtual hosting is a method for hosting multiple domain names on a server using a single IP address. This allows one server to share its resources, such as memory and processor cycles, in order to use its resources more efficiently....

, WebDav
WebDAV
Web-based Distributed Authoring and Versioning is a set of methods based on the Hypertext Transfer Protocol that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers...

 (beta), structured content
Structured content
Structured content refers to information or content that has been broken down and classified using metadata. Structured content often refers to information that has been classified using XML, but can also relate to information classified using other standard or proprietary forms of metadata....

, clustering
Clustering
Clustering can refer to the following:In demographics:* Clustering , the gathering of various populations based on factors such as ethnicity, economics or religion.In graph theory:...

 and can run on multiple databases PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, MSSQL and Oracle
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

. It also includes standard wCMS features like page caching
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

, templating, and an API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

. There are a number of features and modules in dotCMS, including RSS
RSS (file format)
RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

 feeds, AJAX
Ajax
- Mythology :* Ajax , son of Telamon, ruler of Salamis and a hero in the Trojan War, also known as "Ajax the Great"* Ajax the Lesser, son of Oileus, ruler of Locris and the leader of the Locrian contingent during the Trojan War.- People :...

 calendar, a reporting engine, news listing, blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

s, forums, user tracking and tagging
Tag (metadata)
In online computer systems terminology, a tag is a non-hierarchical keyword or term assigned to a piece of information . This kind of metadata helps describe an item and allows it to be found again by browsing or searching...

, built in search engine and language internationalization
Internationalization and localization
In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...

 to name a few.

History

dotCMS was initially developed as a Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 alternative to the PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 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
DotProject
dotProject is a web-based, multi-user, multi-language Project Management application. It is open-source software, free for any use and is maintained by an open community of volunteer programmers.-Structures and Features:...

, Both dotCMS and dotProject were conceived and originated by William Ezell. In order to achieve compliance with JSR-168 portlet
Portlet
Portlets are pluggable user interface software components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal. Typically, following the desktop metaphor, a portal page is displayed as a collection of non-overlapping 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
Structured content
Structured content refers to information or content that has been broken down and classified using metadata. Structured content often refers to information that has been classified using XML, but can also relate to information classified using other standard or proprietary forms of metadata....

 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)".dotCMS was runner-up in the 2009 Packt Publishing category, "Best Other Open Source CMS."

In April 2009 version 1.7 was released, introducing a plugin architecture, providing a wide range of extension points. A Windows installer to expedite the installation process was released October 2009.

1.9.2 Release

  • Online Image Editor allows content contributors to edit images without needing additional software. Users can resize, crop, rotate, "save as" different image types and adjust hue, saturation, brightness and coloration of images stored in dotCMS.
  • New Image Renditions and Clipboard allows content editors to use edited versions (renditions) of source images without having to store multiple versions of the same image. An Image clipboard allows users to create the rendition they want to use, add it to their clipboard, and paste it into their content for re-use.
  • Inline Editing allows content editors frictionless editing of site content, inline, without needing to return to the admin portal.
  • Host Dashboard gives web site owners and marketers a snapshot of key site trends and usage statistics.
  • Activity Stream Reporter provides web managers detailed reports into content contributors’ and other users' usage and activity within the web content management system.
  • Page Caching allows an administrator to cache pages statically for a set period of time for maximum scalability.
  • Extended SEO Descriptions and Keywords give page editors fine grained control over relevant SEO metadata.
  • Cache Tags give web developers a way to statically cache arbitrary blocks of template, container, page or content code to increase page performance.
  • New Auto Updater allows for easier system upgrades and helps insure you are running the latest version of dotCMS.
  • Italian Language translation now included out of the box.

1.9.1 Release

  • Multi-lingual backend now includes Spanish, French, German and Conversational Chinese translations. Thanks to our Partners CGX AG and Asta Systems!
  • Red-lining : "what's changed" tracks additions, deletions before publishing.
  • Lucene/Nutch based site search. The new site search can index many different file types such as HTML, XML, ZIP, OpenDocument, Microsoft Office (Word, Excel, Powerpoint), PDF, JavaScript, RSS, RTF, MP3 (ID3 tags). Additionally, there is an admin tool that allows a site administrator to build new indexes on a scheduled basis.
  • New I/O friendly disk cache implementation speeds page delivery and overall throughput.
  • JSP/Velocity integration tool eases legacy/enterprise system integration by allowing JSPs to be wrapped by velocity templates and content.
  • Improved starter site ships with Events calendar, more demonstrations, Google Maps and Google Analytics.
  • Multi-host sites will exclude system content by default, more cleanly separating content that lives on specific hosts.
  • Multi-host sites log you into the host that you are viewing by default.
  • Community contributed JSON Tool - server side JSON handling that allows you to consume and reuse JSON from remote systems - thanks Michael Fienen (@fienen)!
  • Community contributed email Tool - scripting friendly tool allows email communication from within Velocity - thanks Chris Falzone (@chris_falzone)!
  • A number of minor bug fixes and improvements.

1.9 Release

The 1.9 release is a significant revision to the code base and has a number of changes and improvements, including:
  • Scripting support for PHP, Groovy, Python and Ruby
  • Integrated Form builder
  • i18n compliance for the administration interface
  • Complete UI redesign for the administration interface
  • Conversion to the Dojo Javascript framework for AJAX
    Ajax
    - Mythology :* Ajax , son of Telamon, ruler of Salamis and a hero in the Trojan War, also known as "Ajax the Great"* Ajax the Lesser, son of Oileus, ruler of Locris and the leader of the Locrian contingent during the Trojan War.- People :...

     functions
  • Binary content fields for structures
  • Additional form structure and new form submission engine
  • Completely refactored permissions system
  • CMIS (Content Management Interoperability Services
    Content Management Interoperability Services
    Content Management Interoperability Services is a specification for improving interoperability between Enterprise Content Management systems. OASIS, a web standards consortium, approved CMIS as an OASIS Specification on May 1, 2010....

    ) 1.0 spec compliance—making dotCMS the first WCMS to do so. dotCMS is an Oasis TC Member.

Technologies

dotCMS is a standards based CMS written in the Java programming language, and comes bundled with the Apache Tomcat
Apache Tomcat
Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

 Application Server. The freely available community edition can run on PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

 and MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

 and paid for versions can run on MSSQL and Oracle
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

. It is capable of integrating with user's authentication scheme's, such as Active Directory
Active Directory
Active Directory is a directory service created by Microsoft for Windows domain networks. It is included in most Windows Server operating systems. Server computers on which Active Directory is running are called domain controllers....

 or LDAP, and will support operation in a clustered or load balanced
Load balancing (computing)
Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid...

 environment. It leverages a number of standards based open source projects such as:
  • Apache Struts
    Apache Struts
    Apache Struts is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model-view-controller architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in...

     Web Framework
  • Apache Lucene
    Lucene
    Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License....

     Search Engine
  • Apache Velocity Templating Language
  • Liferay Portal
  • Dojo
    Dojo Toolkit
    Dojo Toolkit is an open source modular JavaScript library designed to ease the rapid development of cross-platform, JavaScript/Ajax-based applications and web sites. It was started by Alex Russell, Dylan Schiemann, David Schontzler, and others in 2004 and is dual-licensed under the modified BSD...

     Javascript Framework
  • Apache Tomcat
    Apache Tomcat
    Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

     Application Server
  • JBoss Cache distributed caching system
  • Hibernate
    Hibernate (Java)
    Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...

    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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK