Updates Management

Administration PageApplication/ContractSyracuse/CollaborationClassupdatesRepresentationupdate

Update is a function that can be used to patch Sage X3 endpoints in an easiear way than the traditional patch process. The aim of this function is to allow one-click updates. The way it works is that you upload the updates supplied as a zip file, creating an update record in the process. You can then modify the list of endpoints and the folders you want to update.

Two operations are possible with update records:

Information associated to updates

Update

This box allows you to upload the update file. You can drag and drop a file, or use the file explorer. The update file is a zipped file. It contains a list of directories and files as defined in the appendix.

As soon as the archive is uploaded, the application displays a description of the update.

Version

Displays the version number of the folder after the update.

Dependency

Displays the minimal version number required for a folder before you can apply the update.

Description

Displays a description of the update.

Scheduled

Displays at which time the update will be applied after you schedule the operation.

Release Note

Displays a link to the release note associated to the update.

Status

Displays the global status of the operation. "Successful" means that the update was successfully applied to each folder.

Patches

An update can contain several patch lists, some of which can be optional. This array contains the following information:

Name

The name of the patch

Description

A more detailed description of the patch

Mandatory

This check box defines whether the patch is mandatory or not.

Apply to endpoints

This grid can be filled with multiple selections from the Endpoint (Administration > Endpoints) list. You can click the arrow next to the reference folder to display the list of folders it contains:

For each folder, you can:

You might want to deactivate the update on some folders when:

Caution: Make sure that postponing the update of a folder will not make it unusable.

Operations available on a patch

Test update

This function is executed in asynchronous mode. It tests whether the conditions required to apply the patch are fulfilled for each folder in the list. It also checks the version dependencies. A popup displays the progress of the execution:

Apply update

This function is also executed in asynchronous mode. It applies the update to each folder in the list.

Technical details about patch testing or application

Execution order

Updates are applied level by level, starting with the top folder. Folders at the same level are updated in parallel. Folders that are lower in the hierarchy are updated after that.

Resuming a patch application after an error

If the application of the patch fails for any reason, the corresponding error status is displayed on the corresponding folders.

If the error is linked to an inconsistency on a folder, you have to fix it before you can try to apply the patch again. To restart the patching process, go back to the patch application (or refresh the page) and launch it again. The system automatically restarts and applies the patch, starting from where it stopped before.

Appendix: format of the patch archive

The patch archive contains:

Below is an example of such a file:

{"name": "X3_ProductUpdate_9.0.17","version": "9.0.17","dependency": "9.0.16","description": "Update 9.0.17","releaseNote":"Release note.pdf","patches": [{"name": "Syracuse 9.0.17","description": "Import files for Syracuse","type": "Syracuse","mandatory": true,"path": "SYRACUSE"}, {"name": "X3 9.0.17","type": "X3","mandatory": true,"path": "FILPATCH","description": "Patch for X3 (standard)"}, {"name": "TESTBRA","type": "X3","mandatory": false,"path": "TESTBRA","legislation": "BRA","description": "Patch for BRA"}]}

Where:

name

Uniquely identifies the update. It is used as a key in the database. Its format is as follows: char(30), X3 code format, uppercase, no special characters, no whitespace.

version

The version of the product after the integration of the update.

dependency

Defines on which version of the product the update can be applied.

description

Open field.

releaseNote

Contains the path of the file containing the release note in the archive. In this example, it is stored in the same folder as the update.json file.

patches

Collection that describes the patches contained in the archive.

name

Uniquely identifies the patch. It is used as a key in the database. Its format is as follows: char(30), X3 code format, uppercase, no special characters, no whitespace.

description

Describes the purpose of the patch.

type

Defines the type of checks to be performed for this patch: X3, HR, GX, IND, DIV, HRH, HRO, or DOC.

mandatory

Mandatory aspect of this patch (true/false).

path

Indicates the path of the directory containing the files that make up the patch.

legislation

If this attribute has a value, it indicates that the patch does not have to be applied on folders that do not manage this legislation.