Content translation/Development Plan/Roadmap/CX02Release

Content Translation 0.02 release
The goal of this release is to make the translation process more fluent and provide more flexibility in the way they start to translate. See below for the detailed development plan for each of these features

Increase language support (Labs->Beta->Prod)

 * 1) Languages with high-quality support through Machine Translation Engines
 * 2) Define criteria for enabling new language pairs. Done
 * 3) Selection waiting on prelim user testing of production-ready language pairs in Apertium
 * 4) Blocked due to technical issues in the infrastructure setup on wikimedia betalabs

Feature Set

 * 1) New entry Points
 * 2) Translation dashboard to initiate and continue translations.
 * 3) Auto-saving translation drafts as users translate.
 * 4) Initiate translations from dashboard
 * 5) Notifications pointing to the dashboard) about relevant translation-related events.
 * 6)  Entry point to the dashboard from the contributions page.
 * 7) Editor: improved language tools
 * 8) Editing
 * 9) Keep focus on content for a fluent editing.
 * 10)  Warnings and options for existing translations.
 * 11)  Avoid formatting to be added when pasting content.
 * 12) Exploration and basic support for the Yandex, Google or Bing API
 * 13) Category adaptation
 * 14)  Better support for links:
 * 15) Red links support
 * 16) Handle link adaptation for disambiguation pages
 * 17) Creating links and editing their target
 * 18) Infrastructure improvements
 * 19) Make it ready to be deployed.
 * 20) Analytics:
 * 21) Content Translation publishing data
 * 22) Visualization (basic)

Development Plan
Mingle Story Board

CX Deployment Plan for 0.02 Release November 2014
Deployment date: TBD

Project: Content Translation Framework

Release: 0.02 (third release)

Long-term project roadmap: Content_translation/Roadmap

Language Pairs to be supported:

Release as: Beta Feature

System Architecture
See: https://www.mediawiki.org/wiki/Content_translation/Technical_Architecture

https://www.mediawiki.org/wiki/Content_translation#Workflow_and_Technical_Architecture

https://www.mediawiki.org/wiki/Content_translation

Caching Architecture
The following diagram includes the caching requirements for the CX framework.

https://www.mediawiki.org/wiki/Content_translation/Server_communications_workflow

https://commons.wikimedia.org/wiki/File:CX_ArchitectureV1.svg

Components to be provisioned for production
CX server installation and configuration: https://git.wikimedia.org/markdown/mediawiki%2Fservices%2Fcxserver.git/HEAD/README.md

See Setup: https://www.mediawiki.org/wiki/Content_translation/Setup for detailed information about component, installation and configuation and instructions.


 * Node.js


 * Dictd server (Also see: https://www.mediawiki.org/wiki/Content_translation/Dictionaries)


 * Apertium


 * Extension dependencies:
 * BetaFeatures
 * CLDR
 * EventLogging

Varnish:
 * Backend Services


 * External APIs called by CX
 * Wikidata
 * Parsoid API

Upstart and Systemd scripts are at: https://www.mediawiki.org/wiki/Content_translation/Setup
 * Configuration Scripts

Provisioning Plan
To be determined from discussion with ops To be determined from discussion with ops To be determined from discussion with ops
 * Storage Requirements
 * Hardware Requirements
 * Bandwidth Requirements
 * Performance expectations


 * MT TPS (Transactions per second)
 * User responsiveness
 * MT Round trip
 * General guidelines


 * https://www.mediawiki.org/wiki/Performance_guidelines
 * https://www.mediawiki.org/wiki/Performance_profiling_for_Wikimedia_code

Monitoring and metrics

 * EventLogging activity for CX
 * Number of users enabling the feature
 * Performance of S:CX, backend calls?
 * Check for node and varnish? Who to page?
 * Graph showing requests or timings for the WikiData API(s) we are calling
 * Graph showing requests or timings for the Parsoid API(s) we are calling

External Signoffs Required

 * Faidon - Ops
 * Gabriel - Infrastructure architecture
 * Ori - Performance
 * Chris Steipp - Security
 * Greg G - Release engineering
 * Mark - Ops
 * Tim - Platform

LE Team responsibilities

 * Kartik - Deployment, Engineer
 * Niklas - Engineer, Code Reviewer
 * Santhosh - Engineer, Code Reviewer
 * David - Engineer, Code Reviewer
 * Joel - Engineer, Code Reviewer
 * Runa - Team Scrum-Ninja / testing and communications
 * Pau - Feature UX reviewer, designer
 * Amir - Feature signoff
 * Alolita - Engineering coordination, Eng Manager