Le Job Processor est une application permettant de traiter des tâches récupérées depuis le serveur Vault.
Lorsqu’un utilisateur effectue un changement d’état dans un cycle de vie auquel est associé une tâche, cette dernière est envoyée vers la file d’attente des tâches du serveur Vault.
Si un Job Processor est disponible pour exécuter cette tâche, la machine correspondante effectue le traitement et renvoi le résultat de l’opération au serveur.
Les tâches exécutées par le Job Processor peuvent être natives mais également personnalisées, dans ce cas, il s’agit d’un développement. Le comportement (déclenchement et exécution) est identique aux tâches natives mais le traitement est spécifique au développement réalisé.
Afin de réaliser une tâche personnalisée, il est nécessaire de faire appel à des assemblys Autodesk et de créer des classes spécifiques au Job Processor.
Dans cet exemple, le projet se nomme « MyCustomTask ».
Dans cet exemple, la classe s’appelle « JobProcess », ce sera le point d’entrée de notre tâche personnalisée.
Les deux méthodes qui nous intéresse sont :
Les autres méthodes sont des évènements spécifiques pouvant être utiles selon le besoin.
[assembly: ApiVersion(“XX.X”)]
[assembly: ExtensionId(“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”)]
<?xml version=”1.0? encoding=”utf-8? ?>
<configuration>
<connectivity.ExtensionSettings3>
<extension
interface=”Autodesk.Connectivity.JobProcessor.Extensibility.IJobHandler,
Autodesk.Connectivity.JobProcessor.Extensibility”
type=”MyCustomTask.JobProcess, MyCustomTask “>
<setting key=”JobType1? value=”MyCustomTask”/>
</extension>
</connectivity.ExtensionSettings3>
</configuration>
L’attribut « type » doit correspondre à « Namespace.Class, Namespace » de la classe qui implémente IJobHandler, dans notre cas « MyCustomTask.JobProcess, MyCustomTask ».
Concernant l’attribut « value », il correspond au nom de la tâche. Pour faciliter la lisibilité, je fais correspondre ce nom à celui de l’assembly de notre projet, ici « MyCustomTask ».
C:\ProgramData\Autodesk\Vault XXXX\Extensions\
Le répertoire Vault doit correspondre à la même version de Vault que celle visée par les références utilisées dans votre projet.
Afin de déclencher l’exécution de la tâche, il faut définir les conditions de déclenchement dans Vault. Au sein de Vault, ces conditions résident dans le changement d’état d’un document car nous pouvons attacher l’exécution d’une tâche lors d’une transition d’état.
Ici, on a sélectionné la transition de l’état « En cours » vers l’état « Approuvé ».
Cela doit correspondre avec la valeur saisie
Il est toutefois possible de passer outre cette intervalle en cliquant sur « Pause », puis « Reprendre » dans le menu Fichier du Job Processor.