Data impact on Visualizer and Diagrammer

Visualizer is a component devoted to generate from raw data a visual representation based on graphs. Based on the dataProvider property, the component renders a computed visual graph ensuring:

Visualizer is designed to handle several data formats and display them whatever the structure(connected/disconnected, grouped/simple, hierarchical/cyclic...). Using a common internal data parsing model, it enables advanced interpretation of any input via reconstruction options specifically added to some supported formats.
From the supported data input, Visualizer creates nodes, groups and links and lays them out. Each created item will get injected with its corresponding data (extracted from the data input). The data is then re-injected into the item renderer for rendering directives (see Customizing rendering and look&feel section)

In Visualizer, the data property on each graph item (node, link...) is the unique information from which :

Diagrammer, as a component inheriting from Visualizer, have the same behavior regarding the data provider. It adds another functionality which is edition. In fact, when generating a graph from a given data using Diagrammer (via the dataProvider property), the user can modify the data by enabling edition on item renderers (updating data in the renderer instance) or by using default rendering.
While the data property is the lonely used input in Visualizer, Diagrammer adds another optional data properties that can be attached to each graph item. This data can be injected in each item via dataModel property and can be re-injected on the corresponding item renderer in the case that it implements the IEditable interface.
It is recommended to take profit from the dataModel property in order to decouple visual information (data property) from the represented data (dataModel property). That means that when using dataModel, the concerned item uses the data value to designate the rendering specifications and the dataModel value to represent the information behind the graph item. (see Working with data model section)