Di seguito viene descritta la modalità con cui il Job Processor carica i gestori dei lavori (sia di Autodesk che di terze parti) all'avvio:
2012 | 2013 | 2014 | |
---|---|---|---|
Autodesk Vault Basic |
![]() |
||
Autodesk Vault Workgroup |
![]() |
![]() |
![]() |
Autodesk Vault Collaboration |
![]() |
![]() |
![]() |
Autodesk Vault Professional |
![]() |
![]() |
![]() |
Estensioni dei gestori dei lavori di terze parti
Le estensioni di terze parti dovrebbero essere presenti nella cartella corrispondente nella directory delle estensioni:
%allusersprofile%\Autodesk\Vault 2012\Extensions\
Ad esempio, se è presente un'estensione dei gestori dei lavori denominata "JobHandlerSample", dovrebbe trovarsi nella directory "%allusersprofile%\Autodesk\Vault 2013\Extensions\JobHandlerSample".
Per ogni cartella all'interno della directory delle estensioni il Job Processor verifica la presenza di un file di configurazione. Il file di configurazione è un file di testo normale a cui è possibile assegnare qualsiasi nome, ma che deve terminare con l'estensione .vcet.config. Se il file di configurazione non è presente, l'estensione non verrà caricata. Di seguito è riportato il contenuto di un file di configurazione esemplificativo, JobHandlerSample.vcet.config:
<configuration> <connectivity.ExtensionSettings2> <assembly>JobHandlerSample</assembly> <extensionType>JobProcessor</extensionType> </connectivity.ExtensionSettings2> </configuration>
Nell'elemento assieme è specificato il nome della DLL dell'estensione. Quindi, nell'esempio sopra, la DLL dell'estensione è denominata JobHandlerSample.dll. Il tipo di estensione di JobProcessor indica che si tratta di un'estensione per il Job Processor (possono essere presenti anche altri tipi di estensione nella directory, ad esempio WebService e VaultClient).
Viene quindi caricato l'assieme delle estensioni (nell'esempio JobHandlerSample.dll). Dopo il caricamento vengono eseguiti i seguenti controlli:
namespace JobHandlerSample { public class JobHandlerSample : IJobHandler { public bool CanProcess(string strJobType) { return strJobType.Equals("jobhandlersample"); } public JobOutcome Execute(IJobProcessorServices context, IJob job) { return JobOutcome.Success; } } }
Nell'assieme deve essere presente esattamente un tipo pubblico in grado di implementare IJobHandler. In caso contrario, l'estensione non verrà caricata. Viene creata un'istanza per tale tipo.
Configurazione dei gestori dei lavori
Il file di configurazione dei Gestori dei lavori è un file XML contenente le informazioni di configurazione per il Job Processor. Il file è posizionato nella stessa directory di JobProcessor.exe (in genere C:\Programmi\Autodesk\Vault Professional [anno]\Explorer) ed è denominato JobProcessor.exe.config. La sezione rilevante per la configurazione dei gestori dei lavori si trova in configuration\connectivityExplorer\jobHandlers. In questa sezione XML, ciascun elemento jobHandler rappresenta un gestore dei lavori. Gli elementi XML jobHandler hanno il seguente formato:
<jobHandler class="jobType" handler="NameOfTypeImplementingIJobHandler"/>
Dove:
Pertanto, un elemento jobHandler valido per l'esempio di estensione potrebbe essere:
<jobHandler class="jobhandlersample" handler="JobHandlerSample.JobHandlerSample, JobHandlerSample"/>
Nel file JobProcessor.exe.config si noterà che esiste già una voce jobHandler per ciascuno dei gestori dei lavori integrati in Autodesk. I gestori dei lavori integrati vengono caricati solo se esiste una voce jobHandler corrispondente. Le DLL dei gestori dei lavori incorporate sono posizionate nella stessa directory di JobProcessor.exe.
Verificare l'abilitazione dei gestori dei lavori
Le informazioni di configurazione illustrate in precedenza vengono utilizzate per associare un tipo di lavoro a uno specifico gestore dei lavori. Una volta eseguita questa operazione, a ciascun gestore dei lavori viene richiesto se è in grado di elaborare lo specifico tipo di lavoro. Il gestore dei lavori risponde alla richiesta implementando il metodo dell'interfaccia IJobHandler.CanProcess. È in questa fase che il gestore dei lavori deve controllare se dispone di tutto l'occorrente per poter elaborare i lavori del tipo corrispondente (ad esempio, alcuni dei gestori dei lavori per la creazione di file DWF verificano che sia installato Inventor).
Quando si verifica quali tipi di lavoro vengono attualmente elaborati da un Job Processor (utilizzando il menu Amministrazione-> Tipi di lavoro...), ciascuna voce elencata indica che è stato caricato correttamente un gestore dei lavori per il tipo di lavoro corrispondente. Se la voce è selezionata, significa che il gestore dei lavori è abilitato (in altre parole, dall'implementazione IJobHandler.CanProcess viene restituito "true"). Perché il job processor chieda nuovamente a un gestore dei lavori se "è in grado di elaborare", è necessario chiudere il Job Processor e riavviarlo.
Una volta che tutti i gestori dei lavori sono stati caricati e sottoposti a query, il Job Processor può acquisire i lavori in coda ed elaborarli.
Esempio di gestore dei lavori
In allegato (di seguito) è disponibile un esempio di gestore di lavori scritto in C#. Non viene eseguita alcuna operazione utile (vengono visualizzate delle finestre di dialogo quando vengono chiamati i metodi CanProcess e Execute), ma può essere utilizzato come modello per la creazione di gestori dei lavori.