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>