Similar to “SourceInfo”, the framework uses “PublisherInfo”. This holds information that is used to connect to a target repository (URL, username, password etc.) and also controls the framework functionality. For example, is the framework allows for a transformation that a connector does not require, you can disable it. You can extend this, if required.
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)
A set of properties in the provider control the DXF in the common app bundle and the options in the framework.
Use these to control the app bundle loaded (via the aspire application), and the configuration of the component “publisher info” (for example, to control whether or not the publisher supports “clear” and “commit” operations)
Installation settings are collected when the component is installed. Required items include location and connection (user/password) details of the target. The intent is that only options that the developer has enabled (in the Developer Settings) will be presented to the user. These 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 start jobs for full crawls by calling a clear method
Commit after crawls
True/False. If true, the publisher will 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, for example, is by way of a new properties file that is added to the component. This file allows you to add properties.
Developer controls the DXF by setting the properties in resources/aspire.properties like in this example:
component.appbundle.maven.coordinates=app-pap-publisher #component.<SUBTYPE>.dxf=xxxx component.default.dxf=dxf/publisher.xml publisher.framework.isPAP=true publisher.framework.dxf.merge=true publisher.framework.dxf.merge.top=true publisher.framework.dxf.url=true publisher.framework.dxf.credentials=true publisher.framework.dxf.startEnd=true publisher.framework.dxf.transform=true publisher.framework.dxf.connection=true publisher.framework.dxf.dumpIndex=false