The following topics are covered:
To use the API, the following set of modules and tools are required:
Java JDK 6 or later
The Outside In developer's redistributable modules for your product(s)
The API libraries:
oilink.jar - The Java library to access the Outside In technologies
oilink (on Unix)/oilink.exe (on Windows) - The bridge modules between Java and the C-APIs.
All of the Outside In modules should be in the same directory as oilink.jar.
The SDK includes sample source code to demonstrate how such web applications may be written. These sample applications are written as simply and generically as possible, and will not fill all of the needs of your particular application. They are intended for instructional purposes only.
There are two steps in developing applications using the APIs. In the first step, you configure the environment to create your application (typical programming tasks not directly related to these APIs); and in the second step, you generate code to utilize the functionality of these libraries.
To set up the environment to create a Java application, you need to add the oilink.jar library to your project. (This can be done in Eclipse in the Project Properties dialog by selecting Java Build Path properties > Libraries tab > Add external JARs > browse to oilink.jar.)
Sample application code included with the SDK, OITSample, is a minimal demonstration of how to use this API.
All the functionality required to perform a conversion is provided in an Exporter object. The basic process of exporting a file involves the following tasks:
Tasks 2 through 5 can be done in any order between the first and last task.
To obtain access to the Outside In functionality, you should call the utility function in the "OutsideIn" class. This will provide you an instance of an Exporter Object.
Exporter exporter = OutsideIn.newLocalExporter();
The Outside In API is highly configurable, and presents numerous options to fine-tune the way a document is exported. Each option has a "set" and "get" method to set or retrieve the currently set value.
exporter.setPerformExtendedFI(true); int timezoneOffset = exporter.getTimeZoneOffset();
You are required to specify the source file and the destination file. This is done similarly to setting options using "set" methods.
exporter.setSourceFile(inputFile); exporter.setDestinationFile(outputFile);
There are other options that can be set at this time to specify the way to handle the input file, such as providing a SourceFormat to provide a mechanism to handle the input file in a different format than that which it is identified as.
The API also supports opening certain types of embedded documents from within an input file. For example, a .zip file may contain a number of embedded documents; and an email message saved as a .msg file may contain attachments. The API provides the means of opening these types of embedded documents. This can be done by opening the parent document and then the embedded document can be opened through this exporter object.
// subdocId is the sequential number of the node in the archive file Exporter exporterNode = exporter.newArchiveNodeExporter(subdocId);
In this step, you specify the output format.
exporter.setDestinationFormat(FileFormat.FI_SEARCHML_LATEST);
FI_PAGEML and FI_SEARCHHTML may also be used to get those respective flavors.
Outside In Technology provides callbacks that allow the developer to intervene at critical points in the export process. To respond to these callbacks, you have to subscribe to any messages that you are interested in by overriding the message handlers from the Callback class. After creating an object of this class, set the callback option to this object and the messages will be passed to your object.
class CallbackHandler extends Callback { … // implementation of messages to handle - described in the API documentation } CallbackHandler callback = new CallbackHandler(); exporter.setCallbackHandler(callback);