Overview: Integrating GraphViz into Drupal to provide ways of visually mapping relations between Drupal objects.
(updated for SoC 2009)
Details
Several modules to facilitate generating visual representations of linked objects (nodes, taxonomy terms, users..) as network graphs:
- graphviz_filter:
- provides rendering of text in the DOT markup format into a graphviz output format (PNG, SVG, XDOT, ...)
- [graphviz_api]:
- basic convinience framework to generate DOT source from an hierarchical graph php object
- [graphviz_fields]:
- each node should provide multiple edge style fields that clumb together with a nodereference field each to connect nodes
- [graphviz_view]:
- view plugin that renders the relation graphs between (selectable) nodes (nodereference fields), users (user_hierarchy module?), taxonomies. many options thinkable..
there's something fancy new in the game which is canviz and didn't exist last year. Just in time Ryan Schmidt of http://ryandesign.com created a javascript renderer for graphviz - this means that huge graphs can be generated on the fly without transferring megapixel inline PNGs on each reload. See here how well this works: http://hfopi.org/files/temp/hello_canviz/index.html - that's just the sample graph replaced - and i was positively amazed to see it almost exactly looks the same on both sides. This means, some small changes to graphviz_filter to integrate canviz and all graphs can be either viewed client-side (canviz requires graphviz pre-rendered XDOT file, which is text and very lean), downloaded (PNG, SVG) or well, printed - best way of integration with print module still has to be tested.. Also it is for the prototype JS library, maybe something can be gained to transplant it to jquery which i am a bit more familar with, but.. What this could enable though is some clever AJAX editing of graph networks (! =)
Timeline
- teach graphviz_filter to output via canviz: 1 hour
- implementing framework module which takes a php object and spits out a DOT formatted string: 1 week
- creating a views plugin to generate graphs from linked objects: 2 weeks
- adding edge style field and UI: 1 week
- integration with print module: few days
- refining and expanding the view plugin: several weeks
- [D7 port: several days?]
- [AJAX node/graph manipulation: rest of time]
Deliverables
Three modules as described above in a state of general usefulness. This combination should be able to render a bunch of nodes linked by noderef fields (and/or grouped by taxonomy terms) in a highly customizable visual style and in a way that can be considered a satisfying usability experience. Furthermore, the modules shall provide a plausible API, be well documented, not cause php errors and be easily uninstallable.

Comments
Mcokup
http://hfopi.org/files/gsoc-2008/mockup.dot.png
"Obstacles are those frightful things you see when you take your eyes off your goal." -- Henry Ford (1863-1947)
Cool
Very neat. I'm not sure of the use cases, but I love the idea.
Nice!
+1
Please check out my reply at http://drupal.org/node/248943#comment-814728.
Any movement on this lately?
Any movement on this lately? That mock-up is looking exactly like what I need.
Almost done...
basic functionality next to completed, much more left to do but take a peak:
http://hfopi.org/topicgraph
http://hfopi.de/admin/build/graphviz_styles (feel free to play around)
"Obstacles are those frightful things you see when you take your eyes off your goal." -- Henry Ford (1863-1947)
The link is down as of dec
The link is down as of dec 2012 - would you like to upload your work to a drupal sandbox/github etc to enable others to continue the effort you have allready put in?
Here is a link to a working canviz sample: http://www.ryandesign.com/canviz/