DBPrism CMS is a simple but powerfull database oriented CMS used to built
DBPrism's web site.
DBPrism CMS runs on top of three key technologies, Oracle XML enable databse (TM),
Apache Cocoon 2 Framework (TM) and DBPrism Servlet Engine.
This CMS was based on the Oracle CMS , and is an example of how to make applications
with DBPrism / Cocoon. To find more information about Oracle CMS please refer
to the Oracle white paper at the
Oracle technology Network
The core functionality of DBPrism CMS are included into 962 lines of java code which runs
as Oracle Java Stored Procedure. Unlike other CMS systems such as Open CMS
or Oracle's iFS is too quite simple.
DBPrism CMS takes the best key technologies to provide powerfull functionalities,
for example, xml indexing from Oracle interMedia (TM), versioning and concurrency control
provides by the database, portal content aggregation like My Yahoo (TM) functionality
from Cocoon, and so on.
Dynamic and static content,
DBPrism CMS provides a simple way to provide on the fly content services
written in Java or PLSQL, look at the CMS Dynamic sections for more details.
DBPrism CMS includes attributes into his metamodel to provide multi-language support.
DBPrism CMS runs as an stored procedure, then it inherit the permision subsystem
of the database engine which is well known system of user and roles, also it
includes an Oracle Virtual Private Database security layer for fine grain control
to the CMS assets using Unix like users and groups concepts. Look at the Security
document in this section for more details.
All the assets are stored into database tables which are controled by the concurrency
features of the database.
The content assets are stored into the CONTENT table which include a version column to
store different version of the same document.
DBPrism CMS uses ESI invalidation protocol to provide a cache coherence
betwen Cocoon internal cache system and the database assets, look at the
External Invalidator Server section for more details.
Separation of layout and content,
DBPrism CMS is runnig into Cocoon Framework, where separation of concern is
first rule take into account.
Using DBMS_JOB package is possible to invoke any CMS task at an specific time
or periodically, look at the CMS News source for more information
(CMS News import Moreover.com (tm) news every one hour automatically).
Import and Export content,
The content assets could be export/import directly using the regular database
command because are stored in regular tables.
Using Oracle database snapshots.
No problem, make a new stylesheet and thats all.
Oracle Java Stored Procedure are ready to use enterprise services such as
EJB or Corba.
Native XML support,
DBPrism CMS use XML document complaint with Apache's documentv10.dtd plus
images in SVG format.
DBPrism includes a custom addin for Oracle JDeveloper, it provides a simple
way to import single or multiples files edited by the JDeveloper XML editor.
Also its possible to use another authoring tools such as XML Spy from Altova
that provides document preview facilities, then using the Upload utility
from DBPrism CMS the edited documents could be uploaded to the repository.
See CMS Addin and CMS Upload utility sections for more detail.
Xopus integration, Xopus is a browser
based in-place wysiwyg XML editor.
A simple Frontend application has been added in this release, look at the
Frontend document in this section.
Look at this KeyNote for an in deep introduction of DBPrism CMS.
Excepts for the Oracle database license, all the other components of DBPrism
CMS are free with Apache Software license.
DBPrism CMS uses DBPrismGenerator for Cocoon2.
Cocoon2 runs in servlet container like Apache Tomcat or OC4J,
this container listens for client's request and redirect
it to Cocoon Framework, Cocoon will redirect them every request for CMS pages to DBPrism
servlet engine. DBPrism servlet engine will call an Oracle stored procedure wich
loads the content from a database tables to provide the desired asset.
Finally the content is formated to the desired output format by Cocoon.
A big picture of this is at
External Cache Server integration section.
According to the CMS Features
list the most important functionality to be implement into DBPrism CMS are:
to implemented adding a new table named USER_PREFS which will include personalization
fetures such as which content the user see, preferred language and so on.
Native support for Oracle XML Type,
Oracle 9i Release 2 XMLType (not public yet) has several improvement over
the tradicional store of XML as CLOB such as foldering and access list,
then DBPrism CMS will use XMLType as container for the assests.