Benutzerdefinierte Inhalte oder Dateien zu einem Übersetzungspaket hinzufügen
Die Anpassung kann nur von einem Windchill Administrator mit Java-Kenntnissen durchgeführt werden.
Sie können den Prozess zum Erstellen eines Übersetzungspakets anpassen, um weitere Dateien in ein Übersetzungspaket einzuschließen. Beispielsweise Metadaten wie das Fälligkeitsdatum in einem Text- oder XML-Dateiformat. Durch das Anpassen der Workflow-Vorlage Kern-Übersetzungsprozess können Sie weitere Dateien zu Übersetzungspaketen hinzufügen. Die Anpassung erfolgt folgendermaßen:
1. Öffnen Sie die Workflow-Vorlage Kern-Übersetzungsprozess in einem Workflow-Vorlagen-Editor.
2. Fügen Sie einen Ausdruck-Robot nach dem Build Translation Package-Knoten ein.
3. Konfigurieren Sie den Ausdruck dieses Robot-Knotens für den Aufruf von benutzerdefiniertem Code, der den Inhalt des Übersetzungspakets gemäß Ihren Geschäftsanforderungen ändert.
Wenn Sie auf eine neue Version von Windchill aktualisieren, wird die Anpassung der Workflow-Prozessvorlage überschrieben. Sie müssen die Anpassung auf dem aktualisierten System erneut durchführen.
Nachfolgend sehen Sie ein Beispiel für Workflow-Code, der benutzerdefinierten Code für den Zugriff auf die Übersetzungspaketdatei oder die Änderung der Datei nach ihrer Erstellung aufruft:
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);
}
Der Sitzungshauptbenutzer muss im Workflow-Robot zugewiesen werden, damit der Workflow Zugriff auf die relevanten Windchill Objekte hat. Der Workflow wird standardmäßig als Administrator ausgeführt; wenn kein Zugriff auf Windchill Objekte erforderlich ist, muss der Sitzungshauptbenutzer nicht geändert werden.
Nachfolgend finden Sie einen Beispielcode für das Iterieren durch den Inhalt der Übersetzungs-Baseline, um zusätzliche Inhalte oder Metadaten zu suchen, die zum Übersetzungspaket hinzugefügt werden können:
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
}
Es ist nicht möglich, Dateien mit Standard-Java-APIs zu einer vorhandenen Übersetzungs-ZIP-Datei hinzuzufügen. Um die ZIP-Datei mit dem Übersetzungspaket zu ändern, kopieren Sie den ganzen Inhalt des Übersetzungspakets in eine neue ZIP-Datei, in der der Inhalt geändert werden kann oder Inhalte hinzugefügt werden können. Sobald die neue ZIP-Datei mit dem Übersetzungspaket fertig ist, kann die ursprüngliche Datei über den benutzerdefinierten Code durch die neue Übersetzungspaketdatei ersetzt werden.
War dies hilfreich?