Extension:Proofread Page/VisualEditor
Requirements
editMain and Author namespaces
editSupport of <pages> (example of use) and <poem> tags. Support for <section> isn't a blocker for test deployment as I believe that there are very few places where it's used.
<poem> tag is recognized in VE as a MWExtensionNode. It would appear as a block and if you click on it, an inspector will pop up letting you edit the text.
Page: namespace
editA Page: namespace page (example) contains the text proofread from a scan image. Each revision content of the page contains four different parts: three wikitext blobs, (body, header and footer by importance order) and a proofreading level indication that stores the proofreading level of the content and the last user that changed this level. Currently the four parts are serialized in a big wikitext blob but are handle as completely different things by the extension logic and the UI.
The existence of these four different parts require to customize the VisualEditor to make it support them all. A possible UI may be to output header, footer and body as three VisualEditor surfaces but just one after the other and to add the widget that allows to edit the proofreading level in the save menu.
Index: namespace
editIndex: namespace pages stores metadata about a book (example) in a structured way. I believe there is no need of VisualEditor there because something inspired by Wikibase would fit better the needs. So, no need of support of <pagelist> tag by the VisualEditor (but maybe by Parsoid only?).
Notes
edit- There is no fixed namespace ID for Page: namespace across wikis. The namespace ID is stored in
$wgProofreadPageNamespaceIds['page']
. - <pages> may be seen in the UI as a template because its behaviors are mostly similar.
- Related bug tickets: 46580 (original tracking bug for VisualEditor integration of ProofreadPage); 54668 (issue with Parsoid)