Skip Headers
Oracle Internet File System Developer Reference
Release 9.0.1.1.0
Part Number A90093-02
Index
Contents
Title and Copyright Information
Send Us Your Comments
Preface
Intended Audience
Structure of this Guide
About Sample Code
Related Documents
Documentation Accessibility
Accessibility of Code Examples in Documentation
Conventions
1 Getting Started with the Oracle Internet File System SDK
Development
Skills
Required Skills
Optional Skills
Development Roles
Tools for Oracle 9
i
FS
Development
Documentation
Core Documentation
The Oracle Technology Network
Related Documents
Why Choose the
Oracle 9
i
FS
SDK?
Customizations or Applications?
How Many Applications?
The Java API
Basic and Advanced Development Tasks
Maintaining
Oracle 9
i
FS
Applications
The
Oracle 9
i
FS
Development Environment
Oracle 9
i
FS Application Components
Which Component to Use?
System Configuration Files
Which Tool for which Component?
Deploying Your Application
Restarting After Customization
The Command-Line Utilities Protocol Server (CUP)
Configuring Your Development Environment
General Configuration
CLASSPATH Configuration
JDK/JRE Certification
Oracle 9
i
FS
Application Examples
Notifying Users of Changes
Content Management System
XML-Based Insurance Claim System
Document Repository
Changing the Way Delete Works
Sample Code Provided with
Oracle 9
i
FS
Running the Examples
2 The Anatomy of Oracle 9
i
FS
Managing Objects
Many Ways to Manage Objects
Java Implementation
Rich XML Framework
Database Features Brought to the File System
Security
Search
File Sharing
Architecture Overview
Protocol Servers
The Repository
The Oracle 9
i
FS Schema
Oracle 9iFS as a Development Platform for Content Management
Points of Extensibility
Subclasses
Tie Classes
Parsers
Renderers
Servers
Overrides
Servlets and Java Server Pages
3 Java API Overview
Introducing the Oracle 9
i
FS 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
4 Creating an Oracle Internet File System Document
Understanding How Files Are Stored in the Oracle 9
i
FS Repository
Understanding How Files Are Stored in a File System
Understanding How Files Are Stored in the Oracle 9
i
FS 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 9
i
FS
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
Associating File Extensions with 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 in Oracle 9
i
FS
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 Creating a Custom Parser
What Is a Parser?
Using a Custom Parser
Overview of a Parser Application
Writing a Parser Application
Write the Parser Class
Deploy the Parser
Register the Parser
Invoke the Parser
Write a ParserCallback
Sample Code: A Custom Parser
Using the ClassSelectionParser
Create a Class Definition
Register the Parser
Register the Class
10 XML and the Oracle Internet File System
Understanding XML
Understanding the Different Roles of XML in the Internet File System
Using XML Data Files with Oracle 9
i
FS
Storing Persistent XML Documents
Storing Persistent XML Documents with Parsed Data Elements
Storing "Roundtrip" XML Documents
Creating Instances of Custom Subclass Documents with XML
Formatting Date Values in XML Data Files
Working with Array Attributes
Using Oracle 9
i
FS Objects as Attributes
Working with XML Namespaces
Rendering XML Data Files
Configuring Oracle 9
i
FS 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 Renderer
What Is a Renderer?
A Renderer Does Not Create a Repository Object
The IfsSimpleXmlRenderer
How Rendering Works
Overview of a Renderer Application
Writing a Renderer Application
Write the Renderer Class
Deploy the Renderer
Register the Renderer
Invoke the Renderer
Output from the Custom Renderer
12 Web Interface Customization
Using Servlets or JavaServer Pages
Understanding Servlets
Understanding JavaServer Pages (JSPs)
Choosing Between Servlets and JavaServer Pages
Creating the Custom Subclass Shortstory
Creating a Custom Web Interface Using a Servlet
Understanding the Tasks of a Servlet
Creating a Custom Web Interface Using a JSP
The Components of a JSP
The Development Process
Deploying the Java Server Page
Registering the JSP
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 in a Custom Application
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
Holding Pending Changes
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
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
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 9
i
FS 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 9
i
FS 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 Programmatically Sending and Receiving E-Mail
How E-Mail Works in Oracle 9
i
FS
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
Release 1.2 Changes
A Error Messages
Index
Copyright © 2001 Oracle Corporation.
All Rights Reserved.
Index