Revamped WebTML Portlets
A new WebTML Portlet Engine was created whose behaviour better fits the way portlets are used in modern applications. Portlets now use HTML5 features to manage state for each individual browser window. Therefor portlet apps are now "multi-window-capable". Also the memory and performance impact for having very many portlets in applications was drastically reduced.
However all this happens "under the hood" and there is no need to re-learn using portlets for all but the most ambitious usage forms.
If there is anything not going right with your server - low disk space, unconnectable databases, unusable designs or anything else - OpenWGA admin client will tell you in the Problems View (available on the "Runtime" menu), a condensed view of everything that may cause problems on the current runtime and the administrator should be aware of. This should allow him to solve those problems before your customers run into them.
OpenWGA Content Manager Features
- OpenWGA Content Manager also uses the new WebTML portlet engine and is now also capable of being run in multiple browser windows in parallel.
- A new ACL level "Chief Editor" is introduced, well suited for leading editors with manager-like functional responsibility, but who nevertheless prefer the technical guidance available below manager level.
- Dynamic ACL Levels: Even users at manager level start their working day in OpenWGA Content Manager on the level of "Chief Editor", enjoying the better guidance there. They only enter manager level if needed, i.e. when they need a special capability that is only available on this level (which is actually a quite rare situation).
In fact a manager can choose to temporarily work in even lower levels, for example as simple "editor" to see what an author at that level is offered.
- Views for responsive designs are available in OpenWGA Content Manager. The next basic website kit version 1.3 will have support for responsive designs (designs that adapt to various screen sizes automatically) prepared. This CM feature simulates the screen sizes of smartphone and table devices for designs supporting this feature, so an author can see how the content of his site lays out on those sizes.
- A new field "browsertitle" is available for content documents, which can be used as a separate title to use for the browser window title when the document is loaded.
Notable Enhancements in WebTML, TMLScript and Server API
- A <tml:inline> is a <tml:option> which has a dynamically generated value - rendered on option retrieval rather than definition - and is very efficient when used with WebTML portlets and AJAX.
- Service APIs are a new facility of the OpenWGA Server API which offer specific internal OpenWGA functionalities, like registering temporary downloads, hashing passwords or sending administrative notifications, previously not available to public APIs.
- Features are introduced to TMLScript for implementing an Opt-in for storing personalisation data on OpenWGA website designs.
- Parameters on WebTML portlet events may now be of types Number, Date or Boolean and can also be retrieved by that type on the browser client.
And the rest...
See an overview of all enhancements by clicking the following collapsed section:
OpenWGA 6.2 Enhancements Overview
- Introduction of a database UUID for OpenWGA Content Stores of version 5
- Introduction of database-managed sequences for OpenWGA Content Stores of version 5
- New native option "update" on SQL queries
- Introduction of user access filters
- New flag "Used for authoring" on content types, denoting types that are available to authors (in contrast to those that are not)
- New field "Browser title" on contents, a title for display on the browser window title
- Uses new WebTML portlet engine with transient portlets and client-stored state by default (with design compliance of 6.2 or higher). Old portlet engine still available for lower compliances.
- New WebTML form source "portletsessionvars", storing all fields as session variables for the current portlet
- New tag <tml:inline>, an option with dynamic value generation on retrieval
- Apps can be adressed by their UUID
- WebTML label parameters are now also encoded with WebTML default encoding (with design compliance of 6.2 or higher)
- SIngle quotes are now also encoded to HTML entities with WebTML encoding "html" (with design compliance of 6.2 or higher)
- New WebTML encoders: "oneline", "concise" condense the contents of a text to a single line
- New WebTML context expressions "contenttype" (searches a page of a specific content type up the hierarchy), "module" (returns to the original context of the current WebTML module)
- Portlet event parameters may now be Numbers, Dates or Booleans and are also available by these types on the browser client
- WebTML default actions "$setvar", "$setsessionvar", "$setpvar" and "$setpsessionvar" gain a mode where they store all fields of a posted WebTML form as variables of the according type
- TMLScript / WGA Server API
- New property Design.tmlMedium provides the current WebTML media key
- New property Design.tmlDefaultEncoding provides the default encoding of a design
- New method Design.plugins() provides all plugins from which the design originates
- New method WGA.Jobs.runTask() runs a custom Java task as transient job
- New property WGA.Server.version provides the OpenWGA server version
- New method variant WGA.Xml.xpath[List](node, xpath, namespaces) allows to provide namespace prefix definitions to be used in the XPath expression
- New method WGA.toList() provides the list conversion known from TMLContext.itemList() for arbitrary values
- New methods WGA.service() and WGA.serviceClasses() provide access to the new OpenWGA Service API facility, offering internal OpenWGA functionalities
- New methods Auth.applyAccessFilter(), Auth.removeAccessFilter() and Auth.getAccessFilter() allow setting a user access filter for a user session
- New method Design.layoutURL() should be used to generate contextless layout URLs adressing a WebTML module (legacy method TMLContext.layoutURL() is deprecated)
- New property App.luceneIndexed informs if a Lucene fulltext index is available for the app
- New methods Design.addProblem() and Design.startProblemOccasion() allows designs to register problems for the problem view in OpenWGA admin client.
- New method TMLContext.portletByPath() allows retrieving portlets by a path syntax, addressing their hierarchical relationship and names
- New properties and methods WGA.isFirefox, WGA.isIE, WGA.isSafari, WGA.isAndroid, WGA.isGecko, WGA.isIPad, WGA.isIPhone, WGA.isMobile, WGA.isWebkit, WGA.IEVersion() and WGA.fireFoxVersion() offer introspection of the currently used browser
- The menu "Runtime > Registered problems" on OpenWGA admin client provides a view of known problems of the runtime, URL that were called and could not be served as well as requests that took long to process.