Appliquer une XSLT sur une fiche précise dans le workflow

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

ORI-OAI propose dans le module workflow la possibilité d'appliquer une XSLT sur l'ensemble des fiches ( en masse ). Seulement, vous pouvez aussi avoir à modifier quelques fiches, mais pas toutes, et là, l'application ne le permet pas.

Voici ici un script PHP qui permet de le faire. Ce dernier se base sur les webservices du module workflow.

Principe de fonctionnement :

  1. vous tapez l'identifiant de la ressource affiché dans le moteur de recherche comme ici :
  2. le script récupère la fiche XML de la ressource,
  3. exécute la transformation XSLT dans une fichier XML temporaire,
  4. dépublie la ressource,
  5. injecte la nouvelle fiche,
  6. publie à nouveau la ressource.

Modifications à apporter :

Vous devez créer votre XSLT bien sûr, et modifier quelques valeurs :

//URL des webservices
$wsdl    = 'http://mon-etab.univ.fr/ori-oai-workflow/xfire/OriWorkflowService?WSDL';


//repertoire ou est stocké le XSL
$repertoireXSL='/var/www/tefmodifyLANG/tefModifylang.xsl';


// sur quel namespace envoyer les fiches ?
$namespace = 'tef_lille1';



// a qui appartient les fiches envoyées ?
$proprietaire = 'frlefebv';

Dans le script, vous aurez aussi à modifier les numéros des actions de (dé)publication et les faire correspondre à votre workflow, ainsi que le libellé

$soap->performAction(array( 'in0' => $Idp, 'in1' => '5', 'in2' => 'correction via XSL des theses sur travaux'));

Télécharger le script modify.php

Information complémentaire :

Je remercie Henry Jacob pour m'avoir conseillé l'utilisation du logiciel soapui. Ce dernier permet de tester les webservices via une interface graphique, ce qui est très pratique lors du développement. Je vous le recommande donc.

  • No labels