Whoops, I meant to address this mail to wikitech-l, not wikitext-l. ;-) Regards, Jan Paul
> Hello, > > In commit 72458 I've added the InlineEditor extension. [1] This extension is > a working implementation of the prototype(s) earlier posted on this list. > It's not actually for use on live wikis, but more a proof-of-concept and > framework to experiment with. I will explain the extension in detail for > those of you who might be interested. > > == Design overview == > The extension exists of several parts, structured in sub-directories like the > UsabilityInitiative extension. The InlineEditor extension itself provides a > framework for different edit modes to build on. It displays the edit modes, > provides an interface to mark editable pieces of wikitext, provides a > client-side inline editor which the edit modes *may* use, is configurable > with several fallback options to the full/traditional editor, and handles > previewing, publishing, undo and redo. > > Every other extension provides an edit mode for the InlineEditor extension. > They hook into InlineEditorMark and InlineEditorDefineEditors. The first one > is called whenever wikitext is passed through the extension, and all edit > modes can mark their editable pieces. Once this is done, a few algorithms > will combine this with information of previously edited pieces, generate both > wikitext to run through the parser, and JSON which is passed to the client, > which maps the editable pieces to the original wikitext. The other hook is to > include CSS, JS and messages to the page. > > == Limitations == > There are many things which are sub-optimal right now: > * The editor is slow. Whenever changing a small element and previewing it, > the entire page is reparsed. This will be fixed by parsing only the element > if possible (i.e. references have side effects at the bottom of the page). > * It's for now only possible to use the editor as primary editor, with a link > to the full/traditional editor. There will be a configuration option whether > to do this, or display a message at the top of the traditional edit page to > switch to this editor. > * I've not tested things in older browsers (or IE at all, for that matter). I > only know it runs fine in Firefox and Chrome, but it may have bugs in other > browsers. > * The edit modes are really, really, basic right now. They may or may not > screw things up. Most of them have just one or a few regular expressions > which do well in general, but may fail at many edge-cases. > * The editor may not handle all the messages and edge cases of the > traditional editor. > * The extensions is written for MediaWiki 1.16 but may or may not work with > other versions. > > Also, I'm not sure at all whether the current set of edit modes is the way to > go. Currently, they are mutually exclusive. Meaning that text marked by one > editor is never included in text marked by another editor. However, maybe > it's better to not have edit modes like this, but different granularity of > editing. I.e. sentence => paragraph => block. This way the user will get > familiar with more wikitext instead of always seeing small portions. The > framework currently doesn't allow for overlap in markings, but I will work to > make this possible. > > == Goals == > Goal of this extension is to provide a framework to easily play with > different modes of editing in-line. Feel free to write extensions that use > this framework, or help with the framework itself. Any usability or technical > suggestions are also welcome! > > I hope to get some documentation up on mediawiki.org anytime soon, but note > that the code is heavily documented inline. Feel free to ask any questions: > I'm probably forgetting to mention some things that may not be clear to > everyone. Also, there is no public wiki at the moment to test this extension > with, will work on that, but if someone else can enable it on a test wiki > that would be great too! > > To install the extension(s), check the instructions in > /trunk/extensions/InlineEditor/InlineEditor.php. Thanks for your time reading > this! > > Regards, > Jan Paul > > [1] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72458 _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l