Hi all, As presented last Saturday at the Hack-A-Ton, I've committed a new version of the InlineEditor extension. [1] This is an implementation of the sentence-level editing demo posted a few months ago.
Basically what this new version does is building a tree structure from all the markings. This has the advantage of being able to render only part of the tree when doing a preview, which has a significant performance advantage. However, there's also the problem of dependencies throughout the page, the most notable of which is the Cite extension. Right now this is resolved by just rendering the entire page whenever a dependency is encountered. Extensions are responsible for telling this by using a hook, right now there's only built-in support for references (Cite). A more scalable solution would be to enable extensions to rerender only the dependency by using some stored data acquired on the initial parse, and data from the subsequent partial parse. This will be one of the goals for the next version. Another advantage of using this tree structure is that now nested markings are possible. Now there are basically two (or perhaps more) possibilities of defining editing options. One is to differentiate based on functionality, like in the initial demo: Text, Media, Templates, etc. Another possibility is to differentiate based on block size (which uses nested markings): Sentences, Paragraphs, Sections, Full Text. Personally I think the second option will be better if the goal of the interface is to educate new users to become gradually more accustomed to wikitext. Anyway, further research should investigate what's the best interface. I'll be doing some usability research myself in the next few months, and the Wikimedia Foundation will be doing further usability research next year. If you like to play around with the editor, these are the lines you can add to LocalSettings.php to get started: require_once( "$IP/extensions/InlineEditor/InlineEditorFunctional.php" ); // functional approach *or* require_once( "$IP/extensions/InlineEditor/InlineEditorBlocks.php" ); // block size approach Feedback is welcome! Thanks for your time. Regards, Jan Paul [1] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/75344 _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l