Last updated April 02, 2012 10:38, by Imran Yousuf

Smart Content Management System

Smart Content Management System (smart-cms) is basically intended to act as a simple content repository and management system. Initially the focus will be fully on simply storing and accessing the Content through an API and provide both concrete and RESTful implementations.

Currently implemented features are as follows:

  • A conceptual container, Workspace, to bound contents and their definition
  • A XML based definition of of what type of contents are expected in the CMS - Content Type
  • Content Type definition can be used to generate code in Java for domain and data access layers using maven plugin.
  • A content can be defined, created of primitive data types - integer, long, double, string, date, boolean, binary; their collection; user defined composite data type with no depth limitation.
  • A Validation Engine formed of configurable, user defined collection of customized validators implemented in any of JavaScript, Ruby, Python or Groovy by implementing API. Usage DSL ensures that hot deployment of rules is made easy. For more read on the rule engine support within Smart CMS
  • Content Co Processor Engine that can be programmed to on read or write of a content using JavaScript, Ruby, Python or Groovy. For more read on the rule engine support within Smart CMS
  • A set representations can be defined for representing a content in different forms
  • A set of variations can be defined for representing a field in different forms
  • All contents are stored in HBase (the default chosen SPI implementation), if and as required other SPI will be implemented.
  • Full Text search is provided through Solr integration
  • Content and Content Type can be locked across Smart CMS cluster through distributed locking mechanism provided through ZooKeeper
  • Support for numerical Sequence that is thread-safe over a cluster
  • Asynchronous and synchronous event listeners for operations on content
  • Content can be accessed via Java API and RESTful Web Services
  • The Java Web Services Client implements client side caching and conditional GET, PUT, POST, DELETE
  • Maven plugin can start stop all the tools required for running the CMS.
  • Data can be migrated from one server to the other easily using scripts via Native API or Web Service API. Helps in work flow where content is first uploaded in Staging server and then pushed to Production server.

Repositories will be organized as workspace, which will have content organized in container. So when a user wants to access content s/he will first have to access a workspace and from there on walk down the containers and then to their contents. Contents will also be accessible through Full Text Search Engine powered by Apache Solr. The CMS will support a flexible authorisation scheme in future.

The roadmap for the product can be seen for timeline for features. We very much appreciate your contribution.

Get started with development and using Smart CMS. A probable deployment could look like the following diagram, for more on architectural choices please see this page -

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2014, Oracle Corporation and/or its affiliates
(revision 20160708.bf2ac18)
Please Confirm