Kit Divalto infinity - Rétrocompatibilité

Introduction

Ce document décrit la rétrocompatibilité de l'export des « Events » depuis weavy et leur intégration dans Divalto infinity selon la version des logiciels.
Nous avons également vérifié la rétrocompatibilité des extractions par le « ControlCenter » et par l'« Agent » des données depuis Divalto infinity selon la version du kit et de l'ERP.
Le but étant d'apporter une solution efficace à l'utilisateur confronté à ce genre de problèmes.

La dernière version du kit est la 6.0 pour être en phase avec la version SUMMER’23 de Divalto weavy.
Elle est également totalement intégrée à la version 10.10 de Divalto infinity.

Versions logicielles

Petit rappel sur les différentes versions de Divalto infinity, Divalto weavy et du kit de connexion avec leurs dates de sorties.

Divalto infinity

  • 10.10 : 26/05/2023

  • 10.9 : 25/11/2022

  • 10.8 : 25/05/2022

  • 10.7 : 19/11/2021

  • 10.6 : 28/05/2021

  • 10.5 : 20/11/2020

  • 10.4 : 22/11/2019

  • 10.3 : 23/11/2018

  • 10.2b : 30/11/2018

  • 7.5e  : 14/12/2018

Divalto weavy

  • 6.0 - Summer' 23 : 23/05/2023

  • 5.7 - Winter' 22 : 22/11/2022

  • 5.6 - Summer' 22 : 17/05/2022

  • 5.5 - Winter' 21 : 16/11/2021

  • 5.4 - Summer' 21 : 18/05/2021

  • 5.3 - Winter' 20 : 17/11/2020

  • 5.2 - Summer' 20 : 11/06/2020

  • 5.1 - Summer' 19 : 17/10/2019

  • 5.0 - Spring' 19 : 16/05/2019

  • 4.8 - Winter' 19 : 28/02/2019

  • 4.7 - Summer' 18 : 18/09/2018

  • 4.5 - Spring' 18 : 24/05/2018

  • 4.4 - Winter' 18 : 22/02/2018

Kit de connexion

  • 6.0 : 23/05/2023 (Divalto weavy 6.0 - Summer' 23)

  • 5.7 : 22/11/2022 (Divalto weavy 5.7 - Winter' 22)

  • 5.6 : 17/05/2022 (Divalto weavy 5.6 - Summer' 22)

  • 5.5 : 16/11/2021 (Divalto weavy 5.5 - Winter' 21)

  • 5.4 : 18/05/2021 (Divalto weavy 5.4 - Summer' 21)

  • 5.3 : 17/11/2020 (Divalto weavy 5.3 - Winter' 20)

  • 5.2 : 02/07/2020 (Divalto weavy 5.2 - Summer' 20)

  • 5.0 : 27/11/2019 (Divalto weavy 5.1 - Summer' 19)

  • 4.1 : 12/04/2019 (Divalto weavy 4.8 - Winter' 19)

  • 4.0 : 30/11/2018 (Divalto weavy 4.5 - Spring' 18)

Compatibilité Event

Tableau des compatibilités

Ce tableau est le résultat du cumul de la compatibilité des intersections des fichiers exportés dans l'event + Divalto weavy avec kit + Divalto infinity (cf détail des compatibilités dans l'annexe 1).
Il permet de savoir vers qu’elle version du kit downgradé nous voulons tendre et le tableau « Compatibilité par fichier » de l’annexe 1 permet d’affiner celà.

 

INFINITY 

 WEAVY

7.5e

10.2b

10.3

10.4

10.5

10.6

10.7

10.8

10.9

10.10

4.8 - Winter' 19
Kit 4.1

x

x

x

x

x

x

x

x

x

x

5.1 - Summer' 19
Kit 5.0

(1)

(1)

(1)

x

x

x

x

x

x

x

5.2 - Summer' 20
Kit 5.2

(1)

(1)

(1)

x

x

x

x

x

x

x

5.3 - Winter' 20
Kit 5.3

(1)(2)

(1)(2)

(1)(2)

(2)

x

x

x

x

x

x

5.4 - Summer' 21
Kit 5.4

(1)(2)

(1)(2)

(1)(2)

(2)

(2)

x

x

x

x

x

5.5 - Winter' 21
Kit 5.5

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

x

x

x

x

5.6 - Summer' 22
Kit 5.6

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(2)

x

x

x

5.7 - Winter' 22
Kit 5.7

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(2)

(2)

x

x

6.0 - Summer' 23

Kit 6.0

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

(1)(2)

x

x : compatible
(1) : fichiers exportés par event depuis Divalto weavy mais non traités à l'import dans Divalto infinity (ex : equipement.txt, typeintervention.txt, typeequipement.txt, LinkToWeavy.txt, …)
(2) : fichiers exportés par event depuis Divalto weavy à downgrader (ex : equipementV3.txt -> equipementV2.txt, ContratV2.txt -> Contrat.txt, …)
Remarques : Weavy 4.8 – Winter' 19 est compatible avec toutes les versions de Divalto infinity mais nous traitons beaucoup moins de fichiers et cette version ne bénéficie pas de toutes les corrections qui ont été apportées depuis : donc non significatif !

Solutions

Généralités

A partir du kit 5.4 les fichiers « Event » permettant de faire un downgrade sont livrés en standard.
Dans le répertoire « …\Kit de connexion Infinity.Install\Interfaces », qui aujourd'hui contient les fichiers d'exports des interfaces, des sous-répertoires complémentaires par version de kit sont disponibles.

Chaque sous-répertoire « Event_vx.x.0.0 » contient les 4 fichiers « eventxxxxx.json » de la version dans laquelle nous souhaitons faire le downgrade, ainsi que les fichiers de dictionnaire « dictionary.json » et « metaData.json » de la version courante car nous ne voulons surtout pas modifier le dictionnaire de données.

Le sous-répertoire « DetailEvents », contient chaque action d'event individuelle (les fichiers sont différents selon les versions) ainsi que l'export global de l'automate « [Infinity] Export.swd » et l'export des stocks de l'automate « [Infinity] Export stock.swd » (uniquement depuis la version 5.5 du kit).

Remarque : si vous avez modifié les requêtes « Event » pour faire du spécifique, celles-ci seront perdues lors d'un downgrade. Il faudra penser à les remettre en place si nécessaire.

Downgrade par import configuration

Le principe est donc par le studio d'importer une configuration : Configuration -> Importer la configuration. Puis de charger le downgrade voulu.
Par exemple, je suis en 5.4.0.0 et je veux passer les events en 5.0.0.0 : je charge les données de « …\Kit de connexion Infinity.Install\Interfaces\Event_v5.0.0.0\ »

Attention la seule proposition de modification doit concerner les « Evénements ». Si une autre modification est proposée il y a un souci et il faut abandonner l'import de la configuration.

Bien vérifier l'onglet « Dictionnaire » qui doit être vide de toute proposition d'ajout, modification, suppression.
Ceci va donc gérer à la fois toutes les actions « [Infinity] Export … » et les automates « [Infinity] Export » et « [Infinity] Export stock.swd ».
A ce stade vous pouvez appliquer toutes les modifications d'Evénements ou les traiter au cas par cas si vous ne voulez pas tout modifier.
Une fois votre choix effectué il ne vous reste plus qu'à « Appliquer la configuration ».

Attention, il n'y aura pas de suppression d'action mais les actions inutiles ne seront plus appelées dans les automates « [Infinity] Export » et « [Infinity] Export stock.swd ».

Downgrade par import action

Le principe ici est de faire un import plus ciblé action par action sans passer par l'import de la configuration.
Par exemple, je suis en 5.4.0.0 et je veux passer l'action « [Infinity] Export Intervention » en version 5.0.0.0, j'importe les données de « …\Kit de connexion Infinity.Install\Interfaces\Event_v5.0.0.0\DetailEvents
[Infinity] Export Intervention.swd ».

Par contre, si une action devient obsolète, il faudra penser à la retirer manuellement de l'automate « [Infinity] Export ».

Il y a aussi possibilité d'importer tout l'automate (avec toutes les actions comprises).
Par exemple, je suis en 5.4.0.0 et je veux passer toutes les actions en version 5.0.0.0 ainsi que l'automate, j'importe les données de « …\Kit de connexion Infinity.Install\Interfaces\Event_v5.0.0.0\ DetailEvents
[Infinity] Export.swd ».

Au final, ceci revient à faire la même chose qu'un downgrade par import de la configuration.

Compatibilité ControlCenter/Agent

Tableau des compatibilités

Ce tableau est le résultat du cumul de la compatibilité des intersections des requêtes d'extraction du ControlCenter/Agent et la base de données Divalto infinity (cf. détail des compatibilités dans l'annexe 2).
Une version du kit est toujours liée à une version de Divalto weavy, donc le backend d'import sera toujours compatible.
Il permet de savoir s'il faut intervenir manuellement sur une requête d'extraction (modification ou activation/désactivation) et les différents tableaux « Compatibilité par fichier » de l’annexe 2 où il faut intervenir exactement.

 

INFINITY

 WEAVY

7.5e

10.2b

10.3

10.4

10.5

10.6

10.7

10.8

10.9

10.10

4.8 - Winter' 19
Kit 4.1

(2)

(2)

x

x

x

x

x

x

x

x

5.1 - Summer' 19
Kit 5.0

(2)

(2)

x

x

x

x

x

x

x

(1)

5.2 - Summer' 20
Kit 5.2

(2)

(2)

x

x

x

x

x

x

x

(1)

5.3 - Winter' 20
Kit 5.3

(1)(2)

(1)(2)

(1)(2)

(1)(2)

x

x

(1)

(1)

(1)

(1)

5.4 - Summer' 21
Kit 5.4

(2)

(2)

(2)

(2)

(2)

x

(1)

(1)

(1)

(1)

5.5 - Winter' 21
Kit 5.5

(2)

(2)

(2)

(2)

(2)

(2)

x

x

x

(1)

5.6 - Summer' 22
Kit 5.6

(2)

(2)

(2)

(2)

(2)

(2)

(2)

x

x

(1)

5.7 - Winter' 22
Kit 5.7

(2)

(2)

(2)

(2)

(2)

(2)

(2)

(2)

x

(1)

6.0 - Summer' 23

Kit 6.0

(2)

(2)

(2)

(2)

(2)

(2)

(2)

(2)

(2)

x

x : compatible (1) : intervention manuelle avec modification de requête (ou désactivation selon besoin) (2) : intervention manuelle avec activation/désactivation d'export

Solutions

Au niveau du ControlCenter/Agent, nous ne proposons pas de corrections automatiques, mais il faut rester dans une certaine logique manuelle car il faut savoir de quelles données nous avons véritablement besoin dans Divalto weavy.

Downgrade Agent

A partir de Divalto weavy 6.0, nous avons simplifié les différents downgrade pour l’Agent, en proposant un ensemble de scénarios prédéfinis par rapport à la version de Divalto infinity.

Vous n’aurez donc plus besoin d’intervenir manuellement sur les actions.

Il est à noter que les scénarios pour les versions 10.6 et 10.8 de Divalto infinity ne sont pas proposées car il s’agissait de versions temporaires d’une durée de vie maximale de 1 an et qui sont donc obsolètes aujourd’hui.

Il suffira donc d’activer le scénario lié à votre version de Divalto infinity et de paramétrer une périodicité ou des horaires fixes selon votre besoin.

Attention un seul scénario d’export doit être actif à la fois.

Downgrade par versioning

Si l'extraction dans le ControlCenter/Agent est versionnée (c'est-à-dire avec la version de Divalto infinity derrière le nom), il suffit de cocher la version désirée et de décocher la version en cours. Par défaut c'est toujours la version la plus récente qui est cochée.

Exemple pour l'extraction des opportunités/affaires :

Je suis en Divalto infinity 7.5e avec un kit en 6.0.

ControlCenter

J'active « Deal v7.5 » et je désactive « Deal vX.6 ».

Agent

J’active « 06.01. Deal v7.5 » et je désactive « 06.01.b. Deal v10.6 ».

Exemple pour l'extraction des utilisateurs :

Je suis en Divalto infinity 10.4 avec un kit en 6.0.

ControlCenter

J'active « baseuser » et je désactive « baseuser vX.6 ».

Agent

J’active « 03.01. Baseuser » et je désactive « 03.01.a. Baseuser v10.6 ».

Downgrade par désactivation

Si une extraction n'est pas utile dans votre projet Divalto weavy, il suffit de la désactiver.

Exemple pour l’extraction des données affaires :
Ces extractions ont été misent en place pour être compatible à partir de la version Divalto infinity 10.2.

Je suis en Divalto infinity 7.5e (ou toute version inférieure à la 10.2) avec un kit en 6.0.

ControlCenter

Je désactive toutes les actions de ce module.

Agent

Je désactive toutes les actions concernées.

Exemple pour l’extraction des données IM :
Ces extractions ont été misent en place pour le vertical métier « Installation & Maintenance ». Elles sont compatibles à partir de la version Divalto infinity 10.5.

Je suis en Divalto infinity 10.4 (ou toute version inférieure) avec un kit en 6.0.

ControlCenter

Je désactive toutes les actions de ce module.

Agent

Je désactive toutes les actions concernées.

Downgrade par correction

Si une extraction est utile pour votre projet Divalto weavy et qu'elle ne fonctionne pas , il faudra apporter une correction manuelle à la requête.
A l'exécution, nous pouvons par exemple avoir ce genre d'erreurs avec des colonnes qui n'existent pas dans la version infinity.

Début du traitement de l'action Contrat
CultureInfo : fr-FR
GetDataReader() : ERROR [42S22] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Nom de colonne non valide : 'ELEMNNO'.
ERROR [42S22] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Nom de colonne non valide : 'AFRINDICE'.
Erreur lors de la lecture des enregistrements.Contrat
Fin du traitement de l'action Contrat

Une bonne correction de la requête n'est pas de supprimer les colonnes en erreur dans l'extraction mais plutôt de laisser la colonne et de renvoyer la valeur NULL (ou chaîne vide).
Ceci évitera de modifier le mappage des colonnes dans le backend d'import.
Avant :

SELECT RTRIM(LTRIM(TIERSINDIVIDU))+'-'+CONVERT(VARCHAR,CONTRATNO) AS codecontract, /* (Varchar (255))*/ LIB80 AS label, /* (Varchar (255))*/ CEACONTRAT.AFFAIRE AS deal_ID, /* (ForeignKey ())*/ CASE WHEN CEACONTRAT.ELEMNO <> 0 THEN RTRIM(LTRIM(CEACONTRAT.AFFAIRE))''+RTRIM(LTRIM(CEACONTRAT.AFRINDICE))''+CONVERT(VARCHAR,CEACONTRAT.ELEMNO) END AS dealelement_ID /* (ForeignKey ())*/ FROM CEACONTRAT

Après :

SELECT RTRIM(LTRIM(TIERSINDIVIDU))+'-'+CONVERT(VARCHAR,CONTRATNO) AS codecontract, /* (Varchar (255))*/ LIB80 AS label, /* (Varchar (255))*/ NULL AS deal_ID, /* (ForeignKey ())*/ NULL AS dealelement_ID /* (ForeignKey ())*/ FROM CEACONTRAT

ANNEXE 1 – Détail compatibilité Event

ANNEXE 2 – Détail compatibilité ControlCenter

Annexe 2.1 - Compatibilité Divalto weavy 4.8 – Winter' 19 avec kit 4.1 vs Divalto infinity

Annexe 2.2 - Compatibilité Divalto weavy 5.1 – Summer' 19 avec kit 5.0 vs Divalto infinity

Annexe 2.3 - Compatibilité Divalto weavy 5.2 – Summer' 20 avec kit 5.2 vs Divalto infinity

Annexe 2.4 - Compatibilité Divalto weavy 5.3 – Winter' 20 avec kit 5.3 vs Divalto infinity

Annexe 2.5 - Compatibilité Divalto weavy 5.4 – Summer' 21 avec kit 5.4 vs Divalto infinity

Annexe 2.6 - Compatibilité Divalto weavy 5.5 – Winter' 21 avec kit 5.5 vs Divalto infinity

Annexe 2.7 - Compatibilité Divalto weavy 5.6 – Summer' 22 avec kit 5.6 vs Divalto infinity

Annexe 2.8 - Compatibilité Divalto weavy 5.7 – Winter' 22 avec kit 5.7 vs Divalto infinity

Annexe 2.9 - Compatibilité Divalto weavy 6.0 – Summer' 23 avec kit 6.0 vs Divalto infinity

Annexe 2.9.1 - Version ControlCenter

Annexe 2.9.2 - Version Agent