Aller au contenu
For the complete DHIS2 documentation index, see llms.txt.

Configurer la synchronisation des métadonnées

À propos de la synchronisation des données et des métadonnées

Vous pouvez synchroniser les données et les métadonnées entre les différentes instances du DHIS2. Dans une stratégie de déploiement central-local, les métadonnées créées au niveau du système central peuvent être synchronisées avec le système local et les données créées au niveau du système local peuvent être synchronisées avec le système central. Cela peut être utile lorsque vous avez plusieurs instances autonomes de DHIS2 et que des métadonnées globales doivent être créées à toutes les instances locales.

Si la création et la mise à jour des métadonnées ont lieu au niveau du système central et si la tâche de synchronisation des métadonnées est activée, les métadonnées sont alors synchronisées jusqu'à toutes les instances locales liées à l'instance centrale. Ces instances locales transmettront à leur tour des valeurs de données et des ensembles complets d'enregistrement de données à l'instance centrale. L'activation ou la désactivation du versionnage de la synchronisation des métadonnées au niveau de l'instance locale n'entravera pas le processus de synchronisation des métadonnées. Cela est dû au fait que la synchronisation des métadonnées interagit avec les endpoints de versionnage de l'instance centrale et non avec les endpoints de l'instance locale.

Chaque instantané d'exportation de métadonnées généré est référencé à une version de métadonnées. Une nouvelle version de métadonnées ne contient que les modifications entre la version précédente et la version actuelle, c'est-à-dire qu'il s'agit d'une exportation entre deux horodateurs. Toutes les versions de métadonnées sont maintenues dans la base de données DHIS2 et sont disponibles pour toutes les instances locales qui s'y connectent. Vous pouvez programmer chacune des instances locales pour télécharger de nouvelles versions de métadonnées. Il est recommandé de conserver une taille réduite et logique des versions de métadonnées.

Attention

Chaque instance du DHIS2, qu'elle soit centrale ou locale, peut créer des versions de métadonnées. L'instance locale est destinée à synchroniser les métadonnées provenant d'un système central et non à créer des métadonnées de manière autonome.

Si une nouvelle version de métadonnées est créée sur l'instance locale, cette instance ne peut donc pas recevoir de nouvelles versions de métadonnées de l'instance centrale, car le contenu des versions de métadonnées sera désynchronisé.

Si vous avez créé des versions de métadonnées sur une instance locale, vous devez alors supprimer manuellement ces versions de la base de données avant de pouvoir synchroniser avec l'instance centrale.

Supposons que les instances DHIS2 centrales et locales aient des instantanés de métadonnées identiques jusqu'à la version 10. Ensuite, l'instance locale crée un nouvel instantané appelé version 11. Après cela, l'instance centrale crée un nouvel instantané appelé version 11. Lorsque l'instance locale tente de synchroniser les métadonnées, la version 11 n'est pas téléchargée. Cependant, le contenu de la version 11 sur l'instance locale n'est pas identique au contenu de la version 11 sur l'instance centrale.

N.B.

Vous pouvez également utiliser l'application Import-Export pour synchroniser les métadonnées manuellement.

Déroulement

  1. Sur l'instance centrale, configurez le versionnage des métadonnées. Vous devez le faire une fois que l'instance centrale contient des métadonnées.

  2. Connecter la ou les instances locales à l'instance centrale.

  3. Sur la ou les instance(s) locale(s), configurez la synchronisation automatique.

Configurer le versionnement des métadonnées sur l'instance centrale

N.B.

Pour synchroniser les métadonnées, le compte utilisateur du système central doit avoir l'autorité suivante :

**F_GESTION_DES MÉTADONNÉES **

Seuls les utilisateurs disposant de cette autorité pourront alors créer et télécharger des métadonnées. Cette mesure vise à garantir la sécurité du système central où les métadonnées sont créées. Au lieu de donner les références de l'utilisateur ayant l'autorité TOUT sur les instances de terrain, vous devez créer un utilisateur ayant uniquement cette autorité spécifique.

  1. Sur l'instance centrale, ouvrez l'application Paramètres système et cliquez sur Synchronisation.

  2. Allez dans la section Versionnage des métadonnées et sélectionnez Activer le versionnage pour la synchronisation des métadonnées.

  3. (Facultatif) Sélectionnez Ne pas synchroniser les métadonnées si les versions DHIS2 diffèrent.

  4. Sélectionnez un type de version de métadonnées : Mode au mieux ou Atomique.

    • Le meilleur effort signifie que si l'importation de métadonnées rencontre des références manquantes (par exemple des éléments de données manquants lors de l'importation d'un
      groupe d'éléments de données), elle ignore les erreurs et poursuit l'importation.

    • Atomique signifie tout ou rien - l'importation des métadonnées échouera si l'une des références n'existe pas.

      Note

      Each metadata entity is associated with a "User" object. If this "User" reference is missing while importing metadata version of type ATOMIC, the import will fail at the validation phase itself. This means that the user who creates metadata also needs to synchronize down to local instances to successfully import the metadata version of type ATOMIC.

  5. Cliquez sur Créer une nouvelle version. La nouvelle version est ajoutée au tableau de versionnage.

Connecter un instances locale à l'instance centrale

Pour activer la synchronisation des métadonnées, vous devez configurer la connexion entre l'instance locale et l'instance centrale.

  1. Sur l'instance locale, ouvrez l'application Paramètres système et cliquez sur Synchronisation.

  2. Ajoutez les détails de l'instance centrale du DHIS2 à l'instance locale :

    • L'URL du serveur distant

    • Nom d'utilisateur du serveur distant

    • Mot de passe du serveur distant

  3. Allez dans la section Versionnage des métadonnées et sélectionnez Activer le versionnage pour la synchronisation des métadonnées

  4. (Facultatif) Sélectionnez Ne pas synchroniser les métadonnées si les versions DHIS2 diffèrent.

    Le schéma des métadonnées change entre les versions de DHIS2, ce qui pourrait rendre incompatibles différentes versions de métadonnées.

    Lorsqu'elle est activée, cette option ne permet pas la synchronisation des métadonnées si l'instance centrale et l'instance locale ont des versions DHIS2 différentes. Cela s'applique à la synchronisation des métadonnées effectuée via l'interface utilisateur et l'API.

    La seule fois où il peut être utile de désactiver cette option est lors de la synchronisation d'entités de base, par exemple des éléments de données, qui n'ont pas changé d'une version DHIS2 à une autre.

  5. (Facultatif) Configurez les notifications par courrier électronique pour informer les utilisateurs de la réussite ou de l'échec de la synchronisation des métadonnées :

    1. Ouvrez l'application Paramètres système, puis cliquez sur Email.

    2. Entrez Nom d'hôte, Port, Nom d'utilisateur, Mot de passe et Expéditeur de l'e-mail.

    3. Cliquez sur Serveur et saisissez une Adresse électronique de notification du système.

      Cette adresse électronique recevra des notifications sur l'état de la synchronisation des métadonnées.

    Tip

    When you receive email notification about a metadata synchronization failure, check which metadata version that causes the error and resolve it. Then you avoid future errors when the system downloads new metadata versions.

Configurer la synchronisation automatique des métadonnées sur l'instance locale

Une fois que vous avez configuré la synchronisation automatique des métadonnées (programmation) sur la ou les instance(s) locale(s), le programmateur s'exécutera à ce moment précis et synchronisera (téléchargera et importera) les métadonnées de l'instance centrale. Aucune intervention manuelle n'est requise de la part des utilisateurs de la ou les instances locale(s).

Une fois que le programmateur a terminé la synchronisation des métadonnées, l'instance locale disposera des métadonnées exactement telles qu'elles ont été créées sur le système central.

N.B.

Les mots de passe des utilisateurs ne sont pas synchronisés. Ils sont annulés pour des raisons de sécurité. Après la synchronisation des métadonnées, l'utilisateur Admin doit réinitialiser ces mots de passe.

  1. Sur l'instance locale, ouvrez l'application Administration de données et cliquez sur Programmation.

  2. Dans la section Synchronisation des métadonnées, sélectionnez Activé.

  3. Sélectionnez une période : Journalier, Hebdomadaire, Mensuel ou Annuel.

  4. Cliquez sur Démarrer.

Créer manuellement une nouvelle version de métadonnées sur une instance centrale ou locale

  1. Ouvrez l'application Paramètres système, puis cliquez sur Synchronization.

  2. Allez dans la section Versionnage des métadonnées et sélectionnez Activer le versionnage pour la synchronisation des métadonnées

  3. (Facultatif) Sélectionnez Ne pas synchroniser les métadonnées si les versions DHIS2 diffèrent.

  4. Sélectionnez Mode au mieux ou Atomique.

  5. Cliquez sur Créer une nouvelle version. La nouvelle version est ajoutée au tableau de versionnage.

Lorsque le système est une instance centrale, vous verrez trois colonnes dans le tableau de versionnage :

Objet Description
Version Master La dernière version du système.
Version Nom de la version. Le nom est généré automatiquement par le système.
Quand L'horodatage de la création de la version des métadonnées au niveau de l'instance centrale.
Type Type de version des métadonnées.

Lorsque le système est une instance locale, vous verrez quatre colonnes dans le tableau de versionnage :

Objet Description
Version Master La dernière version de l'instance centrale.

Remarque

Les informations de la version master correspondent à la dernière version de l'instance centrale. Il est important d'examiner la différence entre les versions des métadonnées au niveau central et local.
Dernière tentative de synchronisation Si la dernière tentative de synchronisation échoue, cela s'affichera.
Version Nom de la version. Le nom est généré automatiquement par le système.
Quand L'horodatage de la création de la version des métadonnées au niveau de l'instance centrale.
Type Type de version des métadonnées.
Dernière synchronisation Date de la dernière synchronisation pour cette version dans ce système.

Informations de référence : paramètres de configuration de la synchronisation des métadonnées

Le processus de synchronisation des métadonnées est appelé Tâche de synchronisation des métadonnées. Cette tâche s'effectue en une série d'étapes avant la synchronisation des métadonnées :

  • Données de type push (données agrégées et données d'événements anonymes) de l'instance locale à l'instance centrale.

  • Obtient la version actuelle des métadonnées de l'instance locale. Il utilise ensuite ces informations de version comme base de référence pour obtenir la liste des versions de métadonnées créées après la base de référence.

  • Si de nouvelles versions sont créées à l'instance centrale, elle effectue la synchronisation des versions de métadonnées l'une après l'autre. Un mail sera envoyé à l'utilisateur configuré (le cas échéant) après chaque synchronisation réussie de la version des métadonnées sur l'instance locale.

Une fois que la tâche de synchronisation des métadonnées a été exécutée à l'heure prévue, la tâche peut recommencer (si l'une des étapes échoue) en fonction de la configuration des paramètres suivants définis dans le fichier dhis.conf :

Paramètre Valeur par défaut
metadata.sync.retry 3
metadata.sync.retry.time.frequency.millisec 30000

Chaque nouvelle tentative sera effectuée après le temps (en millisecondes) indiqué. Si les étapes échouent toujours même après toutes les tentatives, le planificateur arrête alors son exécution et un courrier électronique est envoyé à l'utilisateur configuré (le cas échéant). Si aucune valeur n'est spécifiée, les valeurs par défaut seront utilisées.

metadata.sync.retry = 5

metadata.sync.retry.time.frequency.millisec = 10000