VisualEditor/status

Last update on: 2011-11-30

2011-05-16
Trevor Parscal and Neil Kandalgaonkar have done exploratory work on the visual editor project. Neil worked with developers of HackPad (a custom version of Etherpad, a real-time collaborative editing software) on a proof of concept of integration between Etherpad and MediaWiki (read more). They're now working on turning it into a MediaWiki extension. Work on the visual editor is also intersecting with the groundwork done on the new parser.

2011-06-02
Trevor Parscal and Neil Kandalgaonkar have done exploratory work on the visual editor project. Neil worked with developers of HackPad (a custom version of real-time collaborative editing software Etherpad) on a proof of concept to integrate Etherpad and MediaWiki (read more). They're now working on turning it into a MediaWiki extension. Trevor continues to work on WikiDom, a storage structure and functionality acting as an intermediate layer between the parser and a visual editor. This work also intersects with the groundwork done on the new parser.

2011-06-30
Trevor Parscal continued to work on the front-end of the visual editor, and specifications for accessing the editing surface via the API. A hybrid rendering approach appears to be the best strategy for the visual editor. Neil Kandalgaonkar continued to work on the middleware, DOM and transactions. Neil also continued to work on a demo to integrate MediaWiki and Etherpad. With Alolita Sharma, they planned their upcoming sprints. Neil and Trevor are posting about their work to the wikitext-l list.

2011-07-25
Trevor Parscal continued to work on the front-end of the visual editor and rich text rendering; he was joined by Inez Korczynski, a developer from Wikia, who are also interested in the visual editor. Neil Kandalgaonkar worked on real-time collaboration, concurrent editing and dived into the inner workings of Etherpad. (Read summary on wikitext-l.)

2011-08-31
Trevor Parscal and Inez Korczynski worked on a transaction-based model for the visual editor, where the document is built as a series of events (instead of saving it entirely at every change), which makes it easier to undo actions. Neil Kandalgaonkar continued to work on real-time collaboration and is close to presenting a demo of Etherpad working inside a MediaWiki edit window. Ian Baker investigated and started to work on a chat system to be integrated to the concurrent editing interface, for collaboration and live help. More details on the wikitext-l mailing list.

2011-09-30
Trevor Parscal expanded the software design documentation. He also refactored some of the data structures to follow a model/view controller pattern and support document-level transactions. He wrote tests for the new structure, and got it to render paragraphs and lists; he's now working on rendering tables.

2011-10-31
Trevor Parscal worked on a new model tree (and the conversion from the linear model) and updated the software design documentation. Inez Korczynski worked on front-end functionality: dialogs, selecting text, mouse actions, scrolling, keyboard shortcuts, etc. Roan Kattouw focused on algorithms that insert ranges of data into a document, and Neil Kandalgaonkar on the removal of data. On the parser side, a basic parser using PEG is in place, which produces an intermediate JSON object tree; Brion Vibber is still working on markup support (mixed HTML and Wikitext). Gabriel Wicke joined the team and started to work on the PEG parser (read more).

2011-11-30
Trevor Parscal fixed issues blocking the synchronization of structural edits to the user interface, refactored and cleaned up the code, and mapped out tasks and features to be supported. He also finished the document transaction functionality and made progress on an undo/redo system. Roan Kattouw added tests, rewrote some code to make the tests pass, and fixed a number of bugs and issues, notably in Internet Explorer. Inez Korczynski continued to work on content insertion, deletion and selection and fixed numerous bugs. Gabriel Wicke improved WikiDom compatibility, and evaluated alternatives to the PEG parser for robust larger-scale parsing. He defined an interface between the tokenizer and HTML parsers and started to improve the parser test system. He also implemented several wikitext features (lists, nowiki, pre, italics, bold) as token stream transformations.