Customizing WebCenter Content Server: Part 1 – Content Server Architecture

By: Dwayne Parkinson – Solution Architect

WebCenter Content is an incredibly flexible and customizable system.  The architecture allows for virtually any customization that can be dreamed up.  The goal of the next few Blog entries is to give our readers an overview of what they need to start to leverage the architecture and customize it to their liking.  In this entry we will talk about the way that Oracle Content Server is architected since understanding the architecture is the foundation of customization.

Content Server Requests

When a web browser client sends a content server request to the web server, the web server routes the request to the content server, which then performs one or more of the following actions:

  • Run a content server service
  • Run a search engine service
  • Run a page retrieval service

 

Services are an important concept for developers.  A service is a function or procedure that is performed by the content server.  A client can communicate with the content server only by calling a content server service.

Content Server Services

When a web browser requests a dynamic page, the actual request is for a service.  For example, this is the request that is sent when clicking on the checkin link, a request for the CHECKIN_NEW_FORM service is sent to the web server.

CSA1

 

Note:  Because of this, the URL is a very important tool when developing.  A user is usually only aware of the interaction with the interface, but the URL gives specifics about content server requests for different services.

Startup Behavior and Load Order

Another central concept to the Content Server behavior is the concept of load order.  Through the process of customization, a developer will work with the items listed in the four startup phases depicted below such as:

  • Java classes
  • Intradoc.cfg
  • Config.cfg
  • Standard resources
  • Custom Components

 

The following chart and table helps to show the way that these interact.

CSA3

 

Step Load Step Detail
1 Internal Initialization
  • JVM is invoked and standard classes are read
  • Variables in the Intradoc.cfg initialize
2 Configuration Variables load
  • Config.cfg
3 Standard Templates, Reports, and Resources Load
  • Templates.hda loads
  • Reports.hda loads
  • Standard resources referenced in above also load
4 Custom Components Load
  • Components.hda loads
  • Custom Resources are loaded

 

The first two steps include loading many variables to memory through the following two files:

intradoc.cfg

Content Server system variables, including directory, Internet and refinery settings, are configured in this file.

config.cfg

Global variables and configuration settings are configured in this file.

For information on the configuration variables please refer to the latest Oracle documentation.  Our focus for customization will be on resources and components.

Much of Content Server’s functionality depends on Resources which are used to store and access code on the file system.  The important thing to understand is that these resources can contain variables and custom code that affect Content Server functionality.

Additionally, when developing custom components you must be aware that custom resources are loaded after the standard resources.  This means that in cases of overlapping names, custom resources are positioned so they override standard resources so load order is very important.  For instance, if a variable is written to memory on two separate occasions in the loading process, the second instance will override the first.

The previous note is exemplified through the following scenario:

  1. A general configuration variable is set in config.cfg (this would be loaded in step 2).
  2. A custom component sets this same variable as part of one of its resources (this would be loaded in step 4).

CSA2

In this scenario, VariableA would equal 1 because it was set by a Custom Component which is loaded later than the version of VariableA that was loaded in the Config.cfg file.

While there is much more to the content server architecture than we have covered here, this basic architecture overview will give us a foundation that we can use as we explore different was to customize the content server.

For more information on customizing WebCenter Content, please contact TEAM Informatics and ask about our training classes that can be tailored to suit the needs of your business.

One Response to Customizing WebCenter Content Server: Part 1 – Content Server Architecture

  1. […] the previous blog entry on customizing WebCenter Content Server we covered the basic content server architecture.  With that architecture in mind we can discuss […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: