=pod

=head1 graphcnv

Take textual graph descriptions and turn them into something that looks pretty.

This package is intended to integrate Graph::Easy into Wikimedia, the software
behind popular wikis like http://en.wikipedia.org/.

For instance this input:

	[ Bonn ] -> [ Berlin ]
	[ Berlin -> [ Frankfurt ] { border: 1px dotted black; }
	[ Frankfurt ] -> [ Dresden ]
	[ Berlin ] -> [ Potsdam ]
	[ Potsdam ] => [ Cottbus ]

would be rendered in ASCII as:

	+------+     +--------+      .............     +---------+
	| Bonn | --> | Berlin |  --> : Frankfurt : --> | Dresden |
	+------+     +--------+      .............     +---------+
	               |
	               |
	               v
	             +---------+     +---------+
	             | Potsdam | ==> | Cottbus |
	             +---------+     +---------+

The HTML output would look similiar except be more pretty :o)


=head1 Check the Signature

Install the Perl module Module-Signature, get my key from
http://bloodgate.com/tels.asc and then do:

	cpansign --verify

inside the unpacked directory. Please notify me immidiately if the signature
does not verify. In that case do NOT install this software, your system might
get compromised!

=head1 Installation

Install the following Perl modules into your system:

	Heap
	Graph
	Graph-Easy
	Graph-Easy-As_svg	(optional, for SVG output)

You can get these modules from http://search.cpan.org/

Afterwards, you should be able to run this on any command line:

	perl -MGraph::Easy\ 99

and it should report your installed Graph::Easy version (like v0.20).

	Graph::Easy version 99 required--this is only version 0.20.
	BEGIN failed--compilation aborted.

If it says something about "Graph::Easy" not being found, you need to
install it first as root (see above!).

Note: You do NOT need to install Graph::Simple (the former name of
Graph::Easy). If it is already installed, that will not do any harm,
however.

=head2 Run the testsuite

Run in the directory of this package:

	perl Makefile.PL
	make test

All tests should pass. If not, please notify me.

Then place the contents of this mediawiki-graph.tar.gz file so that it
is a subdirectory named 'graph' of your wiki installation like this:

	http_docroot
		\ - cgi-bin			etc
		\ - wiki
			\ - graph		<-- here
			\ - math		etc

Make a backup of your wiki directory! I repeat, MAKE A BACKUP! You have been
warned!

Now copy B<all> the files from the C<extensions/> subdirectory of C<graph> to
to the extension dir of your wiki, like so:

	http_docroot
		\ - cgi-bin			etc
		\ - wiki
			\ - graph
				\ - extensions	<-- from here
			\ - extensions		<-- to here

At present this is only one file, C<Graph.php>.

Then include the following line in your C<LocalSettings.php>:

	include('extensions/Graph.php');

Now you should be able to edit any page of the wiki and insert:

	<graph>
	[ Bonn ] -> [ Berlin ]
	</graph>

and hit preview.

If you get error messages like:

	Error running graphcnv.

make sure that you can run manually (from your wiki directory):

	./graph/graphcnv '[ Bonn ] -> [ Berlin ]' 'utf-8' 'ascii'

and get a pretty ASCII art back.

For more information please see L<http://bloodgate.com/perl/graph/>
or send me an email.

=head1 AUTHOR

Copyright (C) 2004 - 2005 by Tels http://bloodgate.com/

Contact: <nospam-abuse@bloodgate.com> (literally :)

This library is free software; you can redistribute it and/or modify
it under the same terms of the GPL version 2.

