IBM FileNet P8, Version 5.2            

Action Handlers: Restrictions and Best Practices

You can extend Content Engine functionality by implementing one or more Java™ interfaces in the com.filenet.api.engine package. As a guide for making implementation choices, this topic provides restrictions, best practices, and feature comparisons.

For some server extensibility use cases, knowing whether to use a change preprocessor or an event action handler is not always obvious, especially if you want to modify the source object. The following table compares features of change preprocessors, which aways execute synchronously, with features of event action handlers, which you can configure to run either synchronously or asynchronously.

  Change Preprocessor - synchronous Event Action - synchronous Event Action - asynchronous
When does action handler run? (Any request to the Content Engine can trigger one or more of each server extension type.) In transaction, before database updates have occurred. Runs first. In transaction, after database updates have occurred. Runs second. After transaction has committed. Runs third in a separate transaction.
Executes before source object is saved? yes yes no
Server disables security access checks during execution? no yes yes
Gap in time between client saving source object and handler executing? no no yes
Can update source object? yes no yes
Can update SettableOnlyonCreate (SOOC) properties? yes no no
Can update other objects referenced by OVPs (object-valued properties)? yes yes yes
Can subscribe to events? no yes yes
Execution can be filtered by event and property values? no 1 yes yes
Unhandled exceptions rollback the user's transaction? yes yes no

1 Change preprocessors are invoked unconditionally. However, the source object passed to a change preprocessor action handler includes a properties collection and a set of pending actions, allowing the action handler to filter by event and property values.

Exception Handling

Restrictions

Best Practices



Feedback

Last updated: October 2013
server_concepts.htm

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