This document informs you in detail how to migrate the data and
projects of an existing Xpert.ivy Server 4.3 installation to a new 5.0
installation.
 |
Xpert.ivy Server 5.0 is able to work
with projects that are developed with Xpert.ivy Designer 4.2 (Project
version 41917) and newer. However, because of the stricter generic java.util.List support we suggest
that you check your deployed projects in the Designer before migrating
a server to 5.0 to ensure that the projects will run without problems.
Older projects need to be converted in the Xpert.ivy Designer first
and then need to be redeployed to the upgraded server.
|
Since 5.0.4 the ivy server contains an updated library for cluster communication. This library called JGroups, has been updated to the latest stable version 3.3.4. Therefore the configuration under configurations/jgroups.xml is no longer compatible with older cluster configurations which have been created before 5.0.3. So please do not copy this configuration file from an older version.
The Xpert.ivy Server 5.0 requires a new licence. Please contact your sales agent to upgrade your license.
Consult the article "Installing a Licence" in the Installation chapter of the Server Guide to learn how to install the new license.
Configuration in web.xml
If you have modified the web.xml under webapps/ivy/WEB-INF,
please do not copy the whole content of your current web.xml to the new Server.
Only copy parts you have modified, otherwise the Server will not start.
The support for generic instances of
java.util.List has been
enhanced. IvyScript now evaluates the member type of a
java.util.List<?> implementation (see
NewAndNoteworthyDesigner).
Java instances of java.util.List which had generic type
information lost their membertype when they were used with IvyScript before 5.0
and were treated as instances of List<Object>. Therefore
IvyScript allowed to add objects to a list, which did not have the required
member type.
For example, the parked work tasks of a session have the type
List<ITask> . Using the session API, the following
assignment was possible:
ivy.session.findParkedWorkTasks(0,1).add("iAmNotATask");
With Xpert.ivy 5.0 this bug has been fixed and untyped assignments of this
kind are no longer tolerated. If your code contains assignments as shown above,
Validation will now show an error marker for it at design time and exceptions
will be thrown at runtime.
If you have used java.util.List instances in IvyScript you
should check your project for error markers before you execute it on a
Xpert.ivy 5.0 server.
BIGINT (64 Bits) Database Keys
All primary and foreign keys in the system database have been changed from
32 bit to 64 bit numbers. Therefore, the system database will need a bit more
storage space after converting it to the latest version. The conversion of the
system database may need several minutes up to hours depending on the amount of
data.
Therefore, all API's which uses Integer (32 bit) identifers are deprecated.
For more details see the Designer
Migration Notes. Everytime a deprecated API is called a warning will be
logged. To suppress this warning you can enable the following configuration in
the configuration/log4jconfig.xml file by removing the comment
tags around it:
<category name="ch.ivyteam.ivy.persistence.restricted.TableKeyCompatibilityConvertor"
class="ch.ivyteam.log.Logger">
<priority value="ERROR"/>
</category>
For system databases that are stored in IBM Db2 System i (AS400, iSeries) a
special setting is necessary before converting the system database. See system database conversion document for more
information.
The advanced configuration of the Active Directory has been enhanced.
When a administrator changes the 'User Filter' to a more restrictive one,
then users who are no longer part of the user filter should be deleted. This
was not the case and is fixed now. Therefore:
- If the configuration of the the 'User Filter' was
changed on a existing Xpert.Ivy Server, then an update to this
version will delete obsolete users on next synchronisation.
- If the configuration was never changed and it it still the default
"
(&(objectClass=user)(!(objectClass=computer)))", an
update will have no effect.

To view the advanced configuration, press 'show advanced settings' on the
bottom of the panel.