Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
osug-dc:2-suivi_projets:doi:osug-doi [2018/07/16 14:40] – [OSUG-DOI (public)] bourgesl | osug-dc:2-suivi_projets:doi:osug-doi [2019/01/22 14:54] (Version actuelle) – bourgesl | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== OSUG-DOI (public) ====== | ====== OSUG-DOI (public) ====== | ||
- | Source code: | + | http:// |
- | https://gricad-gitlab.univ-grenoble-alpes.fr/ | + | |
- | + | ||
- | Roadmap: | + | |
- | * tests: metadata + soumission DOI de test: OK | + | |
- | * génération landing pages simples: OK | + | |
- | * génération metadata et landing pages pour amma-catch (pipeline iso 19-115 + templates csv): OK | + | |
- | * TODO List: | + | |
- | * TEST: | + | |
- | - publication DOI avec relatedIdentifier en test (lien invalide): fait = datacite ne vérifie pas la validité des relations | + | |
- | * DOC: | + | |
- | - faire un template CSV (with all possible key/values + comments) | + | |
- | - procédure à écrire pour un projet (templates, config...) | + | |
- | * DEV: | + | |
- | - création dépot DOI sur forge (sourcesup ?): OK | + | |
- | - packaging scripts, pipeline + configuration (templates), | + | |
- | - améliorer landing page (html header / footer, about page): OK | + | |
- | - générer index.html pour lister les DOIs (staging / public): en cours | + | |
- | - gestion BDD: | + | |
- | - design des tables: projet et DOI: dates (génération, | + | |
- | - améliorer scripts de publication pour gérer des dossiers staging et production (par projet) et modifier l'etat en BDD: en cours | + | |
- | - accès landing pages: gestion des redirections si landing page personnalisée (générer .htaccess) | + | |
- | - supervision pour detecter / signaler les URLs invalides (URL 404) | + | |
- | * PROD: | + | |
- | - création vm doi.osug.fr | + | |
- | - demande: faite | + | |
- | - installation paquets (httpd + conf) | + | |
- | - installation pipeline + scripts | + | |
- | - installation BDD | + | |
- | * backoffice web de gestion/soumission DOI (futur) | + | |
===== Principe ===== | ===== Principe ===== | ||
Ligne 41: | Ligne 11: | ||
* OSUG-DC: le serveur doi.osug.fr héberge les landing pages (en local) ou réalise une redirection vers un autre serveur (spip...) dans le périmètre de l'OSUG | * OSUG-DC: le serveur doi.osug.fr héberge les landing pages (en local) ou réalise une redirection vers un autre serveur (spip...) dans le périmètre de l'OSUG | ||
* les landing pages doivent être pérennes et contenir les instructions pour accéder aux données / services | * les landing pages doivent être pérennes et contenir les instructions pour accéder aux données / services | ||
+ | |||
===== Développement ===== | ===== Développement ===== | ||
- | OSUG DOI: http:// | + | Source code: |
+ | https://gricad-gitlab.univ-grenoble-alpes.fr/ | ||
+ | |||
+ | TODO: | ||
+ | * DOC: | ||
+ | - écrire la Procédure pour demander des DOIs (intro, approche, méta-données), | ||
+ | - créer template CSV (with all possible key/values + comments) | ||
+ | * DEV: | ||
+ | - supervision pour detecter les URLs invalides (URL 404) et basculer sur les landing page locales | ||
+ | * PROD: | ||
+ | - recréer vm doi.osug.fr | ||
+ | |||
+ | Architecture générale: | ||
+ | {{osug-dc: | ||
==== Génération Landing Pages (datacite XML to HTML) ==== | ==== Génération Landing Pages (datacite XML to HTML) ==== | ||
- | A partir d'un document XML correspondant aux métadonnées du DOI (datamodel datacite), une transformation XSLT génère une page HTML statique (bootstrap + CSS) qui affiche | + | A partir d'un document XML correspondant aux métadonnées du DOI (datamodel datacite), une transformation XSLT génère une page HTML statique (bootstrap + CSS) qui présente |
- | Cependant, il manque les informations pour l' | ||
- | TODO: | + | ==== Outil de génération des métadonnées |
- | * trier les meta données selon le document AMMA-CATCH: OK | + | |
- | * ajouter un page footer (date + lien vers OSUG-DOI): OK | + | |
- | * rajouter les instructions d' | + | |
- | * rajouter l'URL de destination pour accéder aux données | + | |
- | * revoir le page header | + | |
- | * générer l' | + | |
- | Proposition: | + | Cas d' |
- | ==== Outil de génération des métadonnées DOI (datacite XML) à partir des méta données ISO-19139 (CSW) ==== | + | |
- | Cas d'utilisation = AMMA-CATCH (voir http:// | + | Certaines meta-données sont déjà renseignées pour chaque jeu sur le portail Web d'accès aux données |
+ | http:// | ||
- | === Principe === | + | Il faut ensuite les compléter pour produire un fichier XML complet (dataCite) pour chaque jeu de données. |
- | Certaines infos nécessaires au schéma | + | Solution: pour rester indépendant du format |
- | Il faut ensuite les compléter pour produire un fichier XML DataCite pour chaque jeu de données. | ||
+ | === Configuration d'un projet === | ||
- | === Chaine | + | Un projet dans l' |
- | Pour compléter | + | Toute la configuration du service OSUG-DOI avec tous les projets est archivée dans git (forge gricad): |
+ | https:// | ||
- | {{osug-dc:doi:schema_process.png}} | + | Pour compléter les metadonnées obtenues du webservice CSW, des templates (global, par pays, par jeu de données) au format CSV sont utilisés: |
+ | https:// | ||
- | Séquence de traitement: | + | Pour indiquer l' |
- | - GetRecords -> renvoie autant d' | + | https:// |
- | - Conversion au format CSV | + | |
- | - Pour chaque jeu de données, fusionner avec les templates: | + | |
- | - template global: template_all.csv | + | |
- | - template pays: correspondant au pays indiqué par geoLocationPlace (geoLocationPlace; | + | |
- | - template spécifique au jeu de données: correspondant à l'identifiant indiqué par identifier | + | |
- | - sauvegarder et convertir au format XML datacite | + | |
- | - validation des fichiers XML avec le schéma | + | |
- | - vérifier les related identifiers | + | |
- | - générer les landing pages associées | + | |
- | - tester publication du DOI (metadata + URL) avec le préfixe de test: STAGING | + | |
- | | + | |
+ | Pour donner l'URL associée réellement au DOI (accès aux donnés), le fichier doi_url_data_access.csv ( table [DOI suffix :: URL (absolue) ] ) est utilisé: | ||
+ | https:// | ||
+ | Si le DOI ou ce fichier est absent, la valeur par défaut définie dans le fichier project.properties (dataAccessUrl=...) est utilisée. | ||
- | Note: les identifiants DOI doivent contenir que le préfixe de test (publication ultérieure) et les méta-données en doublons sont ignorées (même clé / valeur) mais attention si les informations ne sont pas disjointes (clés présentes dans plusieurs templates) | + | Pour définir |
+ | https:// | ||
- | Attention à l' | + | {{osug-dc: |
- | TODO: | ||
- | * généraliser à d' | ||
- | * validation: vérifier la présence de méta-données (en plus, de la validation xml assez laxiste) comme dataAccess: | ||
- | * comment gérer la mise à jour des templates CSV ? manuel dans un premier temps; plus tard: via owncloud.osug.fr ou via interface d' | ||
- | Gestion multi-projet dans le file system: | + | === Chaine de fusion des informations (CSW + templates + URLs) === |
- | * config | + | |
- | * AMMA-CATCH | + | |
- | * projetX | + | |
- | * staging | + | |
- | * AMMA-CATCH | + | |
- | * projetX | + | |
- | * public | + | |
- | * AMMA-CATCH | + | |
+ | Préparation CSW (AMMA-CATCH / OHMCV) (bash) | ||
+ | - GetRecords -> renvoie autant d' | ||
+ | - Conversion au format CSV | ||
- | {{osug-dc: | + | Séquence de traitement: |
+ | - Pour chaque jeu de données partiel (/inputs), fusionner avec les templates (ajout, pas de suppression): | ||
+ | - template global: template_all.csv | ||
+ | - template du pays: correspondant au pays indiqué par geoLocationPlace (geoLocationPlace; | ||
+ | - template spécifique au jeu de données: correspondant au suffixe du DOI (identifier: | ||
+ | - Pour chaque jeu de données: | ||
+ | - vérifier les related identifiers (présent dans la BDD OSUG-DOI ?) pour tester les références invalides | ||
+ | - convertir au format XML datacite | ||
+ | - validation du fichier XML avec le schéma datacite | ||
+ | - vérifier les URLs (landing page externe et l'URL associée au DOI) | ||
+ | - générer la landing page associée (html) avec l' | ||
+ | - tester la publication du DOI (metadata + URL OSUG-DOI) avec le préfixe de test: STAGING | ||
+ | - sauvegarder l' | ||
+ | - ré-générer les pages d' | ||
+ | |||
+ | {{osug-dc: | ||
+ | Notes: | ||
+ | - les identifiants DOI présents dans la configuration (CSV) ne doivent contenir que le préfixe de test 10.5072 (publication ultérieure) | ||
+ | - les méta-données en doublons sont ignorées (même clé / valeur) mais attention si les informations ne sont pas disjointes (clés présentes dans plusieurs templates) | ||
+ | - attention à l' | ||
+ | - il est possible d' | ||
- | === Publication DOI (datacite) === | + | Pendant la phase de préparation ou de mise à jour des DOIs, il faut éditer les fichiers CSV, relancer la chaine de traitement et vérifier les résultats en STAGING: |
+ | http:// | ||
- | objectif: automatiser la publication des DOIs et alimenter la BDD (statut) | ||
- | TODO: | + | === Publication DOI (datacite) |
- | - copier la landing page (URL publiée chez datacite): PUBLIC | + | |
- | - reécrire les identifiants DOI (identifier et relatedIdentifier) pour remplacer le préfixe de test en préfixe OSUG à l'aide de la base de données | + | |
- | - publier ce DOI avec le préfixe OSUG et mettre à jour la BDD | + | |
- | - gérer les redirections ie une URL alternative pour la landing page | + | |
- | note: garder les documents XML + URL dans le file system | + | Lorsqu' |
+ | Séquence de publication d'un DOI: | ||
+ | - vérifications | ||
+ | - copier les méta-données XML (datacite) | ||
+ | - ré-écrire les identifiants DOI (identifier et relatedIdentifier) pour remplacer le préfixe de test 10.5072 en préfixe OSUG | ||
+ | - générer la landing page en PUBLIC (URL publiée chez datacite) | ||
+ | - publier le DOI (metadata + URL OSUG-DOI) avec le préfixe OSUG | ||
+ | - mettre à jour l' | ||
+ | - ré-générer les pages d' | ||
---- struct data ---- | ---- struct data ---- |