Processing extensions

Crystal Enterprise offers you the ability to further secure your reporting environment through the use of customized processing extensions. A processing extension is a dynamically loaded library of code that applies business logic to particular Crystal Enterprise view or schedule requests before they are processed by the system.

Note:    On Windows systems, dynamically loaded libraries are referred to as dynamic-link libraries (.dll file extension). On UNIX systems, dynamically loaded libraries are often referred to as shared libraries (.so file extension). You must include the .dll or .so file extension when you name your processing extensions.

Through its support for processing extensions, the Crystal Enterprise administration SDK essentially exposes a "handle" that allows developers to intercept the request. Developers can then append selection formulas to the request before the report is processed.

A typical example is a report-processing extension that enforces row-level security. This type of security restricts data access by row within one or more database tables. The developer writes a dynamically loaded library that intercepts view or schedule requests for a report (before the requests are processed by the Page Server or the Job Server). The developer's code first determines the user who owns the processing job; then it looks up the user's data-access privileges in a third-party system. The code then generates and appends a record selection formula to the report in order to limit the data returned from the database. In this case, the processing extension serves as a way to incorporate customized row-level security into the Crystal Enterprise environment.

The CMC provides methods for registering your processing extensions with Crystal Enterprise and for applying processing extensions to particular object. For details, see Applying processing extensions to reports.

By enabling processing extensions, you configure the appropriate Crystal Enterprise server components to dynamically load your processing extensions at runtime. Included in the SDK is a fully documented API that developers can use to write processing extensions. For details, see the Crystal Enterprise Web Developer's Guide.

Note:    In the current release, processing extensions can be applied only to Crystal report (.rpt) objects.



Crystal Decisions, Inc.
http://www.crystaldecisions.com
Support services:
http://support.crystaldecisions.com