01 - Dupliquer la contribution

Création de la contribution

Le module ori-oai-workflow est proposé par défaut avec plusieurs contributions (workflows). Celle qui nous intéresse se trouve dans [ORI_HOME]/src/ori-oai-workflow-svn/conf/properties/workflows/default_dc_very_easy.

Lorsque nous voulons modifier un workflow, il est conseillé de dupliquer celui-ci et de modifier la copie. En effet, il est plus simple de partir d'une copie d'un workflow plutôt que d'en créer un de zéro.

La première étape consiste donc à copier le dossier [ORI_HOME]/src/ori-oai-workflow-svn/conf/properties/workflows/default_dc_very_easy vers [ORI_HOME]/src/ori-oai-workflow-svn/custom/properties/workflows/contrib_dc_3. C'est donc cette contribution qu'il faudra maintenant modifier.

Dans les futures évolutions de ORI-OAI et dans les migrations d'un serveur à l'autre, toutes vos modifications seront donc contenues dans ce dossier.

Modification des paramètres d'origine

Tout se déroule maintenant dans le dossier [ORI_HOME]/src/ori-oai-workflow-svn/custom/properties/workflows/contrib_dc_3. Il faut modifier les références aux chemins d'origine pour pointer vers ce nouveau dossier. Il faut aussi définir un nouveau nom de workflow, ce qui aura des incidences sur d'autres paramètres.

Renommer fichier principal

Renommez le fichier workflow_very_easy.xml en workflow_dc_3.xml

Référencement de ce workflow

Éditez le fichier [ORI_HOME]/src/ori-oai-workflow-svn/custom/properties/workflows/contrib_dc_3/workflows.xml et modifiez le comme ceci :

<workflows>
    <workflow name="contrib_dc_3" type="resource" location="properties/workflows/contrib_dc_3/workflow_dc_3.xml"/>
</workflows>

Éliminer les anciennes références

Remplacez toutes les occurrences de la chaîne "default_dc_very_easy" par "contrib_dc_3" (nom du dossier de configuration du workflow) dans les fichiers :

  • workflow_dc_3.xml
  • addonContext.xml

Remplacez toutes les occurrences de la chaîne "dc_very_easy" par "dc_3" (nouveau nom de workflow) dans les fichiers :

  • i18n/messages_fr.properties
  • i18n/messages_en.properties
  • addonContext.xml
  • workflow_dc_3.xml

Enfin, le workflow d'origine préfixe et utilise dans ses différentes variables (groupes, rôles, etc) la chaîne "DCVE".
Remplacez cette chaîne "DCVE" par "DC3" dans les fichiers suivants afin d'éviter les conflits entre workflows :

  • addonContext.xml
  • default-permissions-roles.xml
  • groups.xml
  • workflow_dc_3.xml

Dans addonContext.xml, il faut aussi :

- renommer le bean dcVeryEasyWorkflowFactory en dc3WorkflowFactory ;

- remplacez la valeur dcform-ve par dcform-3 (formulaire associé au workflow ; dans notre cas, il n'y en a qu'un seul) ;

- remplacez

<property name="title" value="[WORKFLOW_DC-VE_TITLE]"/>

par

<property name="title" value="Ressources documentaires [3 &#233;tapes]"/>

Définition des groupes

Le fichier groups.xml est alimenté par défaut par le fichier commons-parameters.properties utilisé lors de l'installation de ORI-OAI. Dans notre cas, la définition des groupes doit se faire en interne à la contribution. Ouvrez donc le fichier groups.xml et éditez-le comme ceci (en adaptant les filtres LDAP) :

<bean name="oriGroupConfigGeneral_DC3" class="org.orioai.workflow.services.acls.OriGroupConfig">

<property name="groupsMap">
	<map>
		<entry key="DC3_all">
		  <value><![CDATA[virtual:(objectClass=Person)]]></value>
		</entry>
		<entry key="DC3_admins">
		  <value><![CDATA[virtual:(&(objectClass=Person)(uid=mon_administrateur))]]></value>
		</entry>
	</map>
</property>

</beans>

Vous pouvez utiliser directement des groupes LDAP à la place des groupes virtuels. Dans ce cas, utilisez la notation ldap:mon_groupe au lieu de virtual:mon_filtre.

Il faut bien s'assurer que le nom du bean a été modifié  !

Votre contribution contrib_dc_3 est maintenant prête à être utilisée. Celle-ci reprend exactement les mêmes caractéristiques que le workflow "default_dc_very_easy".

Vous pouvez maintenant le personnaliser !

Utilisation de la contribution

Pour pouvoir utiliser la contribution, il faut la référencer dans le fichier commons-parameters.properties, paramètre WORKFLOWS_USED.
Comme ceci par exemple, si on ne souhaite utiliser que deux workflows (celui que l'on vient de personnaliser et le workflow lom "simple") :

WORKFLOWS_USED=default_lom_easy,contrib_dc_3

Il ne faut pas oublier ensuite de refaire un ant init-build-workflow et ant all-workflow pour prendre en compte cette nouvelle contribution.

Pour que les nouveaux groupes et profils utilisateurs soient pris en compte, ne pas oublier de faire la commande suivante :

ant update-acls

  • No labels