Configurer l'interaction avec un service distant via ORI-OAI-ext

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

Compare with Current View Page History

« Previous Version 2 Next »

Un workflow peut nécessiter l'interaction avec un service distant (i.e extérieur à l'environnement constitué par les modules ORI-OAI). C'est le cas par exemple des workflows default_ao_easy et default_ao_complex dédiés au référencement des publications scientifiques et qui interagissent avec la plateforme HAL.

Pour illustrer la description de la marche à suivre pour configurer une telle interaction, nous prendrons ici un exemple présent dans les deux workflows précités : l'envoi, conjoitement à sa publication locale, d'une fiche sur la plateforme HAL.

<action id="1" name="aoe-publish">
    <restrict-to>
	<conditions type="AND">
	    <condition type="spring">
		<arg name="bean.name">hasRole</arg>
		<arg name="mask">AOE_OWNER</arg>
	    </condition>
	</conditions>
    </restrict-to>
    <results>
	<result old-status="Finished" status="Underway" split="1">
	    <conditions type="AND">
		<condition type="spring">
		    <arg name="bean.name">verifyXPathes</arg>
		    <arg name="xpath1">//dcterms:accessRights[@xsi:type = 'dcfr:envoi_HAL' and not(contains(text(), 'no_hal')) and not(contains(text(), 'unavailable_file')) and normalize-space(.)]</arg>
		    <arg name="annotation">aoe-send-hal.warn</arg>
		</condition>
	    </conditions>
	</result>
	<unconditional-result old-status="Finished"
			      status="Underway" step="3" />
    </results>
    <post-functions>
	<function type="spring">
	    <arg name="bean.name">deletePermission</arg>
	    <arg name="mask">USE_AOE_MODERATOR_FORM</arg>
	    <arg name="recipient">AOE_OWNER</arg>
	</function>
	<function type="spring">
	    <arg name="bean.name">saveOrUpdateIndex</arg>
		    <arg name="idOriIndexing">indexingServicePublic</arg>
	</function>
    </post-functions>
</action>
  • No labels