WebTML Portlets are a concept to develop functional parts of a WebTML page in a real modular and portable way.
WebTML Portlets are WebTML modules that are included in a special way. This special way unlocks special features which the module code can utilize to accomplish the goals stated above. Among these features are special portlet resources which are only accessible by the portlet:
- WebTML variables that are only visible inside the portlet
- A persistent "Portlet Configuration" which is a part of the user profile that is reserved for the individual portlet
- An optional portlet context letting the portlet operate in the context of a special content document
Additionally using WebTML portlets enables the following built-in features:
- AJAX enabled updates: Calling a WebTML action does not reload the complete page but merely reloads the page part of the current WebTML portlet
- Mode management: A WebTML portlet may be rendered in different modes where each mode represents a special way to display it
- Event messaging: Portlets may throw events that other portlets may subscribe to and react on
The following conditions must be met for rendering WebTML portlets:
- The current user must have a user profile. This may not always be the case dependent on the personalisation mode of the application. It is guaranteed that on personalisation mode "Automatic / Cookie based" everyone has a profile all the time. This is not the case for personalisation mode "login" where an anonymous user has no profile and therefor cannot render WebTML portlets. So ensure that you choose a personalisation mode for your app where your users have user profiles when you use WebTML portlets.
Contrasting WebTML portlets and JSR168 Java Portlets
WebTML portlets may feature-wise closely resemble other portlet concepts like the Java JSR168 portlet. However they have no direct relation to that and are by concept a much more lightweight approach which is not primarily meant to be used in some kind of "portal".
Instead WebTML portlets are intended to be usable on every occasion in WebTML where their feature set is needed, no matter if the project is an application, a portal or merely a simple website.
They are also not meant to be distributed separately as some kind of "portlet application" like JSR168 intends (although that is possible). An OpenWGA application may utilize hundreds of WebTML portlets that are all part of the same application design.
Table of contents:
- Changes to portlets since OpenWGA 6.2
- Including a WebTML module as portlet
- The portlet hierarchy and portlet paths
- Portlet modes
- Portlet configuration, variables and context
- Portlets and AJAX