Modifier le modèle - Exécution de scripts personnalisés au milieu d’un projet (intermédiaires)
Experts seulement: Ne procédez pas si vous n’êtes pas familier avec les scripts, programmes, services et utilisateurs dans Windows. Si vous n’avez pas cette expérience, vous devez appeler un expert, possiblement un expert en TI.
À différents moments d’un projet, vous pouvez exécuter vos propres programmes pour manipuler des documents ou faire d’autres choses. Cela se produit comme une action automatisée – différemment de la préimportation et de l’exportation des scripts.
Parce que ces programmes fonctionnent entre l’importation et l’exportation, ils sont également appelés midscripts.
Je ne peux pas faire cela sans modèles : Vous pouvez faire cela uniquement dans des projets créés à partir de modèles de projets.
Lorsque vous l’utilisez pour manipuler des documents, les midscripts fonctionnent comme ceci:
- Quelque chose change dans le projet. Par exemple, le traducteur livre un document. Vous voulez modifier le document avant que le prochain utilisateur - Relecteur 1 peut-être - ne l’obtienne. Peut-être devez-vous remplacer un terme par un autre, ou débloquer des segments mais seulement s’ils contiennent un terme précis. Il y a des possibilités infinies.
- memoQ exporte le document au format MQXLIFF. Ceci est un document XML standard bilingue.
- Le programme parcourt le document. Ce programme doit prendre un fichier MQXLIFF en entrée, et il doit produire un fichier MQXLIFF. Le format ne doit pas être modifié - memoQ est sensible à cela.
- memoQ met à jour le document dans le projet à partir du fichier modifié MQXLIFF.
D’autre part, vous voudrez peut-être vérifier ou modifier quelque chose dans le projet, et non pas faire une modification à l’intérieur d’un document. Passer à une autre mémoire de traduction, ou changer une date limite - la liste est longue. Ceci est aussi possible:
- Quelque chose change dans le projet.
- memoQ n’exporte aucun document, mais:
- memoQ exécute un programme qui se connecte au memoQ TMS via l’API de services Web, et effectue un changement dans le projet ou les ressources connexes
A du sens dans les projets en ligne: Bien que vous puissiez configurer des projets locaux avec des midscripts, cela a surtout du sens dans des projets en ligne, sur memoQ TMSs. Ce discussion montre comment vous pouvez mettre en place un midscript dans un projet en ligne.
Configurez d’abord votre serveur: Si vous avez besoin de cela pour des projets en ligne, vous devez d’abord configurer votre serveur. Ceci est décrit dans la section Que pouvez-vous faire?, plus loin dans cette discussion.
Vous devez écrire ou acquérir le programme: memoQ n’est pas accompagné de programmes qui apportent les modifications nécessaires aux documents ou au projet. Soit vous devez écrire les, soit les acquérir d’un programmeur. Ou, vous pouvez vous tourner vers les Services aux entreprises memoQ, qui l’écriront pour vous moyennant des frais.
Pour préparer ou retoucher des documents texte, utilisez l’outil Rechercher et remplacer intégré: Pour en savoir plus, consultez le sujet sur le script de recherche et de remplacement.
Comment se rendre ici
- Ouvrez la Console de gestion des ressources
.
- À gauche, cliquez sur Modèles de projet
.
-
Sélectionnez le modèle que vous voulez modifier.
Mettre en place un modèle pour des projets en ligne ou des ressources: Utilisez un modèle en ligne pour cela. Choisissez votre memoQ TMS en haut de la Console de gestion des ressources. Cliquez sur le bouton Sélectionner
.
- Sous la liste, cliquez sur Éditer.
- À gauche, cliquez sur Actions automatisées.
- Sur l’onglet automatisation du projet, choisissez un événement (un déclencheur) dans le projet.
- À droite, cliquez sur le signe +.
- Dans la fenêtre de déclenchement, sélectionnez les actions que vous souhaitez ajouter, puis choisissez Exécuter du code personnalisé.
- Cliquez sur le bouton Ajouter.
-
La fenêtre Spécifier les détails du code personnalisé apparaît.
Pour changer une action automatisée existante: Si l’action Execute le code personnalisé est déjà présente dans l’onglet Automatisation du projet, sélectionnez-la sous Actions ajoutées au déclencheur sélectionné. Cliquez sur l’icône Paramètres à côté. La fenêtre Spécifier les détails du code personnalisé apparaît.
Que pouvez-vous faire?

Les scripts qui s’exécutent dans vos projets sont des programmes. Sur un serveur, tout le monde n’est pas autorisé à exécuter des programmes. Normalement, memoQ TMS n’est pas autorisé à exécuter des programmes - pour des raisons de sécurité.
Avant de lancer des scripts dans un projet en ligne, vous devez permettre memoQ TMS de les exécuter.
Doit être un administrateur et doit être un expert: Vous ne pouvez pas suivre les étapes ci-dessous si vous n’êtes pas un administrateur de l’memoQ TMS ordinateur, et vous n’êtes pas complètement conscient des choses que vous vous apprêtez à faire.
Vous ne faites pas cela depuis memoQ - mettez de côté la fenêtre memoQ jusqu’à ce que vous ayez terminé ces étapes.
- À travers Desktop à distance, connectez-vous à l’ordinateur memoQ TMS en tant qu’administrateur. (C’est-à-dire, vous devez être un administrateur de l’ensemble de l’ordinateur, pas seulement du memoQ TMS programme.)
- Ouvrir le Panneau de configuration. Choisissez Programmes et fonctionnalités. Sélectionner memoQ TMS. Cliquez sur Modifier. L’outil de déploiement memoQ TMS s’ouvre.
- Dans la section memoQ TMS du programme de déploiement, cliquez sur Options avancées, puis choisissez Configurer l’exécution du code personnalisé. La fenêtre Configurer l’exécution du code personnalisé apparaît.
- En règle générale, choisissez le compte de service virtuel ici. Cliquez sur Suivant. Ne jamais utiliser un compte prédéfini, tel que l’Administrateur. Vous pouvez utiliser un compte spécifique sous le bouton radio de ce compte. Mais vous devez faire très attention à le configurer, afin qu’il ne soit pas utilisé pour rien d’autre. N’utilisez un compte spécifique que si le compte doit être un compte de domaine, ou si votre script doit accéder à un autre ordinateur sur le réseau.
- L’outil de déploiement vérifie si les paramètres sont valides. Vous devez être un administrateur de l’ordinateur du serveur, et le compte sélectionné doit pouvoir se connecter en tant que service. Si vous voyez deux marques de coche vertes dans la fenêtre, cliquez Suivant. S’il y a une erreur, cliquez sur Précédent, et modifiez les paramètres.
- L’outil de déploiement configure memoQ TMS pour exécuter les scripts et programmes. Cela pourrait prendre un certain temps. Lorsque vous voyez le message indiquant que les paramètres ont été enregistrés avec succès, cliquez sur Terminer.
- Un avertissement apparaît que vous devez redémarrer memoQ TMS. Cliquez sur OK.
- Dans l’outil de déploiement, cliquez sur Arrêter memoQ TMS. Lorsque le lien Démarrer memoQ TMS apparaît, cliquez Démarrer memoQ TMS.
- Lorsque l’outil de déploiement signale que memoQ TMS est en cours d’exécution à nouveau, fermez-le.
Vos programmes peuvent avoir besoin de fichiers qui ne peuvent pas être stockés dans les modèles de projet. Ces fichiers peuvent être stockés dans le modèle de projet - mais s’ils sont dans le modèle de projet, vous ne pouvez pas les modifier ou les corriger pendant qu’un projet est en cours. Dans ce cas, vous devrez recréer l’ensemble du projet.
En raison de cela, vous devez placer certains - en fait, la plupart - des fichiers de programme en dehors du modèle de projet.
Lorsque vous configurez l’exécution du code personnalisé, l’utilisateur de service obtiendra le droit d’accès "Se connecter localement ", ainsi que des droits d’accès pour le dossier C:\ProgramData\memoQ Server\Scripting sur le serveur. Sous ce dossier, créez un autre dossier appelé Custom ou Scripts, et placez vos fichiers de votre programme là.
Avec cette configuration, si vous devez remplacer un fichier de programme - à cause d’un correctif, par exemple -, vous pouvez le faire dans ce dossier. Votre projet existant utilisera immédiatement le fichier du programme mis à jour.

Avant de commencer, vous avez besoin d’au moins deux fichiers:
- un fichier de programme principal qui effectue le travail réel dans votre projet. Il peut avoir besoin d’autres fichiers aussi. Vous devez les copier avec le fichier principal du programme ;
- un fichier batch qui contient une seule commande: démarrer le fichier de programme principal. C’est le fichier que vous mettez dans votre modèle de projet.
- Copiez le fichier de programme principal sur le serveur, dans le dossier Documents de l’utilisateur de service. (Exemple: c:\Users\_svc_mqsinternal\Documenting\Scripting.) memoQ TMS exécutera le fichier du programme principal sous le nom de l’utilisateur de service.
- Vérifiez le fichier par lots, afin qu’il pointe vers le bon dossier sur le serveur. Par exemple, le fichier batch peut contenir cette commande:
c:\Users\_svc_mqsinternal\Documents\Scripting\C_Converter.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
Ce fichier batch démarre le programme appelé C_Converter.exe et lui passe jusqu’à neuf arguments. Le programme est censé se trouver dans le dossier C:\Users\_svc_mqsinternal\Documents\Scripting, sur le serveur. Ce n’est pas un dossier sur votre ordinateur.
En fait, vous pouvez copier cette commande dans votre propre fichier batch - il suffit de remplacer le nom du .exe fichier si vous appelez un programme différent. Et vérifiez le dossier, bien sûr.
- Retournez à memoQ, connectez-vous au même serveur et modifiez le modèle de projet. Le modèle de projet devrait être sur le même serveur.
Projet en ligne, modèle en ligne: Ne jamais utiliser un projet local pour créer des projets en ligne - assurez-vous que le modèle est sur le même serveur.
- Choisir les actions automatisées. Sur l’onglet automatisation du projet, choisissez l’événement lorsque vous souhaitez exécuter le programme. À côté des actions ajoutées à la liste des déclencheurs sélectionnée, cliquez sur le signe +. Dans la fenêtre de déclenchement, sélectionnez les actions que vous souhaitez ajouter, puis choisissez Exécuter du code personnalisé. Cliquez sur Ajouter. La fenêtre Spécifier les détails du code personnalisé apparaît.
Si l 'action Execute code personnaliséest déjà là: Sélectionnez-le sous Actions ajoutées au déclencheur sélectionné. Cliquez sur l’icône Paramètres
à côté. La fenêtre Spécifier les détails du code personnalisé apparaît.
- Sous Sélectionner les fichiers nécessaires à l’exécution de votre code, cliquez sur Ajouter des fichiers. Trouvez et ouvrez le fichier batch qui démarre le programme principal. Ne pas ajouter le programme principal ici.
Pour remplacer un fichier de commandes ou un script: Sélectionnez le fichier dans la liste Sélectionnez les fichiers nécessaires à l’exécution de vos codes. Cliquez sur Supprimer. Ajoutez ensuite le nouveau fichier en cliquant sur Ajouter des fichiers.
- Dans la sélection des fichiers nécessaires pour exécuter votre liste de codes, sélectionnez le fichier de lot. Cliquez sur Définir en tant que commande.
- Mettez en place la commande suivante. Le nom de la commande est le même que le nom du fichier batch. Dans les arguments de la ligne de commande, tapez les arguments dont le programme principal a besoin. Si vous modifiez des documents du projet, vous devez ajouter {InputFilePath} et {OutputFilePath}. Dans ce cas, le programme doit prendre un document MQXLIFF comme fichier d’entrée et il doit produire un document MQXLIFF comme fichier de sortie.
Les espaces réservés liés aux documents n’ont de sens que si l’événement qui déclenche ce programme concerne un document.
Le programme peut également nécessiter d’autres arguments en ligne de commande.
Vous pouvez également utiliser d’autres espaces réservés, afin que votre programme puisse fonctionner avec l’identifiant du projet, ainsi qu’avec les langues source et la langue cible. Le programme utiliserait principalement ceux-ci pour trouver ou créer des dossiers afin que différents fichiers pour différentes fins soient gardés séparés.
Insérer un espace réservé: Cliquez sur Insérer un espace réservé, puis choisissez l’espace réservé dans le menu.

- InputFilePath: Le chemin complet et le nom du document du projet. Vous n’avez pas besoin de savoir ce qu’est ce chemin d’accès - il est produit automatiquement par memoQ.
- OutputFilePath: Le chemin complet et le nom du document du projet transformé qui est mis à jour dans le projet. Vous n’avez pas besoin de savoir ce qu’est ce chemin d’accès - il est produit automatiquement par memoQ.
- Atsigné pour: Le nom de l’utilisateur (traducteur, relecteur 1 ou relecteur 2) qui reçoit le document à travailler.
- Échéance: L’échéance de l’étape actuelle du flux de travail (traduction, relecture 1 ou relecture 2) du document.
- Finaldéadline: L’échéance de la dernière étape du flux de travail du document. C’est l’échéance de livraison.
- WorkflowStatus: L’étape du flux de travail (traduction, relecture 1, relecture 2) et l’état(Non commencé, En cours, Terminé) du document.
- SrcLangIso2: Code à deux lettres de la langue source du projet.
- SrcLangIso3: Code à trois lettres de la langue source du projet.
- TrgLangListIso2: Liste des codes à deux lettres des langues cibles du projet.
- TrgLangListIso3: Liste des codes à trois lettres des langues cibles du projet.
- ProjectGuid: L’identifiant unique à l’échelle mondiale du projet. C’est un nombre long, qui n’est jamais répété.
- DocumentGuid: L’identifiant unique au niveau mondial du document actuel.
- Choisissez combien de temps vous voulez attendre que le programme s’exécute. Parce que c’est une partie d’un projet en cours, cela ne doit pas prendre une éternité. Définir le nombre de secondes memoQ TMS doit attendre avant de mettre fin au programme (s’il ne se termine pas de lui-même).
- Si vous devez traiter et modifier des documents dans le programme, cochez la case Exporter les documents en MQXLIFF pour le script à traiter. Cela enregistre le document ou les documents avant que le programme ne soit exécuté.
- Si vous devez modifier le document exporté et mettre à jour le projet à partir de celui-ci: cochez la case Mettre à jour les documents dans le projet à partir de la sortie du script. Après que le programme a été exécuté, memoQ met à jour le projet à partir du fichier MQXLIFF modifié.
Le programme doit apporter des modifications mineures seulement: Le programme doit strictement respecter le format du document MQXLIFF. De plus, évitez d’ajouter ou de supprimer des contenus de manière excessive, car cela pourrait empêcher memoQ de mettre à jour le document.
- Enfin, vous pouvez tester votre script. Cliquez sur Exécuter le test de mon programme. La fenêtre d’exécution du test de code personnalisé apparaît.
- Si le programme fonctionne sur un document: Exporter un document en MQXLIFF. Tapez ou collez le chemin d’accès au document et le nom du document dans la zone de texte, ou cliquez sur Parcourir pour trouver le document sur votre ordinateur. Cliquez sur OK.
memoQ télécharge le script et le document d’exemple sur le serveur, mais pas votre programme externe. Le memoQ tente d’exécuter le script sur le serveur.
- Lorsque le test se termine, la boîte de message de résultat du test apparaît, avec un code de sortie. Si le programme a été exécuté avec succès, le code de sortie est 0. S’il y a une erreur, le code est généralement -1, ou un autre numéro.
- Après avoir terminé, cliquez sur OK.

memoQ exécute automatiquement le midscript lorsque son événement se produit.
Par exemple, si memoQ doit changer la date limite de la révision si le traducteur remet un document trop tard, le programme s’exécute lorsqu’un traducteur remet un document.
Pour utiliser les scripts, créez un projet à partir du modèle de projet et effectuez le flux de travail jusqu’à ce que le script soit prêt à s’exécuter. Puis vérifiez si le changement que vous attendez se produit effectivement.

Vous pourriez inclure votre script - l’ensemble du programme - dans le modèle de projet. memoQ extraire les dans un dossier et les exécuter. Cela fonctionne bien - jusqu’à ce que vous découvriez qu’il y a un problème avec le script.
Vous pouvez corriger cela dans le modèle de projet. Mais lorsque vous modifiez quelque chose dans le modèle - remplacez le script, par exemple -, cela n’affectera que les nouveaux projets. Si vous avez un problème dans un projet existant, cela ne changera pas lorsque vous remplacerez le script dans le modèle. Si le programme entier est dans le modèle, vous devez recréer le projet si vous avez besoin de modifier le script.
La bonne pratique est que vous ne mettez jamais la principale logique du programme dans le modèle. Au lieu de cela, copiez votre programme dans un dossier sur l’ordinateur où le projet sera - c’est votre propre ordinateur si c’est un projet local, et votre memoQ TMS si c’est un projet en ligne.
Ensuite, ajoutez un simple fichier par lots au modèle de projet. Le fichier de lot a juste une tâche: exécuter le programme principal et transmettre les arguments (tels que les noms de fichiers) du projet memoQ actuel. Pour un exemple, voir Configurer un script pour un projet en ligne, plus tôt dans ce sujet.
S’il y a un problème avec le script pendant que le projet est en cours, voici ce que vous devez faire:
- Répare le programme principal - ou fais-le réparer par le développeur avec qui tu travailles.
- Remplacez le programme dans le dossier séparé.
- Dans le projet, revenez à l’étape où le script s’exécuterait.
- Arriver à l’événement qui déclenche le script. memoQ exécute le même fichier par lots, et il appelle le programme principal - qui a changé entre-temps, donc le programme fonctionnera différemment cette fois.
Vous n’avez pas besoin de changer le modèle de projet. Ce qui est plus important, c’est que vous n’avez pas à recréer le projet - il suffit de revenir à l’étape du flux de travail où le script devrait s’exécuter.
Lorsque vous avez terminé
Pour enregistrer le modèle de projet et revenir à la Console de gestion des ressources: Cliquez sur OK.
Étape suivante possible: Après avoir terminé de travailler sur le modèle, fermez la Console de gestion des ressources et créez un projet à partir du modèle.
Pour continuer à travailler sur le modèle de projet: choisissez une autre catégorie et peaufinez d’autres paramètres.
Pour retourner à la Console de gestion des ressources, et ne pas enregistrer le modèle: Cliquez sur Annuler.