Exceptionally a system database migration is needed with this Update Release to improve the performance of Case and Task queries.
Rich Dialog (ULC) technology has been removed completely. Axon.ivy 7.0 LTS is the last version where Rich Dialogs (ULC) are fully supported.
You must convert Rich Dialogs (ULC) to HTML Dialogs (JSF) in all your projects or stay with version 7.0 LTS. For this reason the ULC based Admin UI was replaced with the web based Engine Cockpit.
The engine deploys the Axon.ivy Portal
to an application that is called DemoPortal
if the engine runs in demo mode only.
In older versions the Axon.ivy Portal
was deployed to an application called Portal
, not only in demo mode but in production mode also. If you migrate from an older version, you will still have the application Portal
but the Axon.ivy Portal
projects are now missing. If you did not use the Portal
application, you are safe to delete it. If you used the Portal
application for productive workflows, you need to migrate it.
Portal
application, you need to do the following steps:
Portal
application. This can be done by writing an app-Portal.yaml file to the [[newEngineDir]/configuration directory and set the Data.FileDirectory
property. See below.Portal
application from directory [[oldEngineDir]]/system/applications/Portal to the new file directory of the application [[newEngineDir]]/applications/Portal.PortalConnector
from directory [[oldEngineDir]]/system/applications/System/PortalConnector to the new location at [[newEngineDir]]/system/application/PortalConnector.Example app_Portal.yaml file:
Data:
FileDirectory: applications/Portal
We removed libraries from Axon.ivy Classpath container and therefore they can no longer be used in Axon.ivy projects. Removed were the classpath scanning library reflections-0.9.8.jar
and the findbugs library annotations-2.0.3.jar
.
If you have used these libraries in your project, you must add them to your projects manually. Afterwards a re-deployment of the updated projects is required to avoid NoClassDefFoundError
s at runtime.
Many engine configuration aspects were hitherto stored in the system database and managed by the Admin UI. During the system database conversion many configurations will be ported from the database into the ivy.yaml
file.
After the database conversion, the configuration files should be reviewed manually for their correctness. Most configurations in these files can be configured using the new Engine Cockpit UI.
Removed Properties from System Database
System-, Application- & Cluster-Properties are now read directly from the yaml configuration files. The properties of your system database are written to your ivy.yaml
or ivy.cache.properties
file during the database conversion. Only a few internal properties will stay stored in the database. Cluster Properties are not supported any longer. For cluster usage you need to define a separate ivy.yaml
file for every node.
Please check the ivy.yaml
file if the converted values are valid.
Removed Security System Configuration from System Database
The security system configuration is now read directly from the yaml configuration files. The configuration in your system database is written to your ivy.yaml
file during database conversion.
Please check the ivy.yaml
file if the converted values are valid.
Many APIs and database tables have changed through the introduction of the new Custom Fields features on Tasks and Cases.
Consequently, many APIs have been deprecated and should no longer be used. However, to keep your application operating no adjustments should be required. We kept the legacy APIs functional and running. As system administrator you should verify that the newly introduced database tables are included in your regular backups.
Some ITask
and ICase
API was deprecated The numbered custom fields on ITask
and ICase
have been deprecated e.g.:
ITask.setCustomVarCharField1(String)
ITask.getCustomVarCharField1()
ITask.setCustomDecimalField1(Number)
The same for the business fields on ITask
and ICase
:
ICase.setBusinessCreatorUser(String)
ICase.getBusinessCreatorUser()
And for the categorization fields on ITask
and ICase
:
ICase.setProcessCategory(String, String)
ICase.getProcessCategoryCode()
ICase.getProcessCategoryName()
Use the new Custom Fields instead.
To categorize your Tasks and Cases you should still use ICase.setCategoryPath(String)
and ITask.setCategoryPath(String)
.
The corresponding columns have been removed from the system database tables (IWA_Task
, IWA_Case
). The data stored in those columns gets migrated to the new Custom Field tables (IWA_TaskCustom*Field
, IWA_CaseCustom*Field
). The deprecated setter and getter methods on ITask
and ICase
still work but now read and write data to the new Custom Field tables.
Note that the CaseQuery
and TaskQuery
API are backwards compatible. If you have used the recordset API ch.ivyteam.ivy.persistence.query.IFluentQueryExecutor.recordset()
to read Cases and Tasks then be aware of that these columns will not be part of the recordset anymore.
The inscription mask tab for the numbered custom fields, business information fields and categorization fields were removed. You can find your old inscriptions now in the new custom field inscription mask table.
Until now, you could use macros for the categorization fields; they are now converted to ivy scripts. There is one special case that won't be supported anymore: Macro expansion within macro expansion. For example: The macro <%= ivy.co("/pathInCms") %>
reads the content from the specified cms path. If there is a macro in the specified cms path, this macro will not be expanded anymore.
Additional Properties have been deprecated:
ch.ivyteam.ivy.workflow.IAdditionalPropertyable
implemented by ITask
and ICase
ch.ivyteam.ivy.workflow.IWorkflowContext.findTask(String, String, ...)
ch.ivyteam.ivy.workflow.IWorkflowContext.findCase(String, String, ...)
ch.ivyteam.ivy.workflow.query.TaskQuery.create().where().additionalProperty(String)
ch.ivyteam.ivy.workflow.query.CaseQuery.create().where().additionalProperty(String)
Use the new Custom Fields instead.
The tables used to store Additional Properties for Tasks and Cases (IWA_AdditionalProperty
, IWA_TaskAdditionalProperty
, IWA_CaseAdditionalProperty
) have been removed from the system database. The data stored in those tables is migrated to IWA_TaskCustomTextField
and IWA_CaseCustomTextField
during the system database conversion. The deprecated Additional Properties API still works but now reads and writes data to the new Custom Field tables.
Note that search performance for Text Custom Fields is worse than those of the other Custom Field types. Consider using String, Number or Timestamp Custom Fields instead of Text Custom Fields.
All inscribed business calendar names on case and task tab will be automatically converted to the newly introduced script fields. ivy.cal
in task inscription is not mapped anymore to the business calendar name that has been inscribed in this tab.