2.1.4 Extending EDQ

EDQ is a fully extensible system, allowing you to create and plug in your own processors and match extensions into the application.

Writing New Processors

Note that processors are termed 'widgets' internally, which will help to explain some of the terms used in this section.

New processors are created as JAR files consisting of the following files:

  • widgets.xml (processor definition and optional javascript implementation)

  • compiled Java class files (optional implementation, if you need to add functionality not covered by Java libraries in the specification of Java 1.6 or later)

  • widgets.properties (optional text file facilitating internationalization of labels)

  • image files (optional icon image files for custom processors)

  • version.properties (mandatory file containing version information)

See http://java.sun.com/docs/books/tutorial/deployment/jar/index.html for information on packaging programs in JAR files.

These JAR files need to be copied to the EDQ oedq_local_home\localwidgets folder. The new processor will be automatically deployed and added to the tool palette when the EDQ Application Server service is restarted on the EDQ server.

To change the location of the configuration directory for an EDQ server, use the Configuration option on the EDQ Launchpad, and log on with an administrator's user name and password.

Upgrading EDQ will always preserve any custom processors. Furthermore, the EDQ uninstallation and upgrade processes create a full backup of a server configuration before proceeding (in [Common Files]).

New processors can mimic almost the full functionality of other EDQ processors, including:

  • Defining processor options ('properties'), including those that require Reference Data ('resources')

  • Defining output filters ('spigots') from the processor

  • Defining how the processor generates results

  • Transforming data

See the following Example written processor.

Matching

The extensibility of matching is a special case, where the match processors themselves are complex processors that could not easily be written from scratch, but where their processing is extensible. This allows you to define your own matching algorithms and use them within the existing EDQ match processors.

The following may all be added (click for more information and examples):

You can also create your own custom output selectors; see the Selection Functions section for more details.

Note that Comparisons and Matching transformations are collectively termed 'gadgets' internally.

Matching is extended via the creation of JAR files in a similar way to adding processors. The JAR files consist of the following files:

  • matchlibrary.xml (if you want to add new identifier types and default result bands for comparisons)

  • widgets.xml (if you want to add new gadgets)

  • matchlibrary.properties (optional text file facilitating internationalization of labels)

  • widgets.properties (optional text file facilitating internationalization of labels).

These JAR files need to be copied to the oedq_local_home\localgadgets folder. The new matching functionality will be automatically deployed and available within all match processors when the EDQ Application Server service is restarted on the server.

For further examples of custom-created gadgets, and how to create your own, please contact support.

Selection Functions

Selection functions are defined using a similar mechanism to widgets and gadgets, using a widgets.xml to define the selection function file and a widgets.xml file to facilitate internationalization.

Selection functions should be uploaded to the oedq_local_home\localselection folder. See the Example custom output selector topic for more details.

Importing Extensions

Extensions are imported and managed using the Extensions in the EDQ Administration application.