
Flux de création des modèles d'Espace
Fig. 7 : Flux : Espaces
Afin que toutes les pages issues d'un même Espace sur Confluence aient le même en-tête dans MediaWiki, j'ai généré des modèles pour chacun de ces Espaces.
Le 1er flux s'est quant à lui occupé d'ajouter la balise d'inclusion de modèle nom_espace
au début de chaque page.
J'ai donc utilisé la même requête que ce 2e flux pour avoir la liste des espaces, et pour chacun d'eux, un tJavaRow génère une page :
output_row.title = "Modèle:"+input_row.SPACEKEY;
output_row.id = 1;
output_row.body = "'''Espace''' : ''"+input_row.SPACENAME +"'' ([[:Catégorie:"+input_row.SPACEKEY+"]])\n";
output_row.body+="<includeonly>[[Catégorie:"+input_row.SPACEKEY+"]]</includeonly>\n";
output_row.revisionid = Numeric.sequence("revid",100,1);
Note : Mettre la catégorie dans la balise <includeonly> permet de ne pas affecter le modèle lui même à la catégorie, mais d'affecter les pages qui l'incluent.
Une autre solution est de créer un « modèle de modèle » d'Espace... Le code serait alors :
output_row.title = "Modèle:"+input_row.SPACEKEY;
output_row.id = 1;
output_row.body = "{{espace|"+input_row.SPACENAME+"|"+input_row.SPACEKEY+"}}\n";
output_row.revisionid = Numeric.sequence("revid",100,1);
Vous n'aurez plus qu'à créer manuellement un modèle dans MediaWiki nommé « espace », après la migration, contenant par exemple :
'''Espace''' : {{{1}}} ([[:Catégorie:{{{2}}}]]
<includeonly>[[Catégorie:{{{2}}}]]</includeonly>
Comme d'habitude, le flux issu du tJavaRow est enregistré dans un fichier XML via le désormais connu tAdvancedFileOutputXML.
VOIR AUSSI
- Articles précédents :
- Migration Confluence vers MediaWiki grâce à Talend - Partie 1/6 (Présentation du projet, Présentation de Talend, Principe de la migration)
- Migration Confluence vers MediaWiki grâce à Talend - Partie 2/6 (Flux des pages)
- Migration Confluence vers MediaWiki grâce à Talend - Partie 3/6 (Flux de création de la page d'Accueil)
- La suite, avec le Flux de création des Catégories
, ce lundi 20!
Fil des billets