Funzionalità aggiuntive di Windchill > Gestione dati assistenza > Personalizzazione di Windchill Service Information Manager e Windchill Service Parts > Aggiunta di contenuto o file personalizzati a un package di traduzione
  
Aggiunta di contenuto o file personalizzati a un package di traduzione
Questa personalizzazione può essere eseguita solo da un amministratore Windchill con conoscenze specifiche di Java.
È possibile personalizzare il processo di creazione di un package di traduzione in modo da includere altri file nel package, ad esempio metadati, come la data di scadenza in un formato file di testo o XML. La personalizzazione del modello di workflow Processo di traduzione di base consente l'aggiunta di file ai package di traduzione. Di seguito è descritta la procedura per eseguire questa personalizzazione.
1. Aprire il modello di workflow Processo di traduzione di base in un editor dei modelli di workflow.
2. Inserire un robot espressioni dopo il nodo Build Translation Package.
3. Configurare l'espressione di questo nodo di robot in modo da chiamare il codice personalizzato che modifica il contenuto del package di traduzione in base ai requisiti aziendali.
Quando si effettua l'aggiornamento a una nuova versione di Windchill, la personalizzazione del modello di processo di workflow viene sovrascritta ed è necessario applicare di nuovo la personalizzazione nel sistema aggiornato.
Di seguito è riportato un esempio di codice di workflow che chiama il codice personalizzato per accedere al file del package di traduzione o modificarlo in seguito alla creazione.
String oldUser = null;
try {
String wfCreator = com.ptc.tml.utils.TMLUtils.getUserName(main.getCreator());
oldUser = com.ptc.tml.utils.TMLUtils.switchSessionPrincipal(wfCreator);
wt.fc.Persistable sourceObj = wt.primaryBusinessObject;
wt.vc.baeline.ManagedBaseline baseline = (wt.vc.baeline.ManagedBaseline) com.ptc.tml.utils.TMLUtils.getPersistable(baselineOid);
java.io.File packageFile = new java.io.File(newTranslationPackageName);

custom.doSomething(sourceObj, baseline, packageFile);

} catch (java.lang.Throwable t) {
Log.addError(t);
} finally {
com.ptc.tml.utils.TMLUtils.switchSessionPrincipal(oldUser);
}
Per assicurarsi che il workflow possa accedere a tutti gli oggetti Windchill rilevanti, è necessario assegnare l'utente/gruppo/ruolo della sessione nel robot del workflow. Per default, il workflow viene eseguito come amministratore. Se non è richiesto l'accesso ad alcun oggetto Windchill, non è necessario modificare l'utente/gruppo/ruolo della sessione.
Di seguito è riportato un codice di esempio che consente di scorrere il contenuto nella baseline di traduzione in modo da trovare ulteriori contenuti o metadati da aggiungere al package di traduzione.
void doSomething(Persistable sourceObj, ManagedBaseline baseline, File packageFile) {
// open zip
for (EPMDocument doc : com.ptc.tml.utils.TranslationBaselineUtils.getBaselineDocuments(baseline))
Object extra = custom.traverse(doc);
custom.addToZip(zipFile, extra);
}
//close zip
}
Non è possibile aggiungere file a un file ZIP di traduzione esistente utilizzando le API Java standard. Per modificare lo zip del package di traduzione, copiare tutto il contenuto del package in un nuovo file ZIP in cui sia possibile modificare o aggiungere contenuto. Una volta completato il nuovo file ZIP del package di traduzione, il codice personalizzato può sostituire il file originale con il nuovo file del package di traduzione.