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. May not be needed with the backwards compatibility plan.
- 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.