OpenWGA 7.0 - Updating to OpenWGA 7.0

Updating from OpenWGA 6.0 » To consider before updating

Need to recompile and adapt external Java functionalities

If you use any functionalities based on custom Java code in your OpenWGA projects or plugins you should recompile these against OpenWGA 7.0 libraries to use them with this version. The reason for this are three changes to the OpenWGA Server API done between 6.0 and 7.0:

Changed exception scheme

Most methods of the OpenWGA Server API now throw de.innovationgate.webgate.api.WGException, as this is the absolute root exception for OpenWGA. We chose to go down to this level for all but the most trivial methods so in future we can allow the OpenWGA Server API to stay stable regarding this exception scheme, no matter how backend operations inside this API may change. You might need to adapt your Java code to treat these exceptions.

Interfaces instead of undocumented classes

In earlier OpenWGA versions the methods of the OpenWGA Server API used some classes as parameters or return values that were never documented, as these classes are not really part of the server API. Not all of their functionalities is meant for public use as some may be dangerous to the OpenWGA runtime.

Now the OpenWGA Server API uses interfaces of these classes as return or parameter types instead. These interfaces are now thoroughly documented and contain only those functionalities meant for public use. However this is a change of class interface which makes it necessary to recompile Java functionalities that use them.

Because of this you also might need to adapt your custom Java functionality to use these interfaces instead of their predecessor classes, so you can compile your custom Java code against the 7.0 libraries:

  • de.innovationgate.wgpublisher.webtml.utils.TMLContext becomes de.innovationgate.wga.server.api.tml.Context
  • de.innovationgate.wgpublisher.webtml.form.TMLForm becomes de.innovationgate.wga.server.api.tml.Form
  • de.innovationgate.wgpublisher.webtml.utils.TMLPortlet becomes de.innovationgate.wga.server.api.tml.Portlet
  • de.innovationgate.wgpublisher.webtml.utils.TMLUserProfile becomes de.innovationgate.wga.server.api.tml.UserProfile
  • de.innovationgate.wgpublisher.webtml.form.FormInfo becomes de.innovationgate.wga.server.api.tml.FormInfo

Refactored WebTML form classes

For OpenWGA 7.0 many of the Java classes forming WebTML form functionality got refactored and were moved to a new Java package "de.innovationgate.wgpublisher.webtml.form". This has no impact on TMLScript functionalities but maybe on custom Java components.

If your custom Java components use internal WebTML form classes then they may need to be refactored to use the new Java class names in order to be compatible with OpenWGA 7.0.

Potentially effected classes may be:

  • de.innovationgate.wgpublisher.webtml.utils.FieldReg
  • de.innovationgate.wgpublisher.webtml.utils.FormInfo
  • de.innovationgate.wgpublisher.webtml.utils.ProcessContext
  • de.innovationgate.wgpublisher.webtml.utils.TMLFormField

Most of this classes however were never subject to official OpenWGA API and it is unlikely that they were used in custom Java code.