Content translation/Development Plan/Roadmap/CX02Release

Content Translation 0.02 release
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) Selection waiting on prelim user testing of production-ready language pairs in apertium
 * 3) Blocked due to technical issues in the infrastructure setup on wikimedia betalabs

Feature Set

 * 1) Entry Points
 * 2) New entry point showing in Wikidata
 * 3) New translation suggestion from the contributions page (dashboard)
 * 4) Entry points showing by: editing on other languages, Babel, browser language, Accept-Language
 * 5) Language tools
 * 6) Editing
 * 7) Single section editing
 * 8) Editing of existing articles
 * 9) Warnings and options for existing translations
 * 10) Exploration and basic support for the Yandex, Google or Bing API
 * 11) Fallback language support
 * 12) Category adaptation
 * 13) Keyboard shortcut for link adaptation
 * 14) Handle link adaptation for disambiguation pages
 * 15) Translation dashboard
 * 16) Translation dashboard infrastructure
 * 17) Shared database - for users' translation dashboard and section mapping
 * 18) Design Revision of UI
 * 19) Templates
 * 20) Infrastructure improvements
 * 21) Analytics:
 * 22) Content Translation publishing data
 * 23) 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