Extension talk:GraphViz/From Meta-Wiki

Graphviz
Please compare Extension:GraphViz with Extension:Graphviz (lowercase 'v'). -- Tim Chambers 1E4AF729D5CEFFD0

tags
I have installed GraphViz on a Debain server using apt.

I seem to have most/all of the executables installed and have put Graphviz.php in the extensions directory. Unfortunately it seems that MediaWiki is not interpreting the tags.

Is there a 'preferred' way to test the extension(s)?

I trust you also added include("extensions/Graphviz.php"); $wgGraphVizSettings->dotCommand = "$DOT_PATH/dot"; to your LocalSettings.php. After that you can test if it works with the code: digraph G{ A -> B } If you see a graph with a blob A connected with an arrow to a blob B then it works.

Some of my experiences: --Coriolan 05:37, 14 Jun 2005 (UTC)
 * 1) The current sources of Graphviz.php are in Wicle's CVS.
 * 2) When compiling the Graphviz from the sources I needed the --with-mylibgd to get dot generate .png files.
 * 3) The graphs seen in IslandSeeds look better because that engine runs on Mac (see } and its follow-up.

Hi, but, nothing works, ... seems to be unreaded. Nothing inside is shown.
 * i have installed this extension on MW 1.13.0 and Ubuntu Hardy
 * i have added the path to dot /usr/bin/dot
 * i have included the php to LocalSettings
 * pngs are created, but damaged
 * the *.map files are empty 

If I am using MW 1.7.3 I do have the same problem

btw. GraphViz Category Browser is not running, too The Special Page is there, but empty

GraphViz (/usr/bin/dot) is running without trouble

--ViktorD

Windows
If we only want to directly use the GIF file, please modified as following

...     str_replace("\\",'/',      substr($timelinesrc, 0, strpos($timelinesrc,'{') )))); }     $ext = ".gif"; $src = $dest. $storagename; $imgn = $dest. $storagename. $ext; $mapn = $dest. $storagename. '.map'; if ( $wgGraphVizSettings->named == 'named' || ! ( file_exists( $src.".gif" ) || file_exists(   $src.".err" ) ) ) {     $handle = fopen($src, "w"); fwrite($handle, $timelinesrc); fclose($handle); $cmdline   = wfEscapeShellArg($wgGraphVizSettings->dotCommand). ' -Tgif  -o '.wfEscapeShellArg($imgn).' '.wfEscapeShellArg($src); $cmdlinemap = wfEscapeShellArg($wgGraphVizSettings->dotCommand). ' -Tcmapx -o '.wfEscapeShellArg($mapn).' '.wfEscapeShellArg($src); $WshShell = new COM("WScript.Shell"); $WshShell->Exec($cmdline); $WshShell->Exec($cmdlinemap); }     ...	      $map  = str_replace(' ','',$map); $txt = ''.$map.' '.''; }     unlink($src); return $txt; } -- By Bennix, Fudan University, 2008

You must enable internet users to have read/execute access to cmd.exe before trying to use the Graphviz extension. Matt 16:44, 30 April 2008 (UTC)

What's the point in this?

if (substr(php_uname, 0, 7) == "Windows") { $ext = "gif"; } else { $ext = "png"; }

.png is used everywhere else in the file, so this actually makes it break! I removed it and changed the $txt line to always use .png.

Also I found it necessary to use $ret = `"{$cmdline}"`; instead of        $ret = `{$cmdline}`; because the default windows install directory for Graphviz is "c:\Program Files\Graphviz..." which contains a space. Without the quotes, windows assumes everything following the space is a parameter, which generates only a "'c:\Program' is not recognized as an internal or external command, operable program or batch file." error.

Thanks for the extension, it looks like it could be very useful once I get the hang of it!

--ProgMania 23:20, 3 September 2005 (UTC)

 COM("WScript.Shell") instead of shell_exec 

Using using the improved version found below on this page, I had problem getting this to work on a Windows Server 2003 machine with Apache 2.2 and PHP 5.2.6. The shell_exec command refused to execute the dot program for some reason. Replacing the two shell_exec calls with this code works for me.

$WshShell = new COM("WScript.Shell");

$WshShell->Exec($cmdline); $WshShell->Exec($cmdlinemap);

--Oskar, 2008-05-19

I found all the instructions above do not work on my Windows installation. However, the instructions found here worked the first time: http://www.wickle.com/wiki/index.php/Windows_Graphviz_Installation_Instructions. (Segraves, 2009-02-26)

safe_mode and antialiased rendering
please use popen instead of shell_exec, so that php safe_mode can work. not all of us want to run our servers as loose as a mexican whore.

i've also modified this plugin to use GraphicsMagick to render antialiased graphs from dot's svg output, it works very nice indeed. --207.109.251.117 11:26, 6 November 2005 (UTC)


 * Can you please provide the modified plugin? --202.1.193.10 17:45, 13 January 2006 (UTC)

Some Help Getting Graphviz to Work
I have an unusual set up as in I have a Uniform Server's WAMP ( Windows Apache MySQL PHP ) running from a Thumbdrive. Mediawiki ver 1.5. Graphviz.php extension installed The Graphviz is installed in the psedo drive W:\usr\local\ATT\Graphviz
 * The dot.exe is therefore W:\usr\local\ATT\Graphviz\bin

While adding in elements does have a Dos Prompt window pop-up momentarily, the resulting graph was never generated.

''Has anyone encountered this problem? And found a solution?'' Suggestions?

Directories and rights
My experiences from an install under FreeBSD 7.1:


 * Installed GraphViz from ports
 * (cd /usr/ports/graphics/graphviz/; make install clean)
 * Path for dot is: /usr/local/bin/dot, use that in LoacalSettings.php
 * create dir for images: .../wikiurl/images/graphviz/
 * replace ".../wikiurl/" with the full path for your wiki installation
 * chown www .../wikiurl/images/graphviz/
 * a cron entry to cleanup .../wikiurl/images/graphviz/ is a good idea
 * delete all png/gif/maps etc older than 7 days:
 * find .../wikiurl/images/graphviz/ -mtime +7 -type file -delete

--Schatchaos 20:20, 24 January 2009 (UTC)

Deletion of unused images
Hi is it possible to delete all the unused pngs ? i got only 20 images with graphviz, but the creationprocess produced over 400 files...(testing and stuff :) ) Is it possible to delete those ? They mess up my box :-/