diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-01 10:53:07 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:23:20 +0100 |
commit | 25e18b19692847690bfa91a75890fb6606ece285 (patch) | |
tree | 2423fd01d7ffbb75a82834fec2a63e6b7ba5d59d | |
parent | 133e949dff015d39c8a5e1b28cd38b5c16853de7 (diff) | |
download | Ishtar-25e18b19692847690bfa91a75890fb6606ece285.tar.bz2 Ishtar-25e18b19692847690bfa91a75890fb6606ece285.zip |
Docs: syndication
-rw-r--r-- | docs/misc/HOWTO-SYNDICATION.md | 30 | ||||
-rw-r--r-- | docs/misc/images/HOWTO-SYNDICATION-10.png | bin | 52032 -> 112783 bytes | |||
-rw-r--r-- | docs/misc/images/HOWTO-SYNDICATION-11.png | bin | 112783 -> 52032 bytes | |||
-rw-r--r-- | ishtar_common/management/commands/regenerate_external_id.py | 2 |
4 files changed, 29 insertions, 3 deletions
diff --git a/docs/misc/HOWTO-SYNDICATION.md b/docs/misc/HOWTO-SYNDICATION.md index f946bc6d0..070407af7 100644 --- a/docs/misc/HOWTO-SYNDICATION.md +++ b/docs/misc/HOWTO-SYNDICATION.md @@ -1,4 +1,22 @@ -## Situation +## Mise en place d'une syndication de données + +La syndication de données entre instances Ishtar est une fonctionnalité puissante mais assez complexe à mettre en place. La documentation ci-dessous détaille pas à pas les différentes étapes pour mettre en place cela. + +Selon que l'on soit l'instance qui partage des données ou celle qui consulte des données les enjeux sont différents : + +L'instance qui partage des données (dite « hôte ») doit paramétrer : + +- les type de données à partager ; +- les sous-ensemble de ces données à partager ; +- les attributs que l'on souhaite exposer / cacher ; +- à qui l'on va partager les données (nécessitant la création d'un compte système avec un jeton d'accès et le paramétrage de l'adresse IP du serveur vers lequel les données vont être envoyées). + +L'instance qui consulte les données (dite « cliente ») doit paramétrer : + +- le serveur « hôte » qui fourni les données, son adresse web d'Ishtar et un jeton d'accès ; +- la correspondance entre les listes de vocabulaires contrôlés de son instance et les listes de vocabulaires contrôlés de l'instance hôte. Cette correspondance est nécessaire pour traduire les recherches par critères de manière pertinente. + +Pour illustrer une syndication de données, nous allons prendre l'exemple suivant : L'instance Charente-Maritime veut partager un ensemble de données avec l'instance Nouvelle-Aquitaine. @@ -6,6 +24,7 @@ Le serveur dit « hôte » est celui de Charente-Maritime. Le serveur dit « client » est celui de Nouvelle-Aquitaine. + ## Configuration du serveur hôte Cette configuration est à faire si vous souhaitez donner un accès en lecture à vos données depuis une autre instance Ishtar. @@ -93,4 +112,11 @@ Une fois la source externe créée il est nécessaire de récupérer les listes Cette action peut prendre un certain temps. Si des changements sont faits sur les listes de vocabulaires contrôlés sur la source cette étape ainsi que les suivantes sont à ré-effectuer. -### Générer la liste de correspondance +### Générer le document de correspondance + +Pour chaque liste de vocabulaire contrôlée, des correspondances sont faites automatiquement entre les termes identiques. Lorsque deux instances partagent la même langue et ont des cas d'utilisation semblable, une bonne partie des listes de vocabulaires sont mis en correspondance automatiquement. +Afin de visualiser les correspondances et de compléter les correspondances manquantes, on génére un document de correspondance. Celui est sous la forme d'un document tableur LibreOffice. Pour cela, on reste sur la page listant les sources externes : « Ishtar - Commun > API - Recherche - Sources externes ». Sélectionner la source externe concernée, l'action « Générer le document de correspondance » et valider (le bouton « Aller »). + + + +### Éditer le document de correspondance
\ No newline at end of file diff --git a/docs/misc/images/HOWTO-SYNDICATION-10.png b/docs/misc/images/HOWTO-SYNDICATION-10.png Binary files differindex 504006ce6..d4f9e90c4 100644 --- a/docs/misc/images/HOWTO-SYNDICATION-10.png +++ b/docs/misc/images/HOWTO-SYNDICATION-10.png diff --git a/docs/misc/images/HOWTO-SYNDICATION-11.png b/docs/misc/images/HOWTO-SYNDICATION-11.png Binary files differindex d4f9e90c4..504006ce6 100644 --- a/docs/misc/images/HOWTO-SYNDICATION-11.png +++ b/docs/misc/images/HOWTO-SYNDICATION-11.png diff --git a/ishtar_common/management/commands/regenerate_external_id.py b/ishtar_common/management/commands/regenerate_external_id.py index 5d1aad88e..0b947a056 100644 --- a/ishtar_common/management/commands/regenerate_external_id.py +++ b/ishtar_common/management/commands/regenerate_external_id.py @@ -56,7 +56,7 @@ class Command(BaseCommand): ln = model.objects.count() for idx, object in enumerate(model.objects.all()): object.skip_history_when_saving = True - object.external_id = None + object.external_id = "" object._no_move = True cmsg = "\r{} {}/{}".format(msg, idx + 1, ln) sys.stdout.write(cmsg) |