This document describes the steps needed to upgrade the edoras one application to 1.5.0.S126.
Please stop the edoras one server, perform all upgrade steps described below and then restart the server again at the end.
Duplicate definition keys
Since release 1.5.0.S107 the edoras one server has shown a warning if duplicate definitions are found with the same key:
This system has multiple task definitions with the same key that were probably created by known use cases. For installations created before 1.5.0.S107 this is expected (contact edorasware support for advice on removing this warning). For installations created after 1.5.0.S107 you should contact edorasware support for assistance.
We have updated the duplicate key check in this release so that it is now possible to fix the definitions that trigger this warning. For systems with old duplicates this allows the existing problems to be fixed and the warning to be 'reset'. If new duplicate definition keys are encountered at a later date then they can be detected properly and the cause investigated.
To fix any existing duplicate key problems, start the server with the property fix.duplicate.definitions
set to true
.
The keys that have been fixed will be recorded in the server log. Once this has been done, the flag can be reset to false
so that any errors that are found later will be detected and reported instead of being immediately repaired. If you see any
such warnings after fixing the old definitions then please contact edorasware support.
Elasticsearch full index changes
Support for additional variable types
FullIndexConfiguration
has been extended to correctly index work object variables with the following types:
-
Id
(and subtypes) -
Date
-
Boolean
-
Set
-
XmlString
Any variables with types that are still unsupported will now produce a warning in the server log and the variable concerned will not be indexed. The remaining unsupported types are rarely used ones supported by edoras gear but generally not suitable for use in edoras one.
If you have an existing index and need to search or access variables with these types in the index then a full index resynchronisation will be required to populate the missing information.
New FullIndexSearch helper methods
The FullIndexSearch
helper class has some new methods. The countWorkObjects
and countWorkObjectDefinitions
methods return the number of matches for a given query, and the findWorkObjects
and findWorkObjectDefinitions
methods now have overloaded variants that support sorting and paging.
Configurable content limit for resynchronization
FullIndexConfiguration
now allows the size of indexed content to be limited during a full index resynchronisation.
By default, no limit is applied, but setting the full.index.content.limit
property value will prevent indexing of
content that exceeds the given size limit.
Using this option means that some content may not be indexed, but it may be necessary to avoid problems that arise from sending excessively large content to the elasticsearch server.
An alternative solution for large content support would be to use a custom index configuration that extracts smaller indexable content from the original and sends this to the elasticsearch index instead.
Service usage simplifications
The main services which have been removed are the following:
-
CloudWorkObjectDefinitionService
-
CloudWorkObjectWriteService
These were replaced with the following standard edoras gear services:
-
AnyWorkObjectDefinitionService
-
GenericWorkObjectService
In the next sections we will show in detail how to migrate from the old services to the new ones. Besides these changes we also moved some parts of these services to other utility classes. These are the changes:
-
Removed the
BpmUtils
class and moved thelatestVersionByKey(…)
method to theOneUtils.filterLatestActiveDefinitions(…)
method. -
The
com.edorasware.cloud.core.service.WorkObjectServiceLookup
class has been removed. If you used it please try to use theGenericWorkObjectService
instead. -
The
com.edorasware.one.caze.internal.DefaultCaseArchiveManager
now uses theGenericWorkObjectService
instead of the oldCloudWorkObjectWriteService
. Please adapt the Spring configuration if you modified (overrode) its configuration. -
The
com.edorasware.one.content.ContentManagerHelper
class now does not need theCloudWorkObjectWriteService
anymore as dependency. Please adapt the Spring configuration if you modified (overrode) its configuration. -
The
com/edorasware/cloud/core/config/workobject-config.xml
Spring context file has been removed and thesearchService
bean definition has been moved to thecom/edorasware/cloud/core/config/search-config.xml
Spring context file.
CloudWorkObjectDefinitionService
changes
The following table shows all the public methods of the CloudWorkObjectDefinitionService
service and how to replace them with the
AnyWorkObjectDefinitionService
.
Old method | Replacement |
---|---|
|
|
|
|
|
|
throws |
does not throw an exception and you need to implement the logic by yourself if this is a requirement |
|
|
|
|
|
|
|
|
|
To replace this method you need to use the service which matches your definition type: if the definition is a |
CloudWorkObjectWriteService
changes
The following table shows all the public methods of the CloudWorkObjectWriteService
service and how to replace them with the
GenericWorkObjectService
.
startWorkObject(WorkObjectDefinitionId definitionId, WorkObjectId parentId)
Old method | Replacement |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bootstrap project
Here you will find a list of files which have changed in the bootstrap project since the last release. This helps you check the difference between your bootstrap project version and the current one:
-
src/main/resources/com/edorasware/bootstrap/config/one.properties
-
added the
fix.duplicate.definitions
andfull.index.content.limit
properties