How to Read this Developer's Guide

Clearly, anybody new to the yFiles for Silverlight diagramming library should read Chapter 3, Getting Started to get a quickstart overview of the library and an initial idea of the API.

When working with the yFiles for Silverlight Viewer library component, the most important thing to understand is how the classes, and the functionality they provide, divide according to the Model-View-Controller paradigm.

Consequently, Chapter 4, Displaying and Editing Graphs is the most important chapter to read. It explains this division and describes the underlying graph structure implementation and the possibilities for the visual representation of all kinds of model items therein. It also presents the available view implementations that display a model, and discusses the comprehensive support for user interaction and how to customize it.

The remainder of the chapter presents the printing support and discusses the animation framework. This section can be equally skipped the first time in favor of Chapter 7, API Concepts, for example. Read this chapter to learn about the essential look-up mechanism that is used by yFiles for Silverlight and also about the concept for binding custom data to model items.

Additional functionality that is related to grouped graphs is presented in Chapter 5, Graph Hierarchies. Essentially, this chapter is an "extension" to Displaying and Editing Graphs, and hence should be read after it.

The I/O support of yFiles for Silverlight, including image export functionality, is described in Chapter 6, Input and Output. Note that this chapter is largely independent of any other parts of this document and can easily be skipped the first time.

Without knowledge of the benefits of (automatic) graph drawing, be sure to not miss out on "Preface."

The basic algorithms graph structure of the yFiles for Silverlight Algorithms library component is described in Chapter 11, Underlying Graph Model of the yFiles Graph Analysis Algorithms and Chapter 12, Working with the Algorithms Graph Structure. These two chapters are necessary for more involved graph analysis tasks, but can be easily skipped, initially.

Chapter 9, Graph Analysis that presents graph analysis algorithms, gives a quick introduction how to run them in conjunction with an IGraph-based graph in the section called “Using yFiles Graph Analysis Functionality”. This section should be read before any section on actual graph analysis algorithms.

The part on Automatic Graph Layout explains the layout concepts and provides in-depth information concerning all automatic layout algorithms. At the beginning of this chapter, "Using yFiles Layout Functionality" gives a quick introduction how to conveniently run the layout algorithms in conjunction with an IGraph-based graph. It should be read before any sections on actual layout algorithms.

"Using yFiles for Silverlight Algorithms Functionality" discusses the adapter mechanisms for calling layout algorithms and graph analysis algorithms in conjunction with an IGraph-based graph in detail. Initially, this chapter can be safely skipped.

The chapter "Underlying Graph Model of the yFiles Layout Algorithms" presents the LayoutGraph API, which provides the means for advanced customizations of a layout process that go beyond the support of the adapter mechanisms. As such, the chapter is needed in specific situations only.

Lastly, the glossary cannot be consulted often enough. It explains common graph structure related terminology as well as all terms specifically used with yFiles.

Appendix A, Obfuscation is a must-read concerning the actual deployment of any product developed using the yFiles for Silverlight library. It discusses the code protection requirements of the yFiles for Silverlight license terms and helps in understanding how to fulfill them properly.

The information in Appendix B, License Mechanism is equally important, but relevant also for software development since it explains how to use yFiles for Silverlight license files in yFiles for Silverlight-powered applications.

Figure 2.1. Developer's Guide structure

The structure of the yFiles for Silverlight Developer's Guide.