Version 3.2 patchlevel 04 release note

Changes

Module definition

ModuleLink

The object ModuleLink has been added to the project configuration. It explains 2 modules dependency:

For example the ALMTest module has dependencies with the translations modules:

Design and controls

Modeler

A new Model template ModelModule can design the modules dependencies. For instance, the system hierarchy looks like this:

Example

Let's have 2 modules

If the module link is set to:

And the designer can not add a reference to the Invoice in the Client.

Field operations on list

The field operations (sum, avg, min, max) are now made during the object search (in the getCount method). So the displayed total on the list bottom is no more restricted to the paginated lines, but calculated with the filters.

Placeholder

The field translation has been released to set optionally a HTML placeholder. This placeholder is used by the runtime only on textual fields.

Shortcuts

History button

The old list has been replaced with a dropdown clock button.

Group translation and Service to register

Example:

User registration

The registration has been release to support the Group translation.

Example:

Script errors - Logger

Debugging scripts is often hard when lots of scripts are loaded.

To help designers, the internal logger can now join the script name and the code part that contains compilation errors (javascript syntax...) or runtime faults (null pointer, unknown function...).

If the websocket is open, the error is also displayed in the browser console:

Vector/Hashtable deprecated

Vector and Hashtable have been replaced by ArrayList and HashMap in the runtime and hooks And all java method signature have been replaced by List and Map.

It is strongly recommanded to change the application scripts.

Vector and Hashtable implement the same interface as ArrayList and HashMap, so it should work if scripts use them (get, add, put...) but it will generate runtime errors if they use specific ones (elementAt, insertElementAt...)

ANT tasks

dbdrop

The new target dbdrop drops everything in the database. It is called during a fulluninstall on Oracle, MySQL and PostgreSQL.

fullupgrade

The new target fullupgrade allows to upgrade the platform from any version 3.x.y to the current one. It works like a fullinstall except deletions:

Before processing:

During task:

After processing:

upgrade and applysystempatches

The task applysystempatches has been reworked to pass automatically new patches. All patches already passed patches are saved on a new property files patches.properties.

So you don't have to worry anymore about which maintenance patches has been passed or not.

When a new minor version is available just launch the upgrade ant task. Stop and start your server when asked by the task.

To pass a specific patch twice, remove it from patches.properties files (db and conf properties) and launch applysinglesystempatch.

API tester

A new standalone servlet has been created to test the APIs.

A simple preview can be displayed when content-type is supported:

nota: in this version only REST services are implemented in the tester.

GrantHooks.logout

This new hook is called before a user logout to add specific code/script: