Keep up to date with the Symphony Framework by subscribing to the mailing list.

Check out the new Symphony Framework Academy! It’s the home for information and tutorials to help you get the most from the Symphony Framework! Click on the Academy option below.

Symphony Framework Development

Symphony Framework Development Overview.

The Symphony Framework is a set of libraries written in Synergy.NET that allows for the rapid development of Windows Presentation Foundation desktop Windows applications. The code functions of the Symphony Framework is to enable the exposure of your synergy data in a standard Model-View-View Model design approach.

The core element of the Symphony Frame work is the Symphony Data Object. The Data Object is a base class that you extend to allow the exposure of your synergy data fields in a consistent manner that is fully supported by the Microsoft .NET Framework. The Symphony Data Object provides the ability for you to present your synergy data fields and public properties that you can data bind against. The properties are exposed as native Synergy types, not converted to native .NET types. The Symphony Framework provides powerful converters that allow you provide in-line conversions of your Synergy types to native .NEt types. This approach maintains the internal structure of your data fields and prevents the need for complex data conversion coding. You existing Synergy logic continues to process your Synergy data without change.

To take full advantage of the Symphony Framework you need to fully utilize the Synergy Repository. The Synergy Repository is central to all Synergy developments, including Symphony Framework based ones. By utilizing the Synergy Repository it is possible to fully code-generate your structure based Symphony Data Objects. Code generation is achieved by using the CodeGen Code Generator. CodeGen is a very powerful and flexible code generation tool available from Synergex. The Symphony Framework ships with a large number of CodeGen templates that allow you to quickly code generate the required elements of a Symphony Framework based development.

Once you have generated your Synergy Repository structure based Data Object you can begin to take advantage of the powerful capabilities provided by the framework. Data Object’s provide the basic MVVM requirements such as property change notification and data binding capabilities. SFDO’s (Symphony Framework Data Object’s – we’ll abbreviate it!) provide the ability to manage your Synergy data in the traditional record based manner by exposing a SynergyRecord property. This property allows your existing code to manage the data contained within the SFDO.

There are a number of methods within and events raised by an SFDO that provide you with the ability to control and extend the objects capabilities. For example you can initialize the data within the SFDO by executing the InitData() method. You can register validation event handlers that are called whenev data within the SFDO changes, thus allowing you to validate the data as it’s modified by both the user and your program code. For a full list of all the available methods and properties you can review the SFDO manual pages.

To take full advantage of SFDO’s you need to configure your Synergy Repository. There are a large number of settings and capabilities that can be defined for each field within your Synergy Repository. For full details, please select the required field type on the left.