[xwiki-devs] [WIP] Wiki Explorer Widget
Hi devs, I'm currently doing some experiments about the wiki explorer and I've started to play with smartGWT. My initial plan was to use the new REST APIs to populate the wiki explorer tree, the root node would have called /rest/wikis, wiki nodes would have called /rest/wikis/WIKI/spaces, and so on. Unfortunately it is currently impossible to use multiple sources (REST in our case) to populate smartGWT TreeGrid, there are experiments in the field but this is not yet supported [1]. Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though), in our case it means that we'd have to build a huge XML file describing all the resources in the wikis to feed the wiki explorer; of course this is not an option. Here are the options I'm currently evaluating: 1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable). 2) Develop a dynamic tree on top of GWT Tree widget and: a) use the GWT XWikiService to populate the tree (need new methods, doesn't take advantage of REST operations). b) use restlet GWT REST client [2] to populate the tree from our REST services. c) use sonatype GWT REST client [3] to populate the tree from our REST services. [1]: http://forums.smartclient.com/showthread.php?t=3181 [2]: http://wiki.restlet.org/docs_1.1/13-restlet/144-restlet.html [3]: http://svn.sonatype.org/nexus/trunk/sandbox/nexus-gwt-ui/sonatype-gwt-rest/ Thanks, JV.
FYI, here's some interesting interface techniques to consider for exploring large spaces... that might also be useful basis for a completely different approach to http://dev.xwiki.org/xwiki/bin/view/Design/NewWysiwygEditorWikiExplorer http://www.smartmoney.com/map-of-the-market/ http://www.hivegroup.com/gallery/galleryapps_digg.html http://www.hivegroup.com/gallery/galleryapps_itunes.html http://www.hivegroup.com/gallery/galleryapps_amazon.html http://www.hivegroup.com/gallery/galleryapps_worldpop.html http://www.newsisfree.com/newsmap/ http://spotfire.tibco.com/tour/ http://www.cs.umd.edu/hcil/timesearcher/ http://www.cs.umd.edu/hcil/hce/ http://www.cs.umd.edu/hcil/lifelines2/ FYI -- I'm not saying the current tree/wizard approach isn't appropriate and that another approach is better given current resources and time.... It's just that this notion of a "multidimensional zoomable interface" into a graphical hierarchical/structural representation of the wiki you want to explore/edit is quite compelling for a "2.0" of wikiexplorer. Also, I believe having this kind of sexy UI stuff, and the general ease by which Xwiki lets you build "sexy ui" (e.g. http://nielsmayer.com/xwiki/bin/view/Timeline/TL2 ) could help Xwiki really stand out..... Niels http://nielsmayer.com On Thu, Feb 5, 2009 at 10:08 AM, Jean-Vincent Drean <jv@xwiki.com> wrote:
Hi devs,
I'm currently doing some experiments about the wiki explorer and I've started to play with smartGWT. My initial plan was to use the new REST APIs to populate the wiki explorer tree, the root node would have called /rest/wikis, wiki nodes would have called /rest/wikis/WIKI/spaces, and so on. Unfortunately it is currently impossible to use multiple sources (REST in our case) to populate smartGWT TreeGrid, there are experiments in the field but this is not yet supported [1]. Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though), in our case it means that we'd have to build a huge XML file describing all the resources in the wikis to feed the wiki explorer; of course this is not an option.
Here are the options I'm currently evaluating:
1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable). 2) Develop a dynamic tree on top of GWT Tree widget and: a) use the GWT XWikiService to populate the tree (need new methods, doesn't take advantage of REST operations). b) use restlet GWT REST client [2] to populate the tree from our REST services. c) use sonatype GWT REST client [3] to populate the tree from our REST services.
[1]: http://forums.smartclient.com/showthread.php?t=3181 [2]: http://wiki.restlet.org/docs_1.1/13-restlet/144-restlet.html [3]: http://svn.sonatype.org/nexus/trunk/sandbox/nexus-gwt-ui/sonatype-gwt-rest/
Thanks, JV. _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
Hi JV, It's a tough choice.. Besides the problem with the data source the SmartGWT's tree has everything that we need like drag&drop on the tree nodes? Also, are there many issues reported for the SmartGWT's TreeGrid? I don't know what's best.. Marius Jean-Vincent Drean wrote:
Hi devs,
I'm currently doing some experiments about the wiki explorer and I've started to play with smartGWT. My initial plan was to use the new REST APIs to populate the wiki explorer tree, the root node would have called /rest/wikis, wiki nodes would have called /rest/wikis/WIKI/spaces, and so on. Unfortunately it is currently impossible to use multiple sources (REST in our case) to populate smartGWT TreeGrid, there are experiments in the field but this is not yet supported [1]. Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though), in our case it means that we'd have to build a huge XML file describing all the resources in the wikis to feed the wiki explorer; of course this is not an option.
Here are the options I'm currently evaluating:
1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable). 2) Develop a dynamic tree on top of GWT Tree widget and: a) use the GWT XWikiService to populate the tree (need new methods, doesn't take advantage of REST operations). b) use restlet GWT REST client [2] to populate the tree from our REST services. c) use sonatype GWT REST client [3] to populate the tree from our REST services.
[1]: http://forums.smartclient.com/showthread.php?t=3181 [2]: http://wiki.restlet.org/docs_1.1/13-restlet/144-restlet.html [3]: http://svn.sonatype.org/nexus/trunk/sandbox/nexus-gwt-ui/sonatype-gwt-rest/
Thanks, JV. _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
I'm really against redeveloping anything unless we've exhausted all other options. I'd rather we try to find a solution with the smartGWT tree. Have you emailed the gwt project to ask them for advice? Thanks -Vincent On Feb 6, 2009, at 10:05 AM, Marius Dumitru Florea wrote:
Hi JV,
It's a tough choice.. Besides the problem with the data source the SmartGWT's tree has everything that we need like drag&drop on the tree nodes? Also, are there many issues reported for the SmartGWT's TreeGrid?
I don't know what's best.. Marius
Jean-Vincent Drean wrote:
Hi devs,
I'm currently doing some experiments about the wiki explorer and I've started to play with smartGWT. My initial plan was to use the new REST APIs to populate the wiki explorer tree, the root node would have called /rest/wikis, wiki nodes would have called /rest/wikis/WIKI/spaces, and so on. Unfortunately it is currently impossible to use multiple sources (REST in our case) to populate smartGWT TreeGrid, there are experiments in the field but this is not yet supported [1]. Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though), in our case it means that we'd have to build a huge XML file describing all the resources in the wikis to feed the wiki explorer; of course this is not an option.
Here are the options I'm currently evaluating:
1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable). 2) Develop a dynamic tree on top of GWT Tree widget and: a) use the GWT XWikiService to populate the tree (need new methods, doesn't take advantage of REST operations). b) use restlet GWT REST client [2] to populate the tree from our REST services. c) use sonatype GWT REST client [3] to populate the tree from our REST services.
[1]: http://forums.smartclient.com/showthread.php?t=3181 [2]: http://wiki.restlet.org/docs_1.1/13-restlet/144-restlet.html [3]: http://svn.sonatype.org/nexus/trunk/sandbox/nexus-gwt-ui/sonatype-gwt-rest/
Thanks,
On Feb 6, 2009, at 10:09 AM, Vincent Massol wrote:
I'm really against redeveloping anything unless we've exhausted all other options.
I'd rather we try to find a solution with the smartGWT tree. Have you emailed the gwt project to ask them for advice?
I meant smartGWT, not gwt....
Thanks -Vincent
On Feb 6, 2009, at 10:05 AM, Marius Dumitru Florea wrote:
Hi JV,
It's a tough choice.. Besides the problem with the data source the SmartGWT's tree has everything that we need like drag&drop on the tree nodes? Also, are there many issues reported for the SmartGWT's TreeGrid?
I don't know what's best.. Marius
Jean-Vincent Drean wrote:
Hi devs,
I'm currently doing some experiments about the wiki explorer and I've started to play with smartGWT. My initial plan was to use the new REST APIs to populate the wiki explorer tree, the root node would have called /rest/wikis, wiki nodes would have called /rest/wikis/WIKI/spaces, and so on. Unfortunately it is currently impossible to use multiple sources (REST in our case) to populate smartGWT TreeGrid, there are experiments in the field but this is not yet supported [1]. Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though), in our case it means that we'd have to build a huge XML file describing all the resources in the wikis to feed the wiki explorer; of course this is not an option.
Here are the options I'm currently evaluating:
1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable). 2) Develop a dynamic tree on top of GWT Tree widget and: a) use the GWT XWikiService to populate the tree (need new methods, doesn't take advantage of REST operations). b) use restlet GWT REST client [2] to populate the tree from our REST services. c) use sonatype GWT REST client [3] to populate the tree from our REST services.
[1]: http://forums.smartclient.com/showthread.php?t=3181 [2]: http://wiki.restlet.org/docs_1.1/13-restlet/144-restlet.html [3]: http://svn.sonatype.org/nexus/trunk/sandbox/nexus-gwt-ui/sonatype-gwt-rest/
Thanks,
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
Thanks -Vincent http://xwiki.com http://xwiki.org http://massol.net
On Fri, Feb 6, 2009 at 10:09 AM, Vincent Massol <vincent@massol.net> wrote:
I'm really against redeveloping anything unless we've exhausted all other options.
I'd rather we try to find a solution with the smartGWT tree. Have you emailed the gwt project to ask them for advice?
I didn't had to, since the question has been fired recently [1] thus leading to proposal 1). [1]: http://forums.smartclient.com/showthread.php?t=3181 JV.
On Thu, Feb 5, 2009 at 7:08 PM, Jean-Vincent Drean <jv@xwiki.com> wrote:
[snip] Note that using a single DataSource works like a charm but as far as I understand it is not designed to lazily load bunch of items after bunch of items from the server (they are lazily parsed/rendered though).
Note: I was wrong, the webservice is called with a parent parameter allowing to lazy load resources. Anyway this doesn't solve our problem since we need to use multiple REST APIs to crawl wiki resources.
Here are the options I'm currently evaluating:
1) Continue with smart(client/GWT) and extend smartGWT TreeGrid to be able to use multiple DataSource (if doable).
Good news, it is doable, smartclient architecture is designed for extensibility. I've been able to tweak the tree widget (still very rough). You can see a screenshot of it at: http://incubator.myxwiki.org/xwiki/bin/view/Crumbs/Tree JV.
participants (5)
-
Jean-Vincent Drean -
Jean-Vincent Drean -
Marius Dumitru Florea -
Niels Mayer -
Vincent Massol