//This is just an exploration of an idea at this point, without architecture or due date.//
ContentTranslation uses contenteditable for the translation editor. This works out mostly OK, because CX's purpose is to be a simple article creation tool rather than an advanced article editing tool.
Nevertheless, there are some issues in CX that //could// be solved by switching to the VE. Among them:
- Compatibility with IE (for example T104646 and T105446).
- Ability to start typing in empty lists (VE //probably// handles things like T103504 already).
- Inserting templates (T105445).
- ES: This list is a lot longer now - see "Blocks" list above.
Additionally, there are some other advantages, most obviously:
- General consistency in different editing interfaces.
- Possibility to share some of the linking controls.
- localization of the formatting toolbar (T90221, although this can //probably// be achieved also with OOJS-ui).
What would be the disadvantages and the blockers? When I proposed this in early 2014, there was a consensus that VE is not ready to be used as a component, although I don't know any technical details about this. Did this change since then? For what it's worth, it seems to function fairly well as a component of Flow.
Blockers, challenges, disadvantages:
- ULS IME - VE doesn't fully support it (yet). (T51569 - many of the remaining issues affect both CX & VE)
- Highlighting parallel sentences may be challenging (but Ed says that it may be done with VE fragments).
- ~~Saving and retrieving. CX does it with DOM. With VE it will have to be something like saving the DM and applying transactions to restore that state of the annotations.~~ VE can load and save DOM. You'd only need to store transactions if you wanted to preserve history.
- Corresponding elements in source and translation - links, references, templates, highlighted sentences.
- CX's parallel corpora functionality must be preserved.
- Ability to restore drafts that were saved before the transition to VE. - ES: this shouldn't be an issue
- Should it be before or after moving out of Beta?
- LE team has few resources, but the more we delay it, the more tech debt accumulates.