r5 - 01 Aug 2002 - 13:25:00 - MarkusKlingYou are here: TWiki >  Codev Web > WebMap > WhereamiWindows
Tags:
, create new tag
Changes I made to map.svg you can find within the attached file http://twiki.org/p/pub/Codev/WhereamiWindows/map.svg.diff.
  • TWiki Initialisation
  • Use CGI instead of Lite version
  • pathes are used from TWiki Configuration
  • switch weather to use the %SEARCH{}% tags

Now comes the big part wink

Perl Modules required

Win32 Binary Distribution for Cygwin Graphviz can be downloaded from http://www.bell-labs.com/cgi-user/wwexptools/gensnapshot/i686-pc-cygwin/graphviz.tar.gz

Changes to Graphiz.pm since IPC:Run does not correctly direct stdin to a process when running within IIS.

include
use IPC::Run qw(run); # qw(run binary);
use File::Temp qw (tempfile );

... snipp ...

sub _as_generic {
  ... snipp ...
  my $program = $self->{DIRECTED} ? 'd:\\twiki\\cygwin\\bin\\dot.exe' : 'd:\\twiki\\cygwin\\bin\\neato.exe';

  # use absolut pathes an include them in ENV{'PATH'}!
  # orig: run [$program, $type], \$dot, ">", binary(), $out;
  
  my ($fh, $name) = tempfile();
  
  print $fh $dot;
  close $fh;
  
  my $tmp = "$program $type $name 2>&1"; 
  $buffer = `$tmp`;
  
  unlink $name; # remove temp 
  
  return $buffer unless defined $output;
}

-- MarkusKling - 21 Jul 2002


Caching

Since I have a very big TWiki with many cross-links online processing is nearly impossible without my servers going to its nees. Additional Changes made
  • use MLDBM to store link and reflink hashes for each web (requires DB_File!)
  • provide oopsref template
  • provide task based whole TWiki rendering
  • configurable time-out and tempdir

Please don't comment the code, its a 1h Hack!

The files:

-- MarkusKling - 21 Jul 2002

Looks very cool. Can you think of any reason why this couldn't work on UNIX?

-- MartinCleaver - 28 Jul 2002

I'm lacking context here... what is this all about? Making a picture based navigation aid? Is this similar to TouchGraph or WebMap? Could you post a screen shot?

thanks -- MattWilkie - 31 Jul 2002

Well it works on Unix since all Perl packages work on Unix wink I made some quick hacks to the RPM packages an the Whereami implementation (see WebMap for the original implementation) to work with Windows directories / input-output streams etc.

What is this all about?

It is Whereami: a WebMap / TouchGraph navigation which is rendered as svg+xml. The graph is first provided in a so called "dot" structure and then converted to svg+xml with an external program called dot. The changes I made were caching these dot structures (providing them is very time consuming) and a seemless integration into the TWiki templates concept.

An example:

You have no SVG Plugin installed. Try http://www.adobe.com
-- MarkusKling - 01 Aug 2002
Topic attachments
I Attachment Action Size Date Who Comment
elsesvg TWikiDocumentation.svg manage 119.6 K 01 Aug 2002 - 13:16 MarkusKling Example SVG
plpl map.pl manage 6.7 K 22 Jul 2002 - 12:48 MarkusKling Whereami including Caching
elsediff map.svg.diff manage 1.3 K 21 Jul 2002 - 20:51 MarkusKling Diff for Version 0.1
elsetmpl oopsref.tmpl manage 0.5 K 22 Jul 2002 - 12:49 MarkusKling OOps Template
gifgif template.gif manage 62.2 K 01 Aug 2002 - 13:26 MarkusKling The TWiki oops-template in action
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback SourceForge.net Logo