Content translation/Server communications workflow

Workflow

 * 1) Client request semantic data model for the article, source language, target language.
 * Server: Segmentation- paragraph, sentence, words, links. TODO
 * Server: Data model with all translations, dictionary as empty. Mapped to each segments- TODO: Details of this data model


 * 1) Once client receives the semantic data model. It renders the source article from  segmentedContent of data model.
 * If the word segments has meaning, we can visually indicate that it is word with meaning(See prototype)


 * 1) Triggers translation tool presenter
 * 2) Client: Update the data model regularly(?) TODO: push or pull?

What does the server do at the background?


 * 1) For the requested article content, language pairs, server creates a number of tasks
 * Example task: Contact wikidata and get the link transcluded
 * Example task: Contact yandex and get the translation for one or more segments-depending on provider capacity
 * There should be a task scheduler to prioritize and execute to work with API limitations etc.


 * 1) Upon completion of tasks, tasks update the data model.
 * 2) a) Either server push data model or b) client polls for data