Bearbeiten von Vorlagen: Ausführen von benutzerdefinierten Skripts in der Mitte eines Projekts (Midscripts)
Nur Experten: Fahren Sie nur fort, wenn Sie mit Skripts, Programmen, Diensten und Benutzern in Windows vertraut sind. Wenn Sie nicht über diese Kenntnisse verfügen, wenden Sie sich an einen Experten, soweit möglich an einen IT-Spezialisten.
Zu verschiedenen Zeitpunkten in einem Projekt können Sie eigene Programme ausführen, mit denen Dokumente geändert oder andere Vorgänge durchgeführt werden. Dies erfolgt als Teil von automatisierten Aktionen und nicht vor dem Importieren oder nach dem Exportieren eines Dokuments.
Da diese Programme zwischen dem Import und dem Export ausgeführt werden, werden sie auch als Midscripts bezeichnet.
Nicht möglich ohne Vorlagen: Dies ist nur bei Projekten möglich, die über Projektvorlagen erstellt wurden.
Wenn Sie eigene Programme ausführen, um Dokumente zu ändern, werden Midscripts folgendermaßen verwendet:
- Im Projekt haben sich Änderungen ergeben. Ein Übersetzer hat beispielsweise ein Dokument geliefert. Sie möchten an diesem Dokument eine Änderung vornehmen, bevor es an den nächsten Projektteilnehmer (z. B. Überprüfer 1) weitergeleitet wird. Vielleicht möchten Sie einen Begriff ersetzen oder Segmente entsperren, jedoch nur, wenn sie einen bestimmten Begriff enthalten. Die Möglichkeiten sind endlos.
- Das Dokument wird in memoQ im MQXLIFF-Format exportiert. Dabei handelt es sich um ein zweisprachiges XML-Standarddokument.
- Das Programm wird im Dokument ausgeführt. Dieses Programm erfordert eine MQXLIFF-Datei als Eingabe und muss eine MQXLIFF-Datei ausgeben. Das Format darf nicht geändert werden – andernfalls führt dies in memoQ zu Beeinträchtigungen.
- Das Dokument im Projekt wird über die geänderte MQXLIFF-Datei aktualisiert.
Unter Umständen möchten Sie jedoch keine Änderung in einem Dokument vornehmen, sondern bestimmte Einstellungen im Projekt überprüfen oder ändern, z. B. zu einem anderen Translation Memory wechseln oder einen Liefertermin ändern, auch hier ist die Liste endlos. Auch dies ist möglich:
- Im Projekt haben sich Änderungen ergeben.
- In memoQ werden keine Dokumente exportiert.
- Stattdessen wird ein Programm ausgeführt, mit dem über die Web Service-API eine Verbindung mit dem memoQ-Server hergestellt und eine Änderung am Projekt oder den zugehörigen Ressourcen vorgenommen wird.
Sinnvoll in Online-Projekten: Sie können zwar auch lokale Projekte mit Midscripts einrichten, sinnvoll ist dies aber hauptsächlich bei Online-Projekten auf memoQ-Servern. In diesem Thema wird erläutert, wie Sie ein Midscript in einem Online-Projekt einrichten können.
Richten Sie zuerst Ihren Server ein: Wenn Sie Midscripts in Online-Projekten ausführen möchten, müssen Sie zunächst Ihren Server einrichten. Dies wird im Abschnitt Möglichkeiten weiter unten in diesem Thema erläutert.
Sie müssen das Programm schreiben oder erwerben: memoQ enthält keine Programme, mit denen die gewünschten Änderungen an Dokumenten oder am Projekt vorgenommen werden können. Sie müssen diese Programme entweder selbst schreiben oder von einem Programmierer erwerben. Sie können sich auch an das Team von memoQ Professional Services wenden und sich Programme gegen Gebühr entwickeln lassen.
Verwenden Sie zum Vorbereiten oder Nacharbeiten von Dokumenten das integrierte Tool „Find and Replace“ (Suchen und Ersetzen): Weitere Informationen finden Sie im Thema zum Skript "Suchen und Ersetzen".
Navigation
Öffnen Sie die Ressourcenkonsole. Wählen Sie Projektvorlagen aus.
Einrichten einer Vorlage für Online-Projekte: Verwenden Sie dazu eine Online-Vorlage. Wählen Sie oben in der Ressourcenkonsole Ihren memoQ-Server aus. Klicken Sie auf Auswählen.
Markieren Sie die Projektvorlage, die Sie mit automatisierten Aktionen einrichten möchten, für die benutzerdefinierte Skripts verwendet werden. Klicken Sie mit der rechten Maustaste auf die Markierung, und wählen Sie Bearbeiten aus.
Wählen Sie im Fenster Projektvorlage bearbeiten die Option Automatisierte Aktionen aus. Wählen Sie auf der Registerkarte Projekt-Automatisierung ein Ereignis (einen Auslöser) im Projekt aus. Klicken Sie rechts auf das Pluszeichen +. Wählen Sie im Fenster Wählen Sie Aktionen aus, die Sie automatisch ausführen möchten die Aktion Benutzerdefinierten Code ausführen aus. Klicken Sie auf Hinzufügen.
Das Fenster Details zum benutzerdefinierten Code festlegen wird angezeigt.
Ändern einer vorhandenen automatisierten Aktion: Wenn die Aktion Benutzerdefinierten Code ausführen auf der Registerkarte Projekt-Automatisierung bereits angezeigt wird, wählen Sie sie unter Actions added to the custom trigger aus. Klicken Sie neben der Aktion auf das Symbol Einstellungen . Das Fenster Details zum benutzerdefinierten Code festlegen wird angezeigt.
Möglichkeiten
Bei den Skripts, die in Ihren Projekten ausgeführt werden, handelt es sich um Programme. Auf einem Server sind nicht alle Benutzer dazu berechtigt, Programme auszuführen. Normalerweise ist es auf einem memoQ-Server aus Sicherheitsgründen nicht zulässig, Programme auszuführen.
Damit Sie Skripts in einem Online-Projekt ausführen können, muss dies zunächst auf dem memoQ-Server zugelassen werden.
Benutzer muss Administrator und Experte sein: Sie können die folgenden Schritte nur ausführen, wenn Sie Administrator des memoQ-Server-Computers sind und über die entsprechenden Kenntnisse verfügen.
Dies erfolgt nicht über memoQ. Lassen Sie das memoQ-Fenster geöffnet, bis Sie diese Schritte ausgeführt haben.
- Melden Sie sich über Remote Desktop am memoQ-Server-Computer als Administrator an. (Sie müssen über Administratorrechte für den gesamten Computer und nicht nur für das memoQ-Server-Programm verfügen.)
- Öffnen Sie die Control Panel. Wählen Sie Programs and Features aus. Wählen Sie memoQ-Server aus. Klicken Sie auf Ändern. Das memoQ-Server-Deployment-Tool wird geöffnet.
- Klicken Sie im Abschnitt memoQ-Server des Deployment Programms auf Erweitert, und wählen Sie dann Configure custom code execution aus. Das Fenster Custom code execution wird angezeigt.
- Wählen Sie hier im Regelfall die Option Virtuelles Dienstkonto aus. Klicken Sie auf Weiter. Verwenden Sie niemals ein integriertes Konto. Unter dem Optionsfeld Dieses Konto können Sie ein bestimmtes Konto verwenden. Beim Einrichten des Kontos müssen Sie jedoch sorgfältig vorgehen, damit es für keine anderen Vorgänge verwendet wird.
- Im Deployment Tool wird überprüft, ob die Einstellungen gültig sind. Sie müssen über Administratorrechte für den Servercomputer verfügen, und das ausgewählte Konto muss als Dienst angemeldet werden können. Wenn zwei grüne Häkchen im Fenster angezeigt werden, klicken Sie auf Weiter. Wenn mindestens ein Fehler angezeigt wird, klicken Sie auf Zurück, und ändern Sie die Einstellungen.
- Das Deployment Tool richtet den memoQ-Server zum Ausführen der Skripts und Programme ein. Dies kann einige Zeit in Anspruch nehmen. Klicken Sie auf Finish, wenn die Meldung Settings have been saved successfully angezeigt wird.
- In einer Warnmeldung wird angezeigt, dass der memoQ-Server neu gestartet werden muss. Klicken Sie auf OK.
- Klicken Sie im Deployment Tool auf Stop memoQ server. Klicken Sie im dann angezeigten Link Start memoQ server auf Start memoQ server.
- Wenn im Deployment Tool angezeigt wird, dass der memoQ-Server wieder ausgeführt wird, schließen Sie das Tool.
Für Ihre Programme sind möglicherweise Dateien erforderlich, die nicht in den Projektvorlagen gespeichert werden sollten. Zwar können diese Dateien in der Projektvorlage gespeichert werden. Wenn dies jedoch der Fall ist, können Sie sie nicht ändern oder korrigieren, während ein Projekt ausgeführt wird. In diesem Fall muss das gesamte Projekt neu erstellt werden.
Aus diesem Grund müssen Sie einige – genau genommen, fast alle – Programmdateien außerhalb der Projektvorlage ablegen.
- Wenn Sie die Ausführung von benutzerdefiniertem Code einrichten, erhält der Dienstbenutzer die Systemberechtigung Log on locally. Zudem wird der Ordner Dokumente erstellt. Für einen Benutzer mit dem Namen _svc_mqsinternal befindet sich der Ordner z. B. unter C:\Users\_svc_mqsinternal\Documents. Erstellen Sie in diesem Ordner einen Ordner mit dem Namen Scripting, und legen Sie dort Ihre Programmdateien ab.
Wenn Sie eine Programmdatei ersetzen möchten, beispielsweise zur Fehlerbehebung, können Sie sie bei dieser Konfiguration in eben diesem Ordner ersetzen. Die aktualisierte Programmdatei wird in Ihrem vorhandenen Projekt sofort verwendet.
Zunächst benötigen Sie mindestens zwei Dateien:
- Eine Hauptprogrammdatei, über die der eigentliche Vorgang in Ihrem Projekt durchgeführt wird. Möglicherweise sind auch weitere Dateien erforderlich. Diese müssen Sie mit der Hauptprogrammdatei kopieren.
- Eine Batchdatei, die einen einzigen Befehl enthält, und zwar zum Starten der Hauptprogrammdatei. Diese Datei legen Sie in der Projektvorlage ab.
- Kopieren Sie die Hauptprogrammdatei auf dem Server in den Ordner Dokumente des Dienstbenutzers. (Beispiel: c:\Users\_svc_mqsinternal\Documents\Scripting.) Auf dem memoQ-Server wird die Hauptprogrammdatei unter dem Namen des Dienstbenutzers ausgeführt.
- Überprüfen Sie, ob die Batchdatei auf den richtigen Ordner auf dem Server verweist. Die Batchdatei kann beispielsweise den folgenden Befehl enthalten:
c:\Users\_svc_mqsinternal\Documents\Scripting\C_Converter.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
Diese Batchdatei startet das Programm C_Converter.exe und übergibt bis zu neun Argumente an dieses Programm. Das Programm sollte sich im Ordner C:\Users\_svc_mqsinternal\Documents\Scripting auf dem Server befinden. Dieser Ordner befindet sich nicht auf Ihrem Computer.
Sie können diesen Befehl in Ihre eigene Batchdatei kopieren. Ersetzen Sie einfach den Namen der EXE-Datei zum Aufrufen eines anderen Programms. Und überprüfen Sie auch den Ordner.
- Kehren Sie zu memoQ zurück, stellen Sie eine Verbindung mit dem gleichen Server her, und bearbeiten Sie die Projektvorlage. Die Projektvorlage muss sich auf demselben Server befinden.
Online-Projekt, Online-Vorlage: Verwenden Sie niemals ein lokales Projekt zum Erstellen von Online-Projekten. Stellen Sie sicher, dass sich die Vorlage auf dem gleichen Server befindet.
- Wählen Sie Automatisierte Aktionen aus. Wählen Sie auf der Registerkarte Project automation das Ereignis aus, bei dem das Programm ausgeführt werden soll. Klicken Sie neben der Liste Dem ausgewählten Auslöser hinzugefügte Aktion auf das Pluszeichen (+). Wählen Sie im Fenster Wählen Sie Aktionen aus, die Sie automatisch ausführen möchten die Aktion Benutzerdefinierten Code ausführen aus. Klicken Sie auf Hinzufügen. Das Fenster Details zum benutzerdefinierten Code festlegen wird angezeigt.
Wenn die Aktion Benutzerdefinierten Code ausführen bereits vorhanden ist: Wählen Sie sie unter Actions added to the custom trigger aus. Klicken Sie neben der Aktion auf das Symbol Einstellungen . Das Fenster Details zum benutzerdefinierten Code festlegen wird angezeigt.
- Klicken Sie unter Dateien auswählen, die für Code benötigt werden auf Dateien hinzufügen. Suchen und öffnen Sie die Batchdatei, die das Hauptprogramm startet. Fügen Sie hier nicht das Hauptprogramm ein.
Ersetzen einer Skriptdatei oder einer Batchdatei: Wählen Sie die Datei in der Liste Dateien auswählen, die für Code benötigt werden aus. Klicken Sie auf Löschen. Fügen Sie dann durch Klicken auf Dateien hinzufügen die neue Datei hinzu.
- Wählen Sie die Batchdatei in der Liste Dateien auswählen, die für Code benötigt werden aus. Klicken Sie auf Als Befehl festlegen.
- Richten Sie als Nächstes den Befehl ein. Der Befehlsname ist identisch mit dem Namen der Batchdatei. Geben Sie unter Befehlszeilenargumente die für das Hauptprogramm erforderlichen Argumente ein. Wenn Sie Projektdokumente ändern, müssen Sie {InputFilePath} und {OutputFilePath} hinzufügen. In diesem Fall erfordert das Programm zwingend ein MQXLIFF-Dokument als Eingabedatei und muss als Ausgabedatei ein MQXLIFF-Dokument generieren.
Die dokumentbezogenen Platzhalter sind nur sinnvoll, wenn sich das Ereignis, bei dem das Programm gestartet wird, auf ein Dokument bezieht.
Für das Programm sind möglicherweise auch andere Befehlszeilenargumente erforderlich.
Sie können auch andere Platzhalter verwenden, sodass das Programm für den Bezeichner des Projekts sowie für die Ausgangs- und Zielsprachen verwendet werden kann. Größtenteils werden diese Platzhalter zum Suchen oder Erstellen von Ordnern verwendet, sodass unterschiedliche Dateien, die unterschiedlichen Zwecken dienen, separat gespeichert werden.
So fügen Sie einen Platzhalter ein: Klicken Sie auf Insert placeholders, und wählen Sie im Menü den gewünschten Platzhalter aus.
- Eingabedateipfad: Der vollständige Pfad und der Name des Projektdokuments. Sie müssen den Pfad nicht kennen, er wird in memoQ automatisch erstellt.
- Ausgabedateipfad: Der vollständige Pfad und der Name des transformierten Projektdokuments, das im Projekt aktualisiert wird. Sie müssen den Pfad nicht kennen, er wird in memoQ automatisch erstellt.
- ZugewiesenAn: Der Name des Benutzers (Übersetzer, Überprüfer 1 oder Überprüfer 2), dem das Dokument zur Bearbeitung zugewiesen wird.
- Liefertermin: Der Liefertermin des aktuellen Workflow-Schritts (Übersetzung, Überprüfung 1 oder Überprüfung 2) des Dokuments.
- FinalerLiefertermin: Der Liefertermin des letzten Workflow-Schritts des Dokuments. Dies ist der endgültige Liefertermin.
- Workflowstatus: Der Workflow-Schritt (Übersetzung, Überprüfung 1 oder Überprüfung 2) und der Status (Nicht begonnen, In Bearbeitung, Beendet) des Dokuments.
- SrcLangIso2: Aus zwei Buchstaben bestehender Code der Ausgangssprache des Projekts.
- SrcLangIso3: Aus drei Buchstaben bestehender Code der Ausgangssprache des Projekts.
- TrgLangListIso2: Liste der aus zwei Buchstaben bestehenden Codes der Zielsprachen des Projekts.
- TrgLangListIso3: Liste der aus drei Buchstaben bestehenden Codes der Zielsprachen des Projekts.
- ProjectGuid: Der globale eindeutige Bezeichner des Projekts. Dabei handelt es sich um eine lange Zahlenfolge, die sich niemals wiederholt.
- DocumentGuid: Der globale eindeutige Bezeichner des aktuellen Dokuments.
- Wählen Sie aus, wie lange die Ausführung des Programms maximal dauern soll. Da es Teil eines aktiven Projekts ist, darf die Ausführung nicht zu lange dauern. Legen Sie die Sekunden fest, nach denen das Programm auf dem memoQ-Server beendet wird (wenn es nicht von selbst beendet wird).
- Wenn Sie fortfahren und Dokumente im Programm ändern möchten, aktivieren Sie das Kontrollkästchen Export documents as MQXLIFF for script to process. Dadurch werden die betroffenen Dokumente vor dem Ausführen des Programms gespeichert.
- Wenn Sie das exportierte Dokument ändern und das Projekt über dieses Dokument aktualisieren möchten, aktivieren Sie das Kontrollkästchen Update documents in project from script's output. Nach dem Ausführen des Programms wird das Projekt über die geänderte MQXLIFF-Datei aktualisiert.
Mit dem Programm dürfen nur kleinere Änderungen vorgenommen werden: Das Programm muss das Format des MQXLIFF-Dokuments strikt beibehalten. Zudem sollten Inhalte nicht übermäßig hinzugefügt oder gelöscht werden, da dann das Dokument in memoQ möglicherweise nicht aktualisiert wird.
- Schließlich können Sie das Skript testen. Klicken Sie auf Test run my program. Das Fenster Benutzerdefinierte Codeausführung - Test ausführen wird angezeigt.
- Wenn das Programm für ein Dokument ausgeführt wird: Exportieren Sie ein Dokument im MQXLIFF-Format. Geben oder fügen Sie dann den Pfad und Namen des Dokuments im entsprechenden Textfeld ein, oder klicken Sie auf Durchsuchen, um das Dokument auf dem Computer zu suchen. Klicken Sie auf OK.
Das Skript und das Beispieldokument werden auf den Server hochgeladen, Ihr externes Programm dagegen nicht. Es wird versucht, das Skript auf dem Server auszuführen.
- Nach Beendigung des Tests wird das Meldungsfeld Ergebnis testen geöffnet und darin ein Exitcode angezeigt. Wenn das Programm erfolgreich ausgeführt wurde, lautet der Exitcode 0. Bei einem Fehler wird als Code normalerweise -1 (oder auch eine andere Zahl) angezeigt.
- Klicken Sie abschließend auf OK.
Ein Midscript wird in memoQ automatisch ausgeführt, wenn das entsprechende Ereignis eintritt.
Wenn beispielsweise der Liefertermin für die Überprüfung geändert werden muss, wenn der Übersetzer zu spät liefert, wird das Programm ausgeführt, wenn ein Übersetzer ein Dokument liefert.
Um ein Skript zu verwenden, erstellen Sie ein Projekt über die Projektvorlage, und führen Sie den Workflow bis zu dem Punkt aus, für den die Ausführung des Skripts festgelegt ist. Überprüfen Sie dann, ob die erwartete Änderung tatsächlich erfolgt.
Sie können beispielsweise das Skript (das gesamte Programm) in die Projektvorlage einfügen. Es wird dann in memoQ in einen Ordner extrahiert und ausgeführt. Das funktioniert gut, bis Sie feststellen, dass ein Problem mit dem Skript vorliegt.
Dies können Sie in der Projektvorlage beheben. Wenn Sie jedoch eine Änderung in der Vorlage vornehmen, z. B. das Skript ersetzen, wirkt sich das nur auf neue Projekte aus. Wenn ein Problem in einem vorhandenen Projekt aufgetreten ist, lässt sich dies nicht durch Ersetzen des Skripts in der Vorlage beheben. Wenn die Vorlage das gesamte Programm enthält, müssen Sie das Projekt neu erstellen, wenn Änderungen am Skript vorgenommen werden müssen.
Es empfiehlt sich daher, die Hauptprogrammlogik niemals in der Projektvorlage abzulegen. Kopieren Sie das Programm stattdessen in einen Ordner auf dem Computer, auf dem sich auch das Projekt befindet. Bei einem lokalen Projekt handelt es sich dabei um Ihren Computer und bei einem Online-Projekt um Ihren memoQ-Server.
Fügen Sie der Projektvorlage dann eine einfache Batchdatei hinzu. Die Batchdatei dient nur einem Zweck, und zwar dem Ausführen des Hauptprogramms und dem Übergeben der Argumente (z. B. der Dateinamen) aus dem memoQ-Projekt. Ein Beispiel finden Sie weiter oben in diesem Thema unter "Einrichten eines Skripts für ein Online-Projekt".
Wenn in einem aktiven Projekt ein Problem mit dem Skript auftritt, gehen Sie wie folgt vor:
- Beheben Sie den Fehler im Hauptprogramm, oder lassen Sie ihn von dem Entwickler beheben, der es für Sie programmiert hat.
- Ersetzen Sie das Programm im separaten Ordner.
- Kehren Sie im Projekt an den Punkt zurück, an dem das Skript noch ausgeführt wird.
- Gehen Sie zu dem Ereignis, bei dem das Midscript ausgelöst wird. In memoQ wird die gleiche Batchdatei ausgeführt und das Hauptprogramm aufgerufen, das sich in der Zwischenzeit geändert hat, sodass das Programm nun anders ausgeführt wird.
Sie müssen die Projektvorlage nicht ändern. Wichtiger ist, dass Sie das Projekt nicht neu erstellen müssen: Sie kehren lediglich zu der Workflow-Phase zurück, in der das Skript ausgeführt werden sollte.
Abschließende Schritte
So speichern Sie die Projektvorlage und kehren zur Ressourcenkonsole zurück: Klicken Sie auf OK.
Möglicher nächster Schritt: Schließen Sie nach der Bearbeitung der Vorlage die Ressourcenkonsole, und erstellen Sie über die Vorlage ein Projekt.
So bearbeiten Sie die Projektvorlage weiter: Wählen Sie eine andere Kategorie aus, und passen Sie andere Einstellungen an.
So kehren Sie zur Ressourcenkonsole zurück, ohne die Projektvorlage zu speichern: Klicken Sie auf Abbrechen.