We have a requirements to create a Website (ASP.NET v4.0) which displays a Graph. It should be able to do:
- Display nodes (with names and colours)
- Display links between the nodes, with text on the link (e.g. ‘85%’)
- Interact with nodes/links to drag/move/select
- Layouts out the nodes in a clear manner automatically
- Can add/remove nodes (asynchronously) and link/unlink easily
- Javascript interaction with events (onClick, onDrag)
- Events must provide identification of selected nodes/links (Javascript).
- Ability to zoom in/out (ideally)
- Updates Asynchronously (rather than full postbacks)
- Responsive when displaying >100 nodes
- Flash is not supported
- MUST support IE6 (just don’t ask…!)
- Development is Visual Studio 2010 on .Net Framework v4.0
We were currently using the Syncfusion Diagram tool (v. 6.1.0.34) running on v2.0, but recently upgraded to v4.0 and a breaking change in System.Web ViewState management means we need to find an alternative. Its possible the latest version (v8.3) is much better, but we’re reclutant to fork out a few thousand pounds for the licenses if its just as bad.
We found the Syncfusion tool ok, but it was very difficult to code against (without manual hacks) and it performed quite badly with large graphs when it loads 200 images from the server.
Really looking for some inspiration from your guys. Any suggestions or experiences shared would be most helpful.
Thanks in advance.
mxGraph is designed for this type of functionality (disclaimer – I do work for them). It does support IE 6 and is entirely written in JavaScript. It comes with .NET backend server classes to perform comms with the JavaScript client. In order to get responsive behaviour with over 100 nodes on IE 6, you need to switch to using a server side image over about 50-60 nodes, since IE 6 does perform very badly. We include an example to demonstrate how to do this. Give it a try, if you require evaluation support, there is a forum for that.