[xwiki-devs] [VOTE] Use jsTree as the standard library for creating trees in XWiki

Marius Dumitru Florea mariusdumitru.florea at xwiki.com
Thu Sep 25 10:11:11 UTC 2014


Hi devs,

There are a couple of places in XWiki were a tree widget is used or
needed: document index, WYSIWYG editor wiki page linking, XAR import,
navigation panel, database tree list, report step of Distribution
Wizard, extension upgrade when asking confirmation to clean unused
pages, etc. But we don't have a standard / recommended tree widget /
library. We use either SmartClient which is very heavy or a custom
tree based on Prototype.js.

Since we want to ditch the heavy SmartClient tree and we decided to
move away from the dead Prototype.js to jQuery I propose to use jsTree
( http://www.jstree.com/ ) as the standard / recommended library for
creating trees in XWiki.

It is one of the best and most used tree widgets written using jQuery.
I have used jsTree on the File Manager (
http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application
) and it was a positive experience. Moreover, there are other
extensions based on, like the Dynamic Hierarchy Macro (
http://extensions.xwiki.org/xwiki/bin/view/Extension/Dynamic+Hierarchy+Macro
).

My plan is:
* include jsTree in the default distribution (through a webjar
dependency); it won't be loaded by default, obviously; you'll have to
use Require.js to load it.
* start rewriting the current trees using jsTree

Here's my +1.

Thanks,
Marius


More information about the devs mailing list