Similar to the “SourceInfo”, the framework uses a “PublisherInfo”. This holds information used to connect to the target repository (url, username, password etc) but also controls the functionality the framework provides. For example, the framework allows for a transformation, but a connector may not require this functionality, so the developer could disable it. . The developer is able to extend this if required, but the framework allows for the following configuration.
When a connection is required
Pool connections
True/false that connections should be pooled
Use transform
Transform type – none/xml/json + default transform file (to pick out of component)
Supports authentication
http(s)
We implemented a set of properties in the provider that control the DXF in the app bundle and the options in the framework. This could then be used to control the app bundle loaded (this is via the aspire application), and the configuration of the component “publisher info” (for example to control if the publisher supports “clear” and “commit” operations. The same configuration could then we used, via the dxf, to offer the option to (say) “process commits” only if it’s supported
Installation settings are collected when the component is installed. The obvious items required are the location and connection (user/password) details of the target. The desire is that only options that the developer has enabled (in the developer settings above) will be presented to the user. The settings are collected using DXF. A publisher specific DXF is merged with a common piece to present the entire set. The framework collects the following parameters:
Target URL
The url for the search engine etc
Authentication
Yes/no/type
Gather username/password
Clear before full crawls
True/false. If true, the publisher will react to start jobs for full crawl by calling a clear method
Commit after crawls
True/false. If true, the publisher will react to end jobs for crawls by calling a commit method
Transform data before sending
True/false
Transform file name
For cases when transformation is required
Control of the DXF etc is via a new properties file added to the component. This file allows the developer to add properties.