Verson 1.0.3 is out...#

  • QueryPlugin style page= parameter now works.
  • Context menus populated but non-functional (except "Pinning")

Next up is:#

  1. Making the plugin and the visualizer handle a hide= parameter where you can give it a comma separated list of page names to not show on the graph.
  2. Make a first attempt at a "decoration" directive. A decoration is something like: "Decorate all pages linking to PageFoo with the color Blue". When visualized the PageFoo would NOT be shown, but all pages that linked to it would be decorated Blue. Possible decorations under consideration are icon, fill-color, border-color, and textual.

Note to self...#

The initial model build time is slow... Maybe make the WikiModel serializable and cache it to local users disk? Cache with a last updated date then use WikiRPC to only get changes since that date? Later.... Argh!!! Okay so I make the WikiModel and subcomponents all serializable, put in the caching code and it's great and wonderful when run on my machine. Put it up as an Applet, and Whoops! found out I forgot about the security crap. I really don't want to have to sign this thing... Maybe make it work without caching if local file access is denied, and let each person modify thier policy file? Anybody got a preference? (Actually I don't expect that anyone is even trying this thing...) Let me think about it... --JohnV
Much later: much of this discussion is quite outdated, caching works if you grant it, otherwise the applet always builds from scratch. If the cache exists it's loaded and then it updated to be current by requesting changes since the cache time. I need to look around at work and see what the newest version I have there is, I think it's a couple of revisions newer than what's posted right now. --JohnV

OliBye is trying to use it (on an old 2.0.36 Wiki I know). How about making a WebStart wrapper for the applet. WebStart makes it easy for the user to allow file access. Maybe keep the Applet for small Wikis. We have a massive Wiki at XpDeveloper and it takes me 3 minutes to load the applet locally at 100Mbps.
Hmm I just might make it WebStart'able, I've not looked at WebStart yet but it does sound worth looking into just for fun. --JohnV

I wonder if you'd be better off getting the Plugin to spit out a list of all the pages and their forward links, like the original TGWikiBrowser. It didn't take long to generate or download. Hey where's the source code, maybe I could help.

The source code is in the jar file. The applet uses the same xml-rpc interface to generate the list of pages as the original so there's no speed difference there. With the implementaion of the cache it's just fine performance wise. Actually the cache helps alot since the tooltips over teh page nodes is cached locally too.

The other option would be to just give a start page, and only expand say 2 levels, like the google TGGoogleBrowser. -- OliBye

Well this visualizer always shows all pages and links on the wiki (that match a query if one is given), the radius and locality-shifting features of the original touchgraph browser were purposfully not added as features though the code allows for it pretty easily. This visualizer is intended to visualize the structure of a wiki-site, not to explorer a wiki site. The radius and locality-shifting are features most suitable for exploration. I have absolutly no free time, so the visualizer has been on a shelf since early 2004. It will remain there for a while longer so if anyone wants the latest code drop me a note and I'll be sure to post it. --JohnV

Thinking about how to give directives to the visualizer:
  • Via plugin parameters. (Emitted to <applet> params then read by the visualizer) This should be/have equivalent named command line parameters too, but running this from a command line isn't a prioroty for me.
  • Via parsing page text. Scan the wiki text of a page for directives about that page. The idea is that some pages you may want to have hidden by default (for instance LeftMenu), and on that page you would put a [VisualizerDirective hidden=true] plugin invocation. The plugin when run would do nothing, that is it would not emit any HTML to be shown on the page. This is simply a way to put text on a page that the main visualizer could look for to get one or more directives and not have the directive text shown on the page.
  • Via interactive popup menus. Within the visualizer itsself provide means to apply and remove various directives. Obviously changes to the visualization made this way won't be persistent, and won't affect the visualiztion for other people or later sessions.

Okay, I need to list the directives that I'd like to be able to use and define each ones behaviour. Hmm, I like the name "Directive" feels like a class to me. Moreso, plugins usually document their parameters, but while these things are more than simple plugin invocation parameters. And since I spoke of a companion plugin also, I think these should be catalogued and documented on the VisualizerDirectivesPlugin page.


What is the license for the Visualizer Plugin? #

It's un-licensed, do with it what you will, it's just code. The only thing I ask is that I get some feedback on it. I happen to have a project here at work where we need a visualizer like this. I'm on hook to do it, and it's not a core business thing so, I'm free to just toss this stuff out in the public. --JohnV

Can't run VisualizerPlugin#

Could someone fix the installation instructions? It seems that there are some things missing. AFAIK webapps can only access JARs in WEB-INF/lib, so why should all JARs be in the webapps root dir? No all four JARs are for the web browser, aren't they? How can I invoke the plugin? It seems that one needs a wiki page containing [{the right classe name}] which will invoke the plugin which will in turn generate the <applet> tags for the web browser. But what is "the right class name"? --BorisFolgmann

I'll second Boris' comments... --AdamSmith

Also can't run VisualizerPlugin 02/24/06#

Does VisualizerPlugin run on 2.2? I have the four jars in WEB-INF/lib. I uncommented the XMLRPC code in web.xml. I have the following in my wiki page:
[{INSERT com.mckessonaps.jspwiki.plugin.visualizer.VisualizerPlugin WHERE xmlrpc=http://www.jspwiki.org/RPC2/}]
I get a message that says "Applet com.mckessonaps.visualizer.applet.VisualizerApplet notinited". What do I need to do to get this working? --PattyC

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-32) was last changed on 26-Sep-2007 23:01 by JanneJalkanen