OTN Content Management
System with Oracle XML DB
Table of Contents
The Content Management System application provides
the user with an easy-to-use interface to interact with the Oracle 9i
XML DB Repository and perform various content management operations.
This application identifies two types of users - Content
Managers (mapped to Database Users) and Administrator (CMSADMIN).
This application allows the Content Managers to perform
the following functionalities :
- Create/Delete folders and sub folders under '/cmshome' folder in XML
DB Respository.
- Navigate to any required folder/ sub folder.
- Create/Delete/Rename files in the folder/ sub folder owned by the
user. The Content Managers can create files by either uploading the file from the
selected location on the hard disk or editing the contents in the Text
Area provided in the application.
- Raise Externalization Requests for files (corresponding folders will
also be externalized in the same order).
- Depending on the privileges set by Access Control Lists (ACLs) , perform
Version Control operations like Make Version, Check-in, Check-out and
Undo-checkout on the files.
- View/Edit/Update contents of XML, XSL and XSD files.
- Set the required View Type, provide the XSL location and Preview the
XML content in the required format.
- Search for content in the XML DB respository and allow the user to
request privileges on the required files.
- Browse the older versions of XML documents.
The Administrator (CMSADMIN) will be listed out the
externalization requests and privilege requests from the Content Managers
on login. The Administrator can either accept or reject the individual
requests.
The Externalization requests and privilege requests
are sent and maintained using Oracle AQ.

This application is implemented as a set of Servlets
deployed on the Database Server. The User Interface to this application
is provided by Java Server Pages (JSPs) deployed on the middle tier OC4J
server. The JSPs process the user input and interact with the Database
Servlets with the help of supporting java beans (CMSAdminBean, DataUtils,
JDBCQueryBean). The java beans call the methods in ServletUtils to pass
on the user credentials and input requests to the Servlets running on
the Database and return back the Servlet response to the calling JSPs.
The three Servlets provided in this application are
separated based on their functionality as follows :
The Servlet CMSXDBServletOnDB handles the Foldering,
Content Management and Versioning functionality by calling the required
PL/SQL package procedures for performing the operations on content in
the XML DB repository.
The TransformServlet handles the transformation of XML
content from the XML DB repository depending on the required View Type
and corresponding XSL set by the User as preference.
The SearchServlet performs Oracle Text Search on the XML
content in the XML DB repository.
This is the Main Page (Ref Figure 1.1) displayed to
the users of the Content Management System application. New Users (Content
Managers) can register by clicking the SignUp button which leads to the
SignUp page. Registered Users (mapped to Database Users) or Administrator
can login to the application through this Main Page.
Figure 1.1: Main Login Page
On successful login of Content Managers, the Contents
page of the application is displayed (Ref Figure 1.2), which displays
the folders and files created under the application specific folder '/cmshome'.
The Content Managers can perform all the Content Management functionalities
at this page. The Content Managers can navigate to the sub folders by
clicking on the folder links.
Figure 1.2: Contents Page
In the Contents Page, When the User searches for some
text, the Search Results are displayed (Ref Figure 1.3). The User can
view the contents by using the links to the Resource Path, Preview the
contents or Request Privilege for the files displayed.
Figure 1.3: Search Results Page
On successful login of the Administrator (CMSADMIN),
the AdminMain Page is displayed (Ref Figure 1.4). The pending externalization
requests and privilege requests in the Queue are listed. The Administrator
can choose to accept or reject the requests. If the externalization request
is accepted, the file is copied to the external location. If the privilege
request is accepted, the requesting User is granted the required privilege.
The messages are then discarded. If the requests are rejected, messages
are discarded without processing.
Figure 1.4: Admin Main Page
Refer to Install.html (in the source jar file)
for step-by-step instructions on extracting files, installing and configuring
any other systems to successfully run this application.
The directory structure of the deliverable cmsxdb.jar
will be as shown below Cmsxdb is the top
level directory.
| Directory
|
Description
|
| Cmsxdb\config\ |
This directory contains all the configuration
files such as Connection.properties, web.xml, ANT build file, sample
ACL file etc,. |
| Cmsxdb\deploy\ |
This directory contains the deployment
profiles used by Oracle JDeveloper |
| Cmsxdb\docs\ |
This directory contains all the documentation
files such as Readme, Install |
| Cmsxdb\sql\ |
This directory holds
the SQL scripts for creating the required schema and populating it
with sample data and creating the packages required for this application. |
| Cmsxdb\public_html |
\ |
This directory contains
all the JSPs required in this application |
| \images\ |
This directory contains
all the images required in this application |
| \includes\ |
This directory contains
all the css files used in this application |
| Cmsxdb\src\oracle\otnsamples\cmsxdb |
\ |
This directory contains
the ConnParams.java file used by all the other java files in this
application |
| \admin\ |
This directory contains
all the java files required for the Admin functionality in this application |
| \dbmanager\ |
This directory contains
all the java files which will be loaded on the Database |
| \useraction\ |
This directory contains
all the java files called by the JSPs to interact with the Database
|
| \exception\ |
This directory contains
all the java files which implement Exceptions used in this application |
|