Community articleThe FCI Extension Architecture
Added by IBM contributorIBM on May 2, 2012
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars

No abstract provided.

Extensions can exist in any of the following locations:
  • The extensions folder of the IBM® Forms product that will use the extension (for example, the Viewer or Designer products).
  • The API extensions folder, <Windows System>\PureEdge\extensions.
  • The Java source folder, <Windows System>\PureEdge\java\source.
  • Enclosed within XFDL forms.
When the Forms System is initialized, the API checks for extensions. If it finds any, it calls the initialization method for each extension and passes each method an object called the IFX Manager.
This image shows how the IFS API passes each method to the extension manager, and then to the extension class.

As part of the initialization, those extensions that provide a function call interface create one or more FunctionCall objects.
Image shows a magic wand creating a Function Call object inside the Extension Class.

Then, each FunctionCall object requests a FunctionCallManager object from the IFX Manager.
Image shows the function call object requesting a Function Call Manager via the Extension Manager.

Each FunctionCall object registers itself with the IFX Manager as a function call and then registers your custom-built functions and corresponding packages with the Function Call Manager.
The image shows that the Function Call has registered with the Extension Manager and has registered the functions with the Extension Manager.

The image shows the custom functions returned from the Extension Manager to the Function Call Object..
The final result is an extension containing a registered FunctionCall object. The registered FunctionCall object contains your package of custom functions.
The image shows the final image of three boxes stacked within one another.

When a function is called in a form, the forms driver requests the package and function from the API. The API will use the Function Call Manager to locate the FunctionCall object that contains the requested function and evaluate it.
The image shows the API using the Function Call Manager to call one of the custom functions from the package of custom functions.

Note: The forms driver software is any application that initializes and calls the API.