create new tag
, view all tags
ALERT! Please see the TouchGraphPlugin reincarnation of the TG-Addon which is much easier to use and install.

TouchGraphAddOn Discussions

See also:
  1. TouchGraphPlugin
  2. http://www.touchgraph.com
  3. MeatBall:TouchGraphWikiBrowser
  4. TouchGraph
  5. TGGoogleBrowser
  6. WebMap
  7. LotsOfSmallWebs
  8. GraphLayoutPluginDev
  9. RelatedTopicsPluginDev

Open issues:

(1) The link database generator covers only ~ 10% of TWiki's link types. Fortunately, these make up ~ 90% of all links. Obviously, we want that other 10% as well.

(2) If you have one TGWB running and click |Graph| a second time, a completely new instance will be started. Obviously, we want the running TGWB to re-center its graph.

(3) Could the TouchGraph possibly span multiple webs? Currently it treats different webs as external links. Probably they should be "closer" than really external URLs.

-- PeterKlausner 09 Oct 2002

This is great stuff Peter! Some ideas, see also GraphLayoutPluginDev:

  • Plugin: You could convert this add-on into a Plugin that handles specific rendering, e.g. it could expand a %TOUCHGRAPHLINK% variable. That variable could be added to the WEBTOPICLIST WebPreferences setting, thus working transparently with all skins. (4)

  • Client installation: It would be nice if the user would not need to install anything on the client. The Touchgraph website has a Java Applet version that could be extended in a similar way like the TWikiDrawPlugin. The applet can read a URL if it is on the same server as the Applet. An oops dialog could host the Applet. (5)

  • Link database file name and location: Better not to put into the web home. The TWiki Plugin API does not yet define this, but the best place is the TouchGraphAddOn file attachment directory, e.g. %ATTACHURL%/%TOUCHGRAPHWEB%/TouchGraphAddOn. The Plugin would expand %TOUCHGRAPHWEB% to the web where it is installed. The filename could contain the name of the web and start with an underscore to identify it as a non-attached file. The files could be named like _LinkDB_Main, _LinkDB_TWiki, _LinkDB_Sandbox (6)

  • Link database file update: Instead of updating it by a cron job you could update it at the time when the user clicks on the Graph link, but only if the timestamp is greater then a certain limit. The limit would be a Plugins setting. Again, that would be handled by the Plugin, expanding the %TOUCHGRAPHLINK% variable. (7)

  • One web at a time or all webs: One could argue that there should be just one link database for all webs so that we have a smooth navigation across webs. Users can control the number of near topics shown with the "Locality" setting. Nodes could be colored in the web color to make it visually clear. In addition, a yellow mouse over box could display the name of the web. (3)

-- PeterThoeny - 10 Oct 2002

Just as an aside. I did a little work on the same thing. One difference was how I extracted the link data. I used LWP (Library for WWW in Perl) and for each file in the database constructed an approriate view url to fetch it (using the plain skin to cut down on clutter) and then parsed the result for actual links. This approach may be a simpler way to ensure you get all the links (although it may suffer from getting too many links - I didn't verify that all the links this approach found were "useful"). (1)

-- RoddyMacFarquhar - 10 Oct 2002

I agree with PeterThoeny's comments. I ran into two issues when installing this app:

  • The bin/tgdb script is not resilient against $pubDir/$web not existing. Note that this directory is created only when an attachment is added to a topic (or if it had been created before hand; there is no guarantee that this directory exists). The bin/tgdb script could just create this directory. (6)
  • For the installation on the client side, at least on my Windows 2000 there is no capability of setting the file attachment permanent using the dialog box that pops up (it is greyed out). Thus each time touchgraph is invoked, the touchgroup/launch.bat application has to be reassociated again (downloading a jar would probably be better anyway, as PeterThoeny describes above). (8)

-- ThomasWeigert - 13 Oct 2002

A general remark about this add-on: it is meant as "glue" between TWiki and AlexShapiro's work, not as full fledged application. I don't have the know-how (and time) to do serious Java programming.

In TouchGraphTopicList I discussed a few variants. From playing with real graphs for a while now, I think a mixed approch works best:
  • FOR each topic in web
    1. analyse META tags directly as with my current implementation
    2. render page with absolute minimum template %TEXT%
    3. analyse links as with RoddyMacFarquhar's implementation

That was my original plan; the graph should solve the navigation problem. But with the current TGWB implementation, I cannot render the label w/o the Web/ prefix. This clutters the graph awfully. Hmm. Still, this could be an option, useful in some enviroments. In general, I reckon, the graphs reduce the need for LotsOfSmallWebs.

I tought, a Plug-in with %FOO variables is called for, when you need to control the rendering of individual pages. Currently, I see only stuff at web-level, which all can be done from the templates.

I'm well aware, that an extra download -> install -> configure cycle is a killer for adoption on the internet; cf [Nielsen]. On the intranet - which is TWiki's focus - this is more feasible. E.g., TGWB is simple enough to put it on a shared directory. This reduces installation to setting the mime type once. And:
  1. If I understand correctly, TGWB is not available as applet -- just the core graphing engine is
  2. Even if it were available, I'm not convinced (any more) of Java applets. They are nice to get a first impression, sure, but mostly don't cut it for day-to-day use.

Thanks for reporting the bug; I mistakenly assumed, that it's mandatory to create the pub/$web directory up front. I'll fix that and the naming convention with the next upload

I was thinking about that as well. Should be fairly easy; Still, if you want a pretty accurate graph, you will end up generating it almost all of the times. Why?
If read/edit/graph activity is low compared to a timer, the cache is often out-dated. If relative activity is high compared to the timer, the last changes are missing.
You could fix that with touch date comparisons. Still: I reckon edit will be much more frequent than graph, invalidating the cached copy.

I guess cron + a manual update link, just as with statistics, is fair enough.

Technically, the script just sends down a special MIME Type application/x-touchgraph-launch. How to configure each specific browser/OS combo to handle new types, I don't know. My guesstimate is, that your admins disabled this feature, so that Joe Average can't ruin the standard MIME type - appl. mappings. Hmm. Maybe there is a registry work-around for that problem. Just don't have IE to try that myself.

A serios link database (~ 1000 topics) becomes a bottleneck. Once load time is beyond 10secs, usage after demo day will drop. Incemental updates might help - this is similar to (2). TGBW itself has to address this.

HTH -- PeterKlausner, 14 Oct 2002

Ad(2) (5) + (9), Alex has something in the queue:

-- PeterKlausner - 21 Oct 2002

Go Peter! Alex is also a recent collaborator with Dr. Douglas Engelbart!

-- GrantBow - 13 Jan 2003

Is it possible to add SSL supports for Wikis operating on a SSL enabled web server. It seems the client program of the TouchGraphAddOn is not able to handle https:// URLs.

-- DanielHaischt - 13 May 2003

Right. The underlying TouchGraphWikiBrowser does not support SSL. It should not be too difficult to link in the OpenSSL library, but there has been no activity on the wiki part since June 2002. Current development is geared towards API-level integration of novel apps frown

-- PeterKlausner - 18 May 2003

Patch for Ad(6):

--- bin/tgdb~   Sat Jun 21 04:15:27 2003
+++ bin/tgdb    Sat Jun 21 04:15:27 2003
@@ -78,6 +78,7 @@
        $the_topic = $file;
         processTopic( $dataDir, $web, $file )  if ( -d "$dataDir/$web" );
+    if (! -d "$pubDir/$web/") { mkdir "$pubDir/$web/" or die "could not make $pubDir/$web/ $!";}
     open LIST, ">$pubDir/$web/$touchgraph" or die "$web/$touchgraph: $!";
     print "\n$web/$touchgraph... ";
     foreach my $p (sort keys %parent_child)

Anyone get this to work with authorisation? Most of my webs are locked against TWikiGuest but I get no pop-up asking for username and password.

-- MartinCleaver - 21 Jun 2003

I did, but I had to edit the source to TouchGraph to add some basic authentication. It wouldn't do SSL, only Basic, but it worked. The main catch was that it required you to log on twice - once when you first access TWiki, then once again when you kicked off TouchGraph.

-- EvanStubbs - 27 Aug 2003

Great, any chance - please - that you can upload the changes?

-- MartinCleaver - 27 Aug 2003

I added a SHORTDESCRIPTION to the "Add-On Info" section so that this add-on is represented properly in the AddOnPackage topic and query topics. Please feel free to take this into the next release.

-- PeterThoeny - 04 Nov 2006

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r14 - 2006-11-04 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.