Difference between revisions of "Wgraph:Architecture"
From FollowTheScore
(New page: == Architecture == ''wgraph'' is based on a very powerful graph layout and rendering product named '''[http://www.aisee.com aiSee]'''. * ''aiSee'' is developed and actively maintained by ...) |
|||
Line 1: | Line 1: | ||
== Architecture == | == Architecture == | ||
− | '' | + | ''Wgraph'' is based on a powerful graph layout and rendering product named '''[http://www.aisee.com aiSee]'''. |
* ''aiSee'' is developed and actively maintained by the German company [http://www.absint.com AbsInt]. | * ''aiSee'' is developed and actively maintained by the German company [http://www.absint.com AbsInt]. | ||
* ''aiSee'' is written in C++; binary versions are available for Windows and Linux. | * ''aiSee'' is written in C++; binary versions are available for Windows and Linux. | ||
− | * To use | + | * To use ''Wgraph'' you need a license of ''aiSee'' (non commercial use is free under certain conditions). |
* ''aiSee'' uses '''GDL''' as a graph definition language. | * ''aiSee'' uses '''GDL''' as a graph definition language. | ||
* The WGL language of ''wgraph'' is similar to GDL but has some additional features like a general typing concept for nodes and edges. | * The WGL language of ''wgraph'' is similar to GDL but has some additional features like a general typing concept for nodes and edges. |
Latest revision as of 12:30, 15 August 2007
Architecture
Wgraph is based on a powerful graph layout and rendering product named aiSee.
- aiSee is developed and actively maintained by the German company AbsInt.
- aiSee is written in C++; binary versions are available for Windows and Linux.
- To use Wgraph you need a license of aiSee (non commercial use is free under certain conditions).
- aiSee uses GDL as a graph definition language.
- The WGL language of wgraph is similar to GDL but has some additional features like a general typing concept for nodes and edges.
{{#wgraph: name= wgraph_structure | thumb= 45 | svg | png |
node user { icon user } node WGL { type code label "WGL script" color #ddffdd} node wgraph wg { type program label "wgraph (php)" color #ddffdd } node legend wg { label "wgraph translates WGL notation into GDL notation; it triggers aiSee in the background" textwidth 20 fontname timI10 bordercolor white height 80 } node html { type code } node aiSee wg1 { type program color #99ff99 } node wikitext { type code } node mw { type program label "mediawiki engine" } node GDL wg1 { type code label "GDL script" color #99ff99 } node png wg2 { type image } node thumb wg2 { type image } node svg wg2 { type image }
subgraph wg { label "wgraph extension" color lightyellow state wrapped } subgraph wg1 wg { label "layout engine" color khaki state clustered } subgraph wg2 wg { label "graph formats" color lightgreen state boxed }
edge from user to wikitext { label "edit" color red } edge from wikitext to mw { label "save" } edge from wikitext to WGL { label "contains" } edge from WGL to wgraph { label "parse" } edge from wgraph to GDL { } edge from GDL to aiSee { } edge from aiSee to png { } edge from aiSee to thumb { kind rightbentnear } edge from aiSee to svg { } edge from mw to html { } edge from mw to wgraph { type call } edge from wgraph to html { label "insert link" } edge from html to thumb { type link label "img" } edge from thumb to png { type link } edge from thumb to svg { type link } edge from wgraph to aiSee { type call } edge from wgraph to legend { type comment }
nodetype image { title image shape hexagon color lightcyan } nodetype code { color #ffffcc shape ellipse borderwidth 1 } nodetype program { color #ffccff } edgetype include { linestyle dotted } edgetype call { color red label "call" } edgetype link { linestyle dotted color blue label "href" } edgetype comment { kind near linestyle dotted arrowstyle none }
node.borderwidth = 1 node.height = 40 xspace = 140 splines = yes iconcolors = 1024 // subgraph wg {state folded}
}}
This graph was created with the help of wgraph. See the WGL source.
As you can see WGL is being translated to GDL by wgraph. Then the aiSee graph renderer is invoked in batch mode on the server and produces a png or svg image together with a small png thumb image. The thumb image is shown on the html version of the wiki page and links to the graph. The user will also find a link to the GDL code if he prefers local viewing. The aiSee rich client allows (among other features) to
- change the layout manually
- fold parts of the graph into subgraphs
- generate multipage postscript output
- interact with other local applications