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

Reply via email to