IBM FileNet P8, Version 5.2            

Change Preprocessors

Change preprocessors are server-side, user-implemented action handlers that change new or updated source objects before they are persisted to the Content Engine database. You associate a change preprocessor handler with a class definition. When a client saves an object of that class, the associated handler is triggered.

Change preprocessors allow source object modifications that are difficult or impossible to achieve with asynchronous or synchronous event action handlers. For example, a change preprocessor must be used to alter settable-only-on-create (SOOC) properties because SOOC properties cannot be changed after they are persisted. For feature comparisons between change preprocessors and event action handlers, see Action Handlers: Restrictions and Best Practices.

Change preprocessors have these characteristics:

Implementation Guidelines

You implement the following method in the ChangePreprocessor interface:

boolean preprocessObjectChange(com.filenet.api.core.IndependentlyPersistableObject sourceObj)

In implementing this method, consider the following:

Allowed Operations

>Disallowed Operations

You cannot invoke operations that adversely impact the source object's persistence. Such operations include the following:

Setup Requirements

To set up a change preprocessor:

  1. Implement the ChangePreprocessor interface.
  2. Create a CmChangePreprocessorAction object. This object contains a property for setting the implemented ChangePreprocessor interface. It also includes an IsEnabled property, allowing an administrator to disable a preprocessor at the system scope, no matter where it is referenced in the class hierarchies.
  3. Create a CmChangePreprocessorDefinition object. This object contains a property for setting the implemented ChangePreprocessorAction object. It also includes an IsEnabled property, allowing an administrator to disable a preprocessor at the class scope.
  4. Create a CmChangePreprocessorDefinitionList object and add the CmChangePreprocessorDefinition object to it.
  5. Get the SubscribableClassDefinition object that represents the class definition on which you want to set the change preprocessor.
  6. Set CmChangePreprocessorDefinitionList on the SubscribableClassDefinition object and save it.

You can get all CmChangePreprocessorAction objects with the ObjectStore.CmChangePreprocessorActions property. You can get all CmChangePreprocessorDefinition objects with the SubscribableClassDefinition.ChangePreprocessorDefinitions property.

For code examples of these setup and retrieval operations, see Working with Change Preprocessors.



Feedback

Last updated: October 2013
changepreprocessor_concepts.htm

© Copyright IBM Corporation 2014.
This information center is powered by Eclipse technology. (http://www.eclipse.org)