Server project API
The server project API provides the following functionality:
Getting global information:
Managing server projects:
- Creating a new server project
- Creating a new server project based on a template
- Updating the header information for an existing server project (such as description, deadline, etc.);
- Retrieving information of an individual project or the list of server projects available on the server, optionally with filtering;
- Moving a project to the recycle bin and moving it back from the recycle bin (previously called close/unclose was);
- Deleting a project;
- Setting a project as wrapped-up;
- Launching a project (sends out notifications of the project and in case of automated projects enables auto-pilot mode) and resetting the project to the state before launch;
- Assigning translation memories to a server project;
- Retrieving the list of translation memories assigned to a server project;
- Assigning corpora to a server project
- Retrieving the list of corpora assigned to a server project;
- Assigning term bases to a server project;
- Retrieving the list of term bases assigned to a server project;
- Assigning light resources to a server project
- Retrieving the list of light resources assigned to a server project;
- Assigning users to a server project with their roles specified;
- Retrieving the list of users assigned to a server project;
- Retrieving the list of translation documents imported to a server project and also grouped by the source file the documents originate from;
- Delete a translation document from the server
- Assigning users to a translation document of a server project with their document assignment role and retrieving the assignment information;
- Changing the workflow status of documents and setting its status to delivered and moving it ahead in the translation process;
- Adding a new target language to an existing project;
- Adding a finished translation to a LiveDocs corpus as reference document;
- Renaming a project;
- Slicing and reconsolidating documents, retriving slices of a document;
- Turning off autopilot;
Translation document import/export
- Importing documents in primary format, such as plain text, XML, RTF, DOCX, etc.
- Importing document from a bilingual file: memoQ Bilingual (MDB) and XLIFF formats are supported (we plan to add two column RTF support shortly).
- Updating a document that is already part of the project from an XLIFF bilingual file or a Table RTF file;
- Exporting a translation document to its primary (original) format, such as plain text, XML, RTF, DOCX, etc.
- Exporting a translation document to a bilingual format: XLIFF, Bilingual RTF, Table RTF (Two-Column RTF) are supported.
- Reimporting translation documents and replacing existing documents with new versions of the document.
- File upload/download services should be used to upload or retrieve files.
Statistics
- Get statistics on all or specific documents of the server project;
- Also available as asynchronous tasks for entire project and specific documents
Pre-translation
- Pre-translate on all or specific documents of the server project;
- Also available as asynchronous task for entire project and specific documents;
- Pre-translation using Omniscien Technologies services.
Confirm and update
X-translate
Document history
- Get the document history related to all or specific documents of the server project.
QA
- Run QA checks and get a report of QA errors and warnings in a server project
LQA
- Run LQA statistics report generation optionally also in CSV or HTML format for a server project
- Run LQA rejected segments collection report generation optionally also in CSV or HTML format for a server project
Reports
- Analysis reports
- post-translation analysis report
- Create a new post-translation analisys report
- Get post-translation analysis report as CSV or as a structured object
- List PTA reports of a project
- Edit distance reports
- List edit distance reports
- Get a single fuzzy or levenshtein edit distance report as structured object
- Create a new fuzzy edit distance report
- Create a new levenshtein edit distance report
Package management in package-enabled projects
- Creating a new project from a memoQ handoff package
- List all packages in a project and packages for a particular user;
- Accept a delivery package and update the project with the deliveries
- Retrieve a delivery package
- Retrieve the contents of a package
- Prepare a package for download
- Updating a project created from a package with a new package
- File upload/download services should be used to upload or retrieve packages.
Management of image localization packages
Operation conflicts
Operations on a project may conflict with other operations performed on the same project. For example while a pre-translation operation is in progress documents from the project cannot be exported. This behavior applies to the Web Service API as well as operations invoked from memoQ user interface and automated actions. When a Web Service action cannot be performed because another operation is in progress a specific fault CannotStartOperationFault is returned. It is up to the caller to either discard the action or retry after some timeout period.
Project and document identifiers
A project is always identified with is unique identifier: ProjectGuid. A project contains zero or more (translation) documents. Each document is identified with a unique Guid as well. When a file is imported into a project, it receives a Guid (called "document Guid") that uniquely identifies the document within the project. When a document is imported into multiple target languages, it receives a separate Guid for each target language.
Please note that two documents within two separate projects may, under special circumstances, have the same document Guid. memoQ server currently guarantees that this does not happen for newly imported documents, but this was possible in the past. Hence, the document Guid together with the server project Guid is considered the absolute unique identifier.