Skip Headers
Oracle Content Management Software Development Kit (SDK) Developer Reference
Release 9.0.3
Part Number A96698-01
Index
Contents
Title and Copyright Information
Send Us Your Comments
Preface
1 Getting Started with the Oracle Content Management SDK
Development
Skills
Required Skills
Optional Skills
Development Roles
Tools for Oracle Content Management SDK Development
Why Choose the Oracle Content Management SDK?
Customizations or Applications?
Example Oracle CM SDK Customizations and Applications
The Java API
Basic and Advanced Development Tasks
The Oracle Content Management SDK
Development Environment
Oracle Content Management SDK Application Components
Which Component to Use?
Which Tool for Which Component?
Oracle Content Management SDK Application Deployment and Management
Restarting After Customization
System Configuration Files
System Maintenance
The Command-Line Utilities Protocol Server (CUP)
Oracle Content Management SDK Sample Code
Getting Started
UNIX Example for CLASSPATH, PATH, and LD_LIBRARY_PATH Variables
Windows NT or Windows 2000 Example for CLASSPATH and PATH Variables
QuickStart for Advanced Java Programmers
2 The Anatomy of Oracle Content Management SDK
Managing Objects
Many Ways to Manage Objects
Java Implementation
Rich XML Framework
Content Management Functionality
Security
Organization
Search
Collaboration Management
Architecture Overview
Protocol Servers
The Repository
The Oracle 9
i
FS Schema
Points of Extensibility
Subclasses
Tie Classes
Parsers
Renderers
Servers
Overrides
Servlets and Java Server Pages
3 Java API Overview
Introducing the Oracle Content Management SDK Java API
API Packages
APIs by Function
Connecting to the Repository
Managing Information
Defining Content Types
Extending Content Type Behavior
Instantiating Content Types
Searching for Information
Processing Information
Connecting to the Repository
LibraryService
LibrarySession
Common Classes
Managing Information
Content Type Hierarchy
Managing Different Types of Information
Managing Extra Metadata and Behavior
Versioning Information
Controlling Access to Information
Managing Directories
Defining Content Types
Extending Content Type Behavior
Instantiating Content Types
Searching for Information
Selector
Searches
Processing Information
Parsers
Renderers
Servers
Queues
4 Creating an Oracle Content Management SDK Document
Understanding How Files Are Stored in the Oracle CM SDK Repository
Understanding How Files Are Stored in a File System
Understanding How Files Are Stored in the Oracle CM SDK Repository
Understanding the Steps to Creating a Document Object
Connecting to the Repository
Creating a Document Object
Creating a DocumentDefinition Object
Setting Document Attributes
Creating the Document
Adding a Document to a Folder
Understanding How Document and Folder Relationships Are Represented in a File System
Understanding How Document and Folder Relationships Are Represented
in Oracle CM SDK
Associating a Document with a Folder
Reviewing the Complete Application
Running the HelloWorld.java Application
5 Extending Content Types and Attributes
Extending Content Types and Attributes Overview
Defining the Characteristics of Custom Content Types
Defining the Content Type Hierarchy
Implementing Custom Content Types and Attributes
Creating New Content Types
Adding Attributes to Existing Content Types
Modifying Existing Attributes
Removing Attributes from Content Types
Deleting Custom Content Types
Sample Code
6 Applying Arbitrary Metadata and Behavior
Applying Arbitrary Metadata and Behavior Overview
Categories
Defining New Category Types
Categorizing PublicObjects
Searching for Information Based on Categories
PropertyBundles
Defining PropertyBundles
Applying PropertyBundles to Content Types and Instances
Searching for Information based on PropertyBundles
PolicyPropertyBundles
Defining PolicyPropertyBundles
Applying PolicyPropertyBundles to Content Types and Instances
Relationships
Defining New Types of Relationships
Relating Objects
Searching for PublicObjects based on Relationships
Sample Code
Documentation Example Files
API Sample Code
7 Attribute Validation
Understanding Attribute Validation
Using a ValueDefault
Creating a ValueDefault Using XML Configuration Files
Testing the ValueDefault Example
Using a ClassDomain
Creating a ClassDomain
Testing the ClassDomain Example
Working with a ValueDomain
8 Building Search Applications
What Is Searching?
Working with Selectors
Selector Object Model
Selector APIs
Constructing and Executing a Selector
Sample Code
Working with Searches
Search Object Model
Search APIs
Constructing and Executing a Search
Sample Code
9 Message Queuing Framework
Basic Concepts
Oracle Advanced Queueing
How Oracle CM SDK Leverages Oracle AQ
Sample Application
10 XML and the Oracle Content Management SDK
Understanding XML
Understanding the Different Roles of XML in the Oracle CM SDK
Using XML Data Files with Oracle CM SDK
Storing Persistent XML Documents
Storing Persistent XML Documents with Parsed Data Elements
Storing "Roundtrip" XML Documents
Creating Instances of Custom Subclasses with XML
Formatting Date Values in XML Data Files
Working with Array Attributes
Using Oracle CM SDK Objects as Attributes
Working with XML Namespaces
Rendering XML Data Files
Configuring Oracle Content Management SDK Using XML Files
Creating a Subclass of the Document Class Using XML
Creating a Property Bundle Using an XML Configuration File
Creating Several Objects at Once Using a Single XML Configuration File
11 Creating a Custom Web Interface
Using Servlets or JavaServer Pages
Understanding Servlets
Understanding JavaServer Pages (JSPs)
Choosing Between Servlets and JavaServer Pages
Creating a Custom Web Interface Using Servlets
Creating the Login/Logout Servlets
Creating a Custom Web Interface Using JSPs
Creating a FileList Servlet
Mapping a JSP to a File Extension
Deploying the JavaServer Page and Mapping to the File Extension
12 Parsing and Rendering Files
Understanding Parsing and Rendering
Understanding Parsing
Understanding Rendering
Extending the FileList Application to Parse and Render Files
Creating the CUSTOM Subclass
Creating the SimpleParser JavaBean
Creating the FileUpload Servlet
Creating the ShowTitle Servlet
Creating SimpleRenderer.java
Updating the Remaining Classes
Deploy and Test the FileList Application
Running the Parse and Render Application
13 Creating Custom Servers
What Is a Server?
Protocol Servers and Agents
Server Status
Server Management
Creating a Custom Server
Creating a Server Class
Servers and Thread Safety
The Server Lifecycle
The Runtime Environment of a Server
Session Management
Handling Requests
Using a Timer
Responding to Events
Priority Management
Service Configuration Parameters
Dynamic Properties
Testing a Custom Server
Deploying a Custom Server
Custom HTTP Servers
Examples
More Information
14 Implementing Versioning
What Is Versioning?
Versioning Object Model
Versioning Classes
Document Class
Family Class
VersionSeries Class
VersionDescription Class
Implementing Versioning Applications
Making a Document Versioned
Checking Out a Document
Checking in a New Version
Cancelling a Check Out on a Document
Viewing the Document History
Deleting a Specific Document Version
Deleting a Versioned Document
Foldering a Versioned Document
Resolving Versioned Documents
Sample Code
API Sample Code
15 Security
Security Overview
Repository-level Security
Object-level Security
Managing Access to the Repository
How Directories Work
Directory Structure
Creating, Modifying, and Deleting DirectoryUsers and PrimaryUserProfiles
Defining ExtendedUserProfile Classes
Applying ExtendedUserProfiles to DirectoryUsers
Creating, Modifying, and Deleting DirectoryGroups
Defining Custom Group Classes
Creating, Modifying, and Deleting Custom Groups
Authenticating DirectoryUsers
Managing Access to PublicObjects
How AccessControlLists Work
AccessControlList Structure
Creating, Modifying, and Deleting AccessControlLists
Applying ACLs to PublicObjects
Managing Access to AccessControlLists
Working with Composite AccessControlLists
Managing Access to ClassObjects
How ClassAccessControlLists Work
Creating ClassAccessControlLists
Applying ClassAccessControlLists to ClassObjects
Granting Implicit Access to Objects
Administration
Ownership
Sample Code
Documentation Example Files
API Sample Code
16 Managing Sessions and Transactions
Managing Sessions
How Oracle CM SDK Session Management Works
Session Management Classes
Using the Session Management Framework
Managing Transactions
Beginning, Aborting, and Committing Transactions
Embedding Java Database Calls (JDBC) in Transactions
Sample Code
17 Customizing Content Type Behavior
Customizing Content Type Behavior: Overview
How Content Type Behavior is Implemented
Using the Oracle CM SDK Java API to Customize Behavior
Before You Begin Extending Behavior
Creating Custom Bean-side Java Classes
Example of Implementing Bean-side Java Classes
Complete Example
Deploying Your Custom Bean-side Java Classes
Testing
Creating Server Overrides
How Overrides are Implemented
Example of Using an Override
Complete Example
Deploying Your Override Classes
Testing
Replacing Tie Classes
Replacing a Bean-side Tie Class
Replacing a Server-side Tie Class
Complete Example
Deploying Custom Tie Classes
Testing
Sample Code
18 Building E-Mail Features into an Application
How E-Mail Works in Oracle CM SDK
Routing Messages
Storing Messages
Implementing Messaging Functionality
Messaging APIs
Applying Transaction Management to Messaging Operations
Constructing and Sending Messages
Working with Message Folders
Sample Code
Overview
Description
Compiling and Executing
A Error Messages
Index
Copyright © 1999, 2002 Oracle Corporation.
All Rights Reserved.
Index