OpenWGA 7.10 - OpenWGA Concepts and Features

Design and development » Extending OpenWGA » OpenWGA java modules

Browsing the module registry

In order to get a clear picture about the module registry it is helpful to browse the contents of this registry for an existing OpenWGA server. A plugin is available for that in the OpenWGA plugin store called Module Registry Browser. On any OpenWGA server do the following:

  • Open the OpenWGA admin client and navigate in the menu to "Plugins / Plugin Store".
  • Find the plugin called "Module Registry Browser" under category "System" and install it via the given button. Confirm the plugin license and click "Install" again to commit the installation
  • After the plugin installation has finished reload the complete page of the admin client, then navigate to menu "Tools" and find the new entry "Registry Browser" there. Click it to bring up the module registry browser

The registry browser looks like this:

screenshot_73.png

In the tree on the left you get to choose a module type whose registered module definitions are to be displayed. Clicking it will bring up a module type description on the top right and a list of registered module definitions of that type below it.

About the type description:

  • Type class is a Java class representing the module type
  • Description should be a short description about what this module type is used for
  • Base type for implementations may be a parent class or interface which implementors of this module type must subclass/implement
  • Keybased tells if modules of this type are also identified by a given string key. WebTML encoders for example (as shown in the screenshot) are identified by a string key, which also is the one that is actually used in WebTML attribute encode to address them.
  • Self-registered is quite an internal flag, used for module definitions that have no implementation class and therefor register themselves as implementation.
  • Properties needed identifies if module definitions of this type must publish additional properties in order for OpenWGA to use the module
  • Properties type identifies a java class which is expected as property object

The list of module definitions finally shows some of this data for each module. On the screenshot you see that every registered encoder has a specified definition class, which is the class which implements the encoder functionality. It also features a small description and, in the case of the keybased encoder module type, also a registration key by which the individual encoder may be fetched.

If you wonder why some encoders which are available to WebTML are not included in the list, like "html" for example: Some older internal encoders are not embedded to OpenWGA via registry but via proprietary functionalities because of historic reasons. The encoders added via module registry have nevertheless the same feature set.

On some module definitions of other module types you will also see options defined for individual module definitions, and that they are known to the registry with title, description and a value type.

The information listed in the module registry browser is of importance if you plan to create your own modules, so we are going to use this tool when we start developing such a module.