OpenWGA 7.0 - Updating to OpenWGA 7.0
Updating from OpenWGA 6.0 » To consider before updatingNeed 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.