Extension talk:GraphViz/From Meta-Wiki
This page is an archive. Do not edit the contents of this page. Please direct any additional comments to the current talk page. |
Any user names refer to users of that site, who are not necessarily users of MediaWiki.org (even if they share the same username).
Graphviz
Please compare Extension:GraphViz with Extension:Graphviz (lowercase 'v'). -- Tim Chambers 1E4AF729D5CEFFD0
<graphviz> 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 <graphviz> 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:
<graphviz> digraph G{ A -> B } </graphviz>
If you see a graph with a blob A connected with an arrow to a blob B then it works.
Some of my experiences:
- The current sources of Graphviz.php are in Wicle's CVS.
- When compiling the Graphviz from the sources I needed the --with-mylibgd to get dot generate .png files.
- The graphs seen in IslandSeeds look better because that engine runs on Mac (see [1]} and its follow-up.
--Coriolan 05:37, 14 Jun 2005 (UTC)
Hi,
- 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
but, nothing works, <graphviz>...</graphviz> seems to be unreaded. Nothing inside is shown.
- pngs are created, but damaged
- the *.map files are empty <map id="G" name="G"> </map>
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>','',$map); $txt = '<map name="'.$storagename.'">'.$map.'</map>'.'<img src="'.$wgUploadPath.'/graphviz/'.$storagename.'.gif"'.' usemap="#'.$storagename.'" />'; } 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 <graphviz></graphviz> 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 :-/
Note that the above conversation may have been edited or added to since the transfer. If in doubt, check the edit history.