Dotcms is a Java Content Management System (CMS) - Open Source CMS

Dotcms is an open source Java Web Content Management System (CMS) and User Experience Platform (UXP). Dotcms allows you to deliver custom managed content to internet, intranet, mobile and other digital channels.

dotCMS, is an open source, Java Web Content Management System (CMS) and User Experience Platform (UXP), designed to allow your company to deliver engaging, multi-channel customer experiences and a rich internet application (RIA) that will drive your online business success.

Virtual hosting and clustering, WebDav, responsive design and css preprocessor support, structured content, customizable workflows, versioning, inline editing, WYSIWYG editor, redlining, and drag and drop template builder, helps you to deliver a rich interaction layer.

User Experience Platform (UXP)

Robust open APIs, OSGI and Spring support, Plugin Architecture, CMIS content store, easy integration enabling you to create a Rich Internet Application (RIA)

Kiss Your Old CMS Goodbye

Dotcms is the next generation of Enterprise CMS. Quick to deploy, open source, Java-based, open APIs, extensible and massively scalable, Dotcms can rapidly deliver personalized, engaging multi-channel sites, web apps, campaigns, one-pagers, intranets - all types of content driven experiences - without calling in your developers.

Responsive Design
Multi-Site

Multiple sites on multiple servers in multiple languages.

Micro-sites, mega-sites, mobile apps, multi-channel; Dotcms’ multi-site capabilities can host thousands of sites in one system. Build your own SaaS CMS solution with granular, site based permissions. Manage all your sites and content in multiple languages without the added expense; Dotcms allows you to standardize your infrastructure and maximize your return on investment.

  • Supports 1000's of sites and 100's of users.
  • Multi-lingual support for content and admin tooling.
  • One pagers, campaign sites and micro-sites at the click of a button.
  • Three steps to a new site: copy an existing site, edit and launch.
  • Share or Separate - content, templates & assets can be shared across sites - or not.
  • Granular permissions - users to see only what they need to.
  • Dashboards allow you track traffic and status of each site.
  • Vanity domains and URLs - map campaign domains and urls to specific sites and pages.
  • Site search for each site.
  • Create sharable themes to change the look and feel your sites.
Multi-lingual, Multi-tenant, Multi-server CMS
Push Publishing

Crazy simple, super flexible

Dotcms includes remote publishing that can be set up in minutes and supports a variety of publishing architectures out of the box.

Supported Push Publishing Architectures (and any combination of these)

  • Authoring / Delivery
  • Enterprise Deployments (Stage, QA, Production)
  • Remote Disaster Recovery
  • Geographic Load Balancing
  • Multi-Server, Shared Nothing Scalability
Learn More
Highly Scalable

Designed from the ground up for horizontal scalability, Dotcms includes a configurable, multi-level caching infrastructure that maintains state across nodes in a cluster. In fact, dotcms is architected to never hit the database once the cache is loaded (you can actually turn the db off) even while pages and content stay completely dynamic. Dotcms minimizes single points of failure for high traffic, highly available web sites and web applications.

Cluster or Shared Nothing (or both)

Dotcms supports a number of different highly available architectures. Dotcms can cluster, where multiple dotcms instances run as a single unit that can scale to meet even the heaviest traffic loads. Or using push publishing, dotcms can run multiple servers in a shared nothing configuration - where each node maintains its own db, content store and indexes are kept in sync through push publishing. The shared nothing configuration can even be used in conjunction with dotcms' native clustering for redundant, scalable infrastructure.

APIs & CMIS
Java Open Source CMS: APIs, Remote Widgets, Spring & CMIS

dotcms = Your Content Hub

Dotcms provides easy and open APIs to query, retrieve (xml, json) and write content, binary assets and even remote widgets. These API calls have been designed to perform at scale so content can be retrieved for real-time use by external systems.

Remote Widgets for Simple Integration

Widgets are little apps that can be managed just like content. Dotcms' remote widget API can deliver these widgets, fully rendered, as snippets of code to remote systems by calling a RESTful url. All it takes is javascript to pull and display content rich widgets into any webpage or external system.

Spring & OSGi

Dotcms dynamic plugin support gives developers the ability to hot deploy whole Spring web apps in Dotcms without a restart.

CMIS 

CMIS support allows Dotcms content and files to be read and written by any system that is a CMIS client, including Sharepoint, Liferay and even Drupal.

Workflows

Manage Change

Open Source CMS with Fully Customizable Workflows

When managing content, the process is as important as the publishing; content management always demands a flexible strategy that can and will evolve over time.  Dotcms' GUI based workflow engine can be configured to mimic your real world processes and move your content through your content lifecycle, whatever it might look like.

Workflow should be Simple

Building a custom workflow in Dotcms is easy:

  1. Build the workflow steps your content requires - drafting, reviewing, revising, approving, publishing, archiving, anything.  A workflow scheme can have an unlimited amount of steps.

  2. Build the Actions that transition content between these steps.  Actions can do just about anything in the system, from publish content, to scheduling publication, to sending an email notifying users, to pushing, requiring multiple approvers, even integrate with other 3rd party systems.  

  3. Grant permissions to those Actions, e.g. "Only managers in the Legal Department can approve and publish a press release".

That's it.  And you did it all from the GUI.  But don't let our ease of use fool you - if you have custom integration requirements, you can build your own "Actions" that fire as content moves through its lifecycle - think "push the content.lead to twitter when a manager publishes a new event".

Back to the top