xml2html-pkp-plugin
Plugin OJS/OMP de conversion XML vers HTML via transformation XSLT développé dans le cadre du projet FNSO FAIREST.
Licence CeCILL-B (voir détails)
Ce plugin est en cours de développement, son usage n'est pas destiné à être utilisé en production.
Limitations
Plugin testé sur OJS 3.3.0-7 et 3.3.0-12, OMP 3.3.0-4.
Pré-requis : modules php imposés par OJS + php-zip
Installation
cd ojs-3.3.0-7/plugins/generic
git clone git@git.unicaen.fr:fnso/fairest/xml2html-pkp-plugin.git xml2html
Attention : pas de tiret dans le nom de dossier du plugin
Activation du plugin
Activer le plugin depuis la section admin > website > plugins d'OJS ou OMP
Modification XSL
Éditer ou remplacer le fichier 2html.xsl.
Deux transformations sont fournies :
- prenant du XML JATS en entrée (issue de https://github.com/ncbi/JATSPreviewStylesheets/blob/master/xslt/main/jats-html.xsl) ;
- prenant du XML TEI Commons Publishing (
tei2html.xsl
).
Notes techniques
Le plugin peut gérer 2 cas d'utilisation pour les fichiers soumis :
- upload d'un fichier xml + upload une à une des images associées à l'article
- upload d'une archive au format zip contenant le fichier xml + les images associées
Dans le second cas :
- l'archive est dézippée dans le dossier du zip
- le dossier décompressé est renommé avec l'id unique généré par ojs
- le fichier xml est rennomé avec ce même identifiant :
[id]/[id].xml
- les urls des images sont de la forme
[idarticle]/zimage/[id1]/[id2][nom_image].[extension]
Interactivité de la page web (javascript)
- Tables des matières cliquable
- Circulation depuis les appels de notes faire les notes et retour
- Figures
- circulation depuis les titres des images vers les images (panneau latéral)
- Tableaux, double mode de visualisation
- Seul le titre est affiché, cliquer sur le titre pour afficher le contenu dans le corps du texte.
- Cliquer sur l'îcone ↗️ pour ouvrir le tableau dans une fenêtre externe.
- Références bibliographiques : navigation des liens de références courtes vers les références longues.
- Index : listes dépliables des index, lien pour chaque occurrence avec retour au texte.
- Dark mode : mode de lecture sombre.
Roadmap
- Figures : affichage des illustrations dans une fenêtre externe (visualiseur IIIF).
- Plusieurs jeux de notes
- Division de la fenêtre principale (texte et panneaux) redimensionnable.
Fonctionnement utilisateur [OMP] : procédure de chargement des fichiers
Ces étapes sont réalisées à l'étapes de Publication > onglet Publication Formats.
Définir le format de publication HTML
Lors de la première création d'une publication au format HTML pour un ouvrage :
- Ajouter un format de publication
-
Nom : "HTML"
-
Type : Digital (DA)
-
Ajouter les fichiers sources pour la production des pages HTML
Ajouter les fichiers qui génèreront les pages HTML des chapitres :
-
Option 1 : les fichiers pour la diffusion plein-texte sont issus des étapes du worflow, stockés comme Production Ready Files.
Rappel
- Workflow > Production
- onglet Production Ready Files
- *Upload File : ajouter les archives
zip
(contenant le fichier XML et les images associées)
- *Select Files* - Cocher l'option *Show files from all accessible workflow stages* pour afficher la liste des fichiers issus *Workflow*, étape *Production*. - Sélectionner les fichiers disponibles via le *workflow* pour la publication en plein-texte.
-
Option 2 : charger les fichiers pour publication plein-texte.
- Change File
- Suivre les étapes pour charger un fichier (Upload file, Review Details, Confirm)
-
Attribuer, pour chaque fichier, les autorisations pour la diffusion plein texte :
- Set approval
- Set terms : Open Access
Constituer les chapitres
Passer dans l'onglet Chapters afin d'ajouter les chapitres et affecter le.s format.s de publication.
- Ajouter un chapitre : Add Chapter ; a minima, saisir la métadonnée titre ; sauvegarder ;
- Cliquer sur le titre du chapitre et sélectionner les fichiers (formats) à associer (
zip
, éventuellement PDF, epub…)
Publier
Remarques
-
Quick submit plugin : L'archive
.zip
peut être fournie lors de la soumission, compatible avec lequick submit plugin
.