
| 
| 

| 
|  |  |  |  |  |  | | Nevron Diagram for .NET - Version History |  |
|  |  |  |  |  |

|  |  |  |  |  |  | Version Q2 2008 |
|  |  |  |  |  |  | - Improved Layouts

The following layouts were significantly improved:
- Layered Graph Layout - Added support for orthogonal edge routing, with integrated bus spacing, which allows for the generation of very nice looking orthogonal graph drawings. Added support for node alignment options, which help you specify the relative alignment of nodes inside the layer. Added support for different node ranking policies. Added support of in and out plug spacing, which work very well with bus spacing and further increases the drawing readability.

- Dock Layout - Added support for different filling and fitting modes.

- Orthogonal Graph Layout - Added support for plug spacing.

All layouts were carefully profiled and as a result the layouts now perform much faster.

- Improved Documentation

The documentation of the component has been improved in order to be more user friendly.

|  |
|  |  |  |  |  |  | Version Q1 2008 |
|  |  |  |  |  |  | - Support for inward–outward port connections

In this release we have implemented support for inward-outward ports. This feature lets you interactively glue an outward port to inward port. When an outward port of a shape is connected to an inward port, the shape will translate and rotate together with the shape owning the inward port. The translation aims to match the outward port location to the inward port location. The rotation aims to match both ports direction angles. For each type of port we have provided an extensive set of predefined modes in which a port can automatically determine its direction angle. Custom (user specified) direction angles are supported by all ports. This feature is extremely useful for interactive construction of connected shapes structures without edges. For example: in a floor plan diagram you can have a table with 4 inwards ports designated for the possible places where chairs can be placed. Chairs can have a single outward port. The placement of the chairs around the table is then a matter of simple drag and drop – Nevron Diagram will perform the snapping and glueing of the chairs to the table for you. When you move, rotate or resize the table the chairs will stay on their places.

- Powerful support for graph, tree and cells layouts

In this release we have added enterprise quality support for automatic layouts. The layouts are generally grouped in the following categories:

- Graph Layouts – perform automatic arrangement of graph vertices and edges. Included the following layouts:
- Force Directed Layouts - barycenter, spring and symmetrical. The implementation provides supports for lots of supplemental data provided on per edge and vertex basis. It addresses issues like magnetic fields, gravity force and vertex overlapping. The performance is significantly optimized due to the use of local temperatures. The overall quality of drawing is also improved because of the used global cooling method. It is suitable for any type of graph. Produces straight line graph drawings.

- Layered Graph Layout – represents a classical implementation, which layouts a graph in layers. The layout addresses issues like crossing and bending minimization. It is suitable for any type of graph. Produces polyline graph drawings.

- Orthogonal Graph Layout – represents a layout, which draws a graph only with horizontal or vertical line segments. The layout addresses issues like crossing minimization, bends minimization and overall compactness of the drawing. It is suitable for any type of graph. Produces orthogonal graph drawings.

- Radial Graph Layout - represents a layout, which draws a graph in radial circles. It is suitable for any type of graph. Produces straight line graph drawings.


- Tree Layouts – perform automatic arrangement of tree vertices and edges
- Layered Tree Layout – layouts a tree in layers. The layout addresses the breadth compaction of the drawing. Produces straight line and orthogonal tree drawings.

- Compact Depth Tree Layout – layouts a tree with minimal depth. The layout also addresses the breadth compaction of the drawing. Produces straight line and orthogonal tree drawings.

- Tip Over Tree Layout - layouts a tree by placing children in either a row or a col. The row column children placement is controlled on a per vertex basis. Addresses the overall compaction of the drawing. Produces orthogonal tree drawings.

- Balloon Tree Layout – layouts the tree in by placing the vertex children in a circular fashion. Addresses the overall compaction of the drawing. Produces straight line tree drawings.


- Cell Layouts – perform automatic arrangement of the vertices of a graph
- Stack Layout - represents a directed constrained cells layout, which stacks the cells in horizontal or vertical order. Depending on the layout direction the layout is constrained by either width or height.

- Flow Layout - represents a directed constrained cells layout, which arranges the cells in horizontal or vertical lanes.

- Dock Layout – represents space eating cells layout, which places vertices at per-vertex specified docking areas of the currently available layout area.

- Table Layout – represents a directed constrained cells layout, which arranges cells in a tabular manner.


- Dynamic image map in AJAX mode

In Q1 2008 Nevron web components now support a dynamic image map that can be automatically updated at the client on every callback. The developer has control over when the image map is generated when is and updated on the client. The dynamic image map allows client side filtering of mouse events and prevents unnecessary callbacks for server side hit testing.

- Controller-Tools Architecture in AJAX mode

Controller and tools are added to the Nevron client side JavaScript framework. All mouse events are now processed by the controller, which allows for implementing complex mouse handling logic and combining callback event processing with pure client side event processing.

- New AJAX tools

Based on the controller-tools architecture, the following tools were added: - Click, double click, mouse down, mouse up, mouse move, mouse over and mouse out callback tools – intercept the mouse events and route them to the server for processing; - Dynamic cursor tool– changes the mouse cursor over interactive visual elements; - Redirect tool– redirects the browser to a specified URL when interactive visual elements are clicked; - Tooltip tool– displays tooltips over interactive visual elements.

- Print Manager for Web Forms

None of the most popular web browsers is capable of printing really large images. Nevron .NET Vision Q1 2008 introduces a new HTTP handler that generates HTML, suitable for printing.

|  |
|  |  |  |  |  |  | Version Q4 2007 |
|  |  |  |  |  |  | Visual Studio 2008 Support
Q4 2007 release introduces compatibility with Microsoft Visual Studio 2008 and .NET 3.5
-
Nevron Diagram is now compatible with SQL Server and State Server session state modes.

-
You can chose from all .NET raster image formats in AJAX mode.

-
Extended server side interface for AJAX configuration. Now event queueing can be configured at server side.

-
Added CallbackExecuting and CallbackExecuted events for generalized handling of AJAX callbacks. The INHttpHandlerCallback interface is extedned with OnCallbackExecuting and OnCallbackExecuted methods.

-
Custom command events in AJAX mode now provide a way to return custom result to the client from within custom command handlers.

-
Added image map in AJAX mode. Now mouse events interception at client side can be filtered by custom regions, defined when the web control is initialized at the server, saving in this way bandwith and server resources.

|  |
|  |  |  |  |  |  | Version Q3 2007 |
|  |  |  |  |  |  | - Improved AJAX Support for Web Forms (VS 2005 Specific)

-
Improved browser compatibility.

-
Extended client side JavaScript class interfaces.

-
The Nevron Instant Callback technology was added as an alternative to the MS AJAX Callback, which greatly improves the performance of the web controls.

-
Configurable event queuing at client side makes mixing of mouse move, mouse click events and auto refresh possible and native to the web site visitors.

-
Improved behavior of the web controls on communication breakdown; a wait message is displayed and the server is queried periodically for availability; when the connection with the server is reestablished, the web controls continue normal operation.


- Improved Web Controls in Postback Mode (VS 2005 Specific)

HttpHandler image generation was added as an alternative to the traditional temporary image files used by Nevron web components. Now Nevron web components register an *.AXD virtual file in web.config and stream on demand images to the client through it.

- Ability to export images in EMF file format

The component can save images in EMF file format as well as to copy EMF images to the clipboard.

|  |
|  |  |  |  |  |  | Version Q2 2007 |
|  |  |  |  |  |  | - AJAX Support for Web Forms

Nevron Diagram for .NET Q2 2007 now supports ASP.NET 2.0 AJAX 1.0. Nevron web controls allow AJAX callback handling of the following mouse events: click, double click, move, down and up. Also, the web controls can be forcibly refreshed at client-side and auto-refresh feature is available. For more details on AJAX in Nevron web controls refer the AJAX topic.

- New shapes

- Food shapes

Included are 22 shapes related to food.

- Weather shapes

Included are 26 shapes related to weather.


|  |
|  |  |  |  |  |  | Version Q1 2007 |
|  |  |  |  |  |  | - New Shapes

Travel shapes - General shapes for displaying travel networks and diagrams.

- Improved Visual Studio 2005 Integration

Nevron Diagram for .NET VS2005 was designed specifically for
Visual Studio 2005, the diagram has seamless IDE integration and
easy deployment.

- Planned Improvements
 New Layouts
Graph Layouts Layered graph layout – hierarchically arranges graphs. Barycenter graph layout – implements the barycenter layout method. Spring layout – classical layout, which simulates spring and electrical forces. Different coefficients (spring stiffness, length, electrical charge) will be specifiable on a per object basis. Symmetrical layout – implementation of the Fruchertman and Reingold force model. Tries to achieve a symmetrical drawing in which the edges are equal in length. Custom force directed layout – lets you define your own set of forces, or use the currently provided forces.
Common for all force directed layouts are the following constrain forces:
Magnetic field force –impose an orientation of the edges. Magnetic fields can be combined. Supported are parallel, Polar and Concentric magnetic fields. Edge magnetization (bidirectional or unidirectional) can be specified on a per edge basis. Bounce back force – tries to additionally push overlapping vertices apart.
Tree Layouts
Layered tree layout – layouts the tree in layers. Tries to improve the breadth tree size. Compact tree layout – layouts the tree by improving both the breadth and depth tree sizes. Does not obey to layering in order to achieve compact tree drawing. Tip-over tree layout – layouts the parent children horizontally or vertically. The parent children arrangement is specified on a per parent basis. Radial tree layout – layouts the tree layers in concentric circles.
Pages
The diagram component will support pages. Each page will support different logical and display units, layers etc. The page will be controlled by a formula sheet.
Formula Shapes
Nevron diagram will support formula shapes. More details on this feature will be published additionally.

|  |
|  |  |  |  |  |  | Version Q4 2006 |
|  |  |  |  |  |  | - Planned Improvements

Although in this release there are no major
changes in the diagram, there are huge
improvements, which Nevron is currently
developing for this component. Since they
are beyond the scope of a single quarterly
release, they will be embedded in the
diagram when completely tested and
implemented.
- New Layouts
 Graph Layouts Layered graph layout - hierarchically arranges graphs. Barycenter graph layout - implements the barycenter layout method. Spring layout - classical layout, which simulates spring and electrical forces. Different coefficients (spring stiffness, length, electrical charge) will be specifiable on a per object basis. Symmetrical layout - implementation of the Fruchertman and Reingold force model. Tries to achieve a symmetrical drawing in which the edges are equal in length. Custom force directed layout - lets you define your own set of forces, or use the currently provided forces.
Common for all force directed layouts are the following constrain forces:
Magnetic field force - impose an orientation of the edges. Magnetic fields can be combined. Supported are parallel, Polar and Concentric magnetic fields. Edge magnetization (bidirectional or unidirectional) can be specified on a per edge basis.
Bounce back force - tries to additionally push overlapping vertices apart.
Tree Layouts Layered tree layout - layouts the tree in layers. Tries to improve the breadth tree size. Compact tree layout - layouts the tree by improving both the breadth and depth tree sizes. Does not obey to layering in order to achieve compact tree drawing. Tip-over tree layout - layouts the parent children horizontally or vertically. The parent children arrangement is specified on a per parent basis. Radial tree layout - layouts the tree layers in concentric circles.

- Pages

The diagram component will support pages. Each page will support different logical and display units, layers etc. The page will be controlled by a formula sheet.

- Formula Shapes

Nevron diagram will support formula shapes. More details on this feature will be published additionally.


|  |
| |  |  |  |  |  |  | Version Q2 2006 |
|  |  |  |  |  |  | - New features and functionality

- Implemented was support for WebForm views. In the context of WebForms the interactive viewing of DOM documents is achieved with WebForm views, which support many image output formats as well as HTML image maps and postback events

- Implemented were shape factories, which can help you easily create any predefined shape. Added were more than 180 predefined shapes. All of them are nicely grouped in thematic shape factories

- Added was support for stylesheets, which greatly minimize the effort needed to apply consistent styling to your diagrams

- Implemented were many graph and tree related algorithms (graph and tree traversal, spanning trees, checks for cyclic, connected graph etc.)

- Added was support for circular arc primitives


- Improvements in the DOM

- You can now instantly convert any 2D shape to 1D shape and vice versa. Plugs are automatically created/destroyed

- Elements now store most of their properties in property bags, which minimizes the memory footprint of the diagram

- The shape labels, ports and control point collections are now optional. You can create and destroy them as you see fit. In this way the diagram can further be lightened

- Improved was the way in which elliptical arcs are defined and edited

- Graph management was decoupled from shapes. You can now specify on a per shape basis whether you want a shape to be treated as a logical graph part

- Groups are now much easily created - just add the shapes in their shapes collection

- Composite shapes are now much easily created - just add the primitives in their primitives collection

- The composition and decomposition now preserves the local style formatting

- Added was support for primitive shapes. These are shapes, which aggregate a single primitive model and whose behavior is influenced by the primitive they aggregate - for example rectangle shape, ellipse shape, polygon shape etc.

- Added was support for form preservation of 1D primitive shapes, when you modify their start and end points

- Added was support for 22 different modes in which aggregate models can scale models they aggregate (for example the way in which shapes are resized in groups). The most commonly used are CartesianScaleAndReposition, RepositionOnly and AffineScale

- Added was support for element abilities and protection

- Added were several new batches. Most of the operations, which views and commands perform with document content go through batches


- Improvements in the WinForm views

- You can now globally specify what types of trackers must be created for the selected shapes (for example disable the creation of pin point trackers)

- You can specify whether reflexive and partially disconnected connectors should be created


- Performance optimizations

- Optimized was the initialization performance of documents

- Optimized was the update performance of documents

- Optimized was the rendering speed (especially of stroke elements with image filter shadows)

- Optimized was the hit test speed

- Optimized was the masters image generation


|  |
|  |  |  |  |  |  | Version Q1 2006 |
|  |  |  |  |  |  | - Performance

The rendering and hit test performance of the product has been significantly improved.

- Nevron DOM compliance

The product is now fully compliant with the Nevron Document Object Model.

- Nevron Persistency compliance

The product is now fully compliant with the Nevron Persistency engine, which implements structured serialization in binary, XML, SOAP, Custom
Binary and Custom XML formats.

- Merged View and Design modes

The View and Design modes of the views have been merged. As a result DOM objects can now receive interactive events, while at the same time you
can use the view tools to edit the document. You have full control over the priority in which the DOM objects receive interactive events.

- New graph edges

Implemented were several new types of graph edges the most important ones of which are the routable graph edge and the step3 graph edges.

- Improved library management

Library documents and library views has been significantly improved. As a result the masters previews are now much more realistic and libraries
are very fast to display and edit. You can now view libraries in five modes: icons and names, icons only, icons and details, list and thumbnails.

- Improved data exchange

The data exchange mechanism has been significantly improved, so that you can now easily extend the component to support different types of data
object formats. All you need to do is implement a data object adapt and register it in the document.

- Improved routing

The build in support for routing has been significantly improved. As a result the routing of routable edges is now much faster and if specified
can be automatically performed. Added were a lot of aesthetic considerations in the route finding algorithm such as minimal amount of turns, port
orientation etc. You can also specify on a per obstacle basis whether the route can cross the shape only horizontally or vertically.

- Improved snapping

The support for snapping has been significantly improved. As a result plugs can now snap to ports. You can specify the snap targets for each type
of point and you can also control the snap strength of each individual snap target.

|  |
|  |  |  |  |  |  | Version Q4 2005 |
|  |  |  |  |  |  | - Document Object Model

The Document Object Model (DOM) represents the set of objects, which you can use to build a diagramming document. Following is a brief summary of
the most important DOM features:
- Fully Extensible - you can subclass any DOM object and override its behavior

- Interface Based Framework - DOM object features are neatly grouped in interfaces. The framework is in this way decoupled to a large extend from the actual object types in works with

- Hierarchical Scene Management - DOM objects reside in hierarchical scenes

- Stencils - DOM objects can display reusable content from stencils. Currently provided are arrowheads and point stencils, which can host any model. Stencils are specially optimized to display predefined content

- Documents - documents are assembled from stencils, layers and models and can be displayed by multiple views. Currently there are drawing and library documents. Drawing documents support custom drawing scale configuration

- Measurement Units - currently supported are three measurement unit systems: GDI+, Metric and English, with complete set of the respective measurement units. You can also plug your own measurement unit systems (for example extend the component to support Japanese measurement units)

- Layers - documents content is neatly organized in layers

- Styles - the visual appearance of all DOM objects is controlled via inheritable styles

- Permissions - any action, which modifies DOM objects, must have the right permissions to do so. Permissions are also inheritable

- Models - models are the primary diagram building blocks. Models can be freely transformed

- Primitive Models - implemented is a complete set of graphics primitives (strokes, closed figures and texts)

- Aggregate Models - aggregate models are assembled from other primitive and/or aggregate models

- Shapes - shapes are aggregate models, which represent logical abstractions. Shapes can be involved in complex relationships. Shapes can have multiple ports, plugs and labels. Since any model can represent the geometry of a shape, shapes can even be nested

- Graph Management - the DOM provides the necessary means to help you easily manage directed and undirected graphs. In this way the DOM is a powerful tool for graph drawing of any type

- Groups - models can be grouped and manipulated as if they were a single model

- Routing - models, which represent routes can avoid other models, which represent obstacles. Supported are Poly and HV routing

- Persistency - documents can be saved in XML, binary and SOAP format

- Printing - documents can be printed on single or multiple pages. Implemented is built in support for print preview

- Image Export - an entire document or only portions of it can be exported to image of any type (JPG, PNG, BMP etc.). For documents defined in absolute measurement units (e.g. inches, millimeters etc.) you can also specify the target device resolution (helps you generate ready to print images)

- History - the entire DOM API is protected by history. Any property or method, which modifies the DOM objects state records history. The history can contain an unlimited number of actions. History actions can be grouped in transactions. Transactions can be committed or rolled back. Also nested transactions are supported. The history is implemented as a service so you can easily override it, suspend or lock it

- Entities - implemented is a large amount of entities, which facilitate batch operations on logically connected sets of nodes. Currently implemented are entities for basic layouts, transformation, translation, replication, format and ZOrder operations

- Event Handling - all events are fired from an event sink service, which provides you with the ability to consistently intercept all types of events regardless of the diagram you work with. Interactivity events (mouse, keyboard and drag drop events) support event bubbling


- WinForm View, Controller and Tools

In WinForm the viewing and editing of DOM documents is achieved with the help of views and controllers. Following is a brief summary:
|
|
|
|