This is an overview of the functional behavior of the Crystalizer Silverlight application. You can find a more technical document describing the internals and the configuration of the application.
The Crystalizer application can be hosted in a standard HTML or ASPX page as part of a website. Altenratively, you can run the WinForm executable and this will host the web and data service.
If you start the WinForm host you will be presented with a choice to run the application inside the host or inside your default browser.
(Note that you sometimes need to click a few times to launch the first link)
On launching the application, the default node will be shown. This default is set in the configuration and it’s not shown in ‘expanded’ mode.
To expand (lazy load) the data you should click the number in the node, if any. If no number is present it means there is no additional data attached to the node. On clicking the number the data will be asynchronously fetched from the database. The speed of this action depends on the underlying connection and you can notice sometime a short delay.
By clicking on any node additional data (like the Email info for example) can be show in the adjacent window.
The data shown in a node and in the details panel can be easily altered (through XAML templates) to your needs.
Besides the default diagram layout there are a few other layout algorithms available in the interface, like the spring embedder and the radial tree layout.
The ’smart’ layout deserves a bit of explanation. It’s a combination of a tree layout and a mindmapping layout whereby the children and parents are layed out depending on the amount of nodes present.
Parents are always shown above the main nodes. If you click on the number of a parent node it will always load and replace the whole diagram since it would be visually difficult to show ‘nephew’ nodes of the main node with a common parent.
The children of the main node are either placed in columns on the left and right or underneath it, depending on a threshold (by default 3). Subsequent children (grand-children) will also be place inside the current diagram or replace it depending on the same threshold.
This smart layout allows one to show in a more pleasing fashion children of the main node without overflows in a certain direction (typically a long horizontal row of children).
Searching for nodes is easy, you simply type a few letters and press enter (or click the ’search’ button). You can double-click any of the results and it will load the data corresponding to the item. Note that the results show how many children are attached to the node. This means that if no number is shown the corresponding diagram will be just one node.
You can switch to edit mode by clicking on the ‘Switch readonly/edit views’ link in the tools panel. By switching to this mode the nodes become editable, both the data and their location. In this mode the search function is also altered, instead of replacing the nodes in the diagram the double-clicked item from the search-list will be added to the current diagram. Whether a node is added through the search or already present in the diagram, if you click-drag from one node the another a new link will be created.
You will be prompted to confirm the creation of this new link which will be created both in the diagram and on a database level.
You can delete links by selecting an existing link and press the ‘delete’ button on your keyboard. Note that both the addition and deletion of a link are performed asynchronously and that the confirmation dialog which confirms the creation or deletion can pop up with a short delay.
When you click again on the edit mode switch you will turn back to the readonly mode of the diagram.
The diagram will not automatically layout the diagram for you since at this point it’s not clear anymore which node is the main node. So, you need to either select again a node from the search list or click on a number inside a node to layout a fresh dataset.









