Fonctionnalités supplémentaires de Windchill > Gestion des informations pour l'après-vente > Personnalisation de Windchill Service Information Manager et Windchill Service Parts > Ajout de contenus ou de fichiers personnalisés dans un lot de traduction
  
Ajout de contenus ou de fichiers personnalisés dans un lot de traduction
Seul un administrateur Windchill familiarisé avec Java peut effectuer cette personnalisation.
Vous pouvez personnaliser le processus de création d'un lot de traduction, afin d'y inclure des fichiers supplémentaires. Par exemple, vous pouvez ajouter des métadonnées telles que l'échéance au format de fichier texte ou xml. La personnalisation du modèle de processus Processus de traduction central permet d'ajouter des fichiers à des lots de traduction. La procédure de personnalisation est la suivante :
1. Ouvrez le modèle de processus Processus de traduction central dans un éditeur de modèle de processus.
2. Insérez un automate d'expression après le noeud Build Translation Package.
3. Configurez l'expression de ce noeud d'automate, de façon à appeler le code personnalisé qui modifie le contenu du lot de traduction, conformément aux exigences de l'entreprise.
Lorsque vous effectuez une mise à niveau vers une nouvelle version de Windchill, la personnalisation du modèle de processus est remplacée. Vous devrez à nouveau appliquer la personnalisation dans le système mis à niveau.
Voici un exemple de code de processus appelant le code personnalisé afin d'accéder au fichier de lot de traduction ou de le modifier, une fois qu'il a été créé :
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);
}
L'identité de la session doit être affectée à l'automate de processus, de manière à garantir l'accès du processus à tout objet Windchill pertinent. Par défaut, le processus est exécuté en tant qu'administrateur. Si le système ne doit accéder à aucun objet Windchill, il n'est pas nécessaire de modifier l'identité de la session.
Vous trouverez ci-dessous un exemple de code à itérer sur le contenu de la configuration de référence de traduction, afin de rechercher du contenu ou des métadonnées supplémentaires à ajouter au lot de traduction :
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
}
Il n'est pas possible d'ajouter des fichiers à un fichier ZIP de traduction existant avec les API Java standard. Pour modifier le fichier ZIP du lot de traduction, copiez l'intégralité du contenu du lot de traduction dans un nouveau fichier ZIP, dans lequel le contenu peut être modifié ou ajouté. Une fois le fichier ZIP du lot de traduction terminé, le code personnalisé peut remplacer le fichier d'origine par le nouveau fichier de lot de traduction.