1234567891011121314151617181920212223 |
- 1. In order to enable Extension Engine A, create the file <install>/extensions/rsvp/rsvpExtensionConfig.xml. This is the configuration file for the Extension Engine A library. The latest schema for this configuration file is <install>/schemas/RsvpExtensionSpecification/2/RsvpExtensionSpecification.xsd. The name of the Extension Engine A library in this file should not have any extension and includes the path to the library. The path is relative to the location of the configuration file. For example, if the library is dropped in the extensions folder, the name should be ../<name of the library without extension>. The version of the extension should be specified. The assumed extension version is "1" when the extension version is not specified in the rsvpExtensionConfig file. Although older schemas and extension versions are deprecated, they may still be supported. If the rsvpExtensionConfig.xml configuration file is not found, Report Server assumes there is no Extension Engine A and continues its usual processing. If the rsvpExtensionConfig.xml configuration file is found in <install>/extensions/rsvp and Report Server cannot:
- - find the specified library
- - load the specified library
- - Identify the correct version of the library. (The current version is "2.0")
- - find the getExtension() entry point in the library
- - call the getExtension() entry to get a RSExtensionI2 instance
- then Report Server will throw an exception every time a report is executed. The sample rsvpExtensionConfig.xml is currently using the test Extension Engine A provided with Report Server. The name of the test Extension Engine A is RSTestExtensionLibraryMock.dll and its location is in the <install>/bin and <install>bin64 folders. The test Extension Engine A implements the RSExtensionI2 and RSExtensionSessionI2 interfaces. The source code of the test implementation can be found the the <install>/sdk folder. The test implementation simply adds a comment to the original report specification and modifies a parameter value.
- 2. The interfaces used by Extension Engine A are found in <install>/sdk/c++/src. RSExtensionI2 and RSExtensionSessionI2 must be implemented by the client. RSExtensionSpecWriterI, RSExtensionErrorI, RSExtensionSpecI, RSExtensionParamI and RSExtensionContextI are implemented by Report Server and instances of these interfaces are provided through the RSExtensionSessionI2 interface. There is documentation in the comments on each method of the interface.
- 3. In order to see the modified specification, you can enable Report Server recordings before you start the server. Copy <install>/configuration/rsvpproperties.xml.sample to <install>/configuration/rsvpproperties.xml and edit rsvpproperties.xml file to enable
- <property>RecordingsEnabled</property>
- <value type="long">1</value>
- and
- <property>WriteReportSpecToFile</property>
- <value type="long">3</value>
- by uncommenting the elements and modifying the values as shown. Start the server. For each request, Report Server will record in the <install>/temp/rsvp folder the original spec reportSpec-.xml and the Extension Engine A modified specification reportSpec_ext+.xml. Be certain to remove the modified rsvpproperties.xml once recordings are no longer needed as there can be performance impacts with recordings enabled.
- 4. There are sample source files for engine A in the folder <install>/sdk/c++/src/sample.
|