CTC Silverlight Client Generator - Features
For further details on all features see the CTC Silverlight Client Generator document.
CTC Silverlight View Controller Top of page

The CTC Silverlight View Controller is a control specifically designed to encapsulate everything related to the display of the generated forms/views, including all communication with the back-end EAE/AB Suite host system.

The control is implemented as a Silverlight control, allowing it to be added to any Silverlight application from which access to an EAE/AB Suite application is required.

Included with the generator is a default Silverlight application that utilises the CTC Silverlight View Controller. The View Controller is a flexible, customizable control that can be added to any Silverlight application. This allows customers to develop their own Silverlight solutions and include access to the EAE/AB Suite system as required. The default Silverlight application provides the starting point for customization.


CTC Silverlight View Controller (Design View)

CTC Silverlight View Controller (Runtime View)
The CTC Silverlight View Controller is designed to manage multiple ispecs being opened at the same time, allowing the end-user to interact with multiple ispecs independently of each other. See Multiple Ispecs below.

Major features of the CTC Silverlight View Controller include:
  • Complete host system session management.
  • Efficient Forms/Views Download Manager.
  • Support of Dynamic Properties allowing the EAE/AB Suite host application to set properties on controls at runtime.
  • Customization through flexible API and event handling.
  • Display of alternative views allowing Form Designers to paint forms using tools like Microsoft Expression Blend.

See also the Runtime Architecture.

Multiple Open Ispecs Top of page

The CTC Silverlight View Controller allows the User Interface to have multiple ispecs open concurrently. Depending on whether the host application is designed and implemented as a 'state full' or 'stateless' system, the CTC Silverlight View Controller provides two ways of achieving this:

  • 'state full' systems
    EAE and AB Suite systems allow a user to open and interact with only one ispec at a time within the same session. Therefore, to enable end-users to open and interact with multiple ispecs, 'state full' applications (i.e. applications that maintain the state of ispecs on the host using Global Work) require multiple sessions to the application. This means, if the user requires two ispecs open at the same time, two sessions are required. See "Multiple Sessions" below.

  • 'stateless' systems
    With 'stateless' applications, the state of open ispecs can be maintained on the client side allowing the User Interface to keep multiple ispecs open at the same time within the same session. See "Multiple Ispecs in the Same Session" below.

Multiple Sessions

The CTC Silverlight View Controller is designed to run multiple sessions within the same User Interface application. For each session that is required, a CTC Silverlight View Controller is added to the User Interface application. Multiple View Controllers can be set up side-by-side or in tabs.

The example below shows a User Interface application with two View Controllers side-by-side allowing the end user to display two ispecs at the same time, one in each View Controller.


Multiple CTC Silverlight View Controllers (Design View)

Multiple CTC Silverlight View Controllers (Runtime View)
The example below shows a User Interface application with three View Controllers in tabs allowing the end user to display three ispecs at the same time, one in each View Controller.


Tabbed view using Multiple CTC Silverlight View Controllers (Design View)

Tabbed view using Multiple CTC Silverlight View Controllers (Runtime View)
Sample Silverlight User Interface applications showing the usage of Multiple Sessions are included with the generator.

Multiple Ispecs in the Same Session

The CTC Silverlight View Controller is designed to manage multiple open ispecs at the same time within the same session. This can be utilized by EAE and AB Suite applications that are 'stateless' and therefore allowing the state of open ispecs to be managed on the client side within the User Interface application.

This allows the end user to open and close ispecs as required and navigate between open ispecs. Ispecs can be displayed in the same child-window, in separate child-windows, or in separate tabs. Any number of ispecs can be open at the same time. This also allows the opening of multiple copies of the same ispec.

Multiple Ispecs shown in the Same Child-Window
Below is an example showing five ispecs open at the same time. When the end user opens a new ispec, it is added to the 'Window' sub-menu. When the user selects an ispec from the 'Window' sub-menu, the ispec becomes the current active ispec ready for interaction.


Multiple Ispecs in the Same Child-Window
Multiple Ispecs Shown in Separate Child-Windows
Below is an example showing four ispecs open at the same time and displayed in separate child-windows. When the end user opens a new ispec, depending on the chosen option, the ispec can be shown in a new window or within the current window. The ispec window is added to the 'Window' sub-menu. When the user selects an ispec from the 'Window' sub-menu, the ispec selected becomes the current active ispec ready for interaction.

The user can open any number of child-windows. Using separate child-windows provides the opportunity for the end-user to arrange the windows tiled (side-by-side), horizontal or vertical as required.


Multiple Ispecs in Separate Child-Windows
Sample Silverlight User Interface applications showing the usage of multiple open ispecs in the same session are included with the generator.

Out Of Browser Top of page

The default Silverlight application delivered with the generator provides support for running Out-Of-Browser through the OutOfBrowser generate option. Out-Of-Browser is a Silverlight feature allowing an application to be installed onto the desk-top of the end user workstation providing a desk-top like look and feel to the application.

As the screen shots below show, an application running Out-Of-Browser doesn't have the distraction normally provided by the browser chrome, such as the URL entry, search box and internet navigation options.

An Out-Of-Browser enabled application is installed automatically to the end user workstation as well as updates to the application are distributed and installed automatically.


'Normal' In Browser Application
   

Out Of Browser Application

Client Side Printing Top of page

The CTC Silverlight solution provides support for printing data from an ispec specially formatted for printing purposes utilizing the Silverlight 4 Printing API.

The solution includes an IspecPrint control for printing single page or multi page documents. The IspecPrint control includes features such as:
  • Automatic pagination
  • Support for list items of varying height
  • Total page count
  • Templating
  • Page headers and footers
  • List header and footer with support for calculated fields
  • Multiple Copies
  • Events to allow hooking into printing at various stages

The IspecPrint control provides a number of templates for the various sections of a page as shown in the following:


IspecPrint Control - Page Layout and Templates
The content and layout of each of the templates is user defined. All templates are optional. Only the templates required for the desired printout will need to be specified.

The print solution also includes the ability to retrieve all rows of a CopyFrom ispec from the host system to be included in the printed document.

The example below shows a printout of a single page ispec with a background watermark and two copies:


Sample Ispec Printout - Single Page Including Two Copies
The example below shows a printout of a CopyFrom ispec spanning multiple pages:


Sample Ispec Printout - CopyFrom Spanning Multiple Pages

Print Preview

Included with the CTC Silverlight solution is a Print Preview function allowing the user to preview the printout in different page formats before sending it to the printer.

Below is an example of the Print Preview function:


Sample Print Preview Function

Configurable Controls Top of page

You can specify how a control is generated. Any property you can specify on a Silverlight Control can be specified on all CTC Controls, Standard Controls and Custom Controls.

The CTC Configurator provides a Properties Editor as seen below, which allows the user to edit the complete set of properties for a control. Properties can be added or removed to generate the look and feel as required.


Control Properties Editor
Examples of property edits:

The following shows the standard look and feel of the Push Button control.


Standard Push Button Look and Feel, No Editing
Simply removing the Background Color property from the Push Button achieves a default 3D effect.


Standard Push Button, Background Color Property Removed
Adding a Background Image to the buttons provides a different look and feel.


Standard Push Button, Background Image Added

Font Substitution Top of page


Options for Configuring Font Substitution
By default, Silverlight supports the following limited set of local fonts: Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Lucida Sans Unicode, Portable User Interface, Times New Roman, Trebuchet MS, Verdana, and Webdings.

In order to work aound this limitation without having to change forms that are painted using other fonts, such as LincDefault and LincDefault New, the CTC Silverlight Client Generator provides a number of options for configuring font substitutions as seen here.

Fonts painted on the forms can be substituted with any of the local fonts supported by Silverlight or fonts of your choice can be embedded with the generated forms. When substituting fonts it may be necessary to specify a scaling factor to be applied to achieve a suitable font size.

CTC ComboBox Control Top of page

As an alternative to the Silverlight ComboBox control, the CTC Silverlight Client Generator includes the CTC ComboBox control providing additional capabilities. The CTC ComboBox control offers the usual DropDownStyles - Simple, Dropdown and DropDownList - and AutoComplete feature.


CTC ComboBox Simple
List always visible, Typing allowed, AutoComplete enabled

CTC ComboBox DropDown
List drops down, Typing allowed, AutoComplete enabled

CTC ComboBox DropDownList
List drops down, Typing not allowed, Selection only, AutoComplete disabled

Identification of Label Controls Top of page

The Generator enables identification of Label controls on a form allowing the user to configure and style individual Labels in different formats. Below is an example of a label painted as the heading on all forms.


Standard Label Control, No Editing

Standard Label Control with Highlighting Properties Added

Custom Controls Top of page

Custom Controls will enhance the user interface further. For example:
  • by substituting controls painted in the Development environment by additional Silverlight controls such as DatePicker, DataGrid and Charting controls
  • by implementing custom Silverlight controls
  • by implementing Third Party Silverlight controls. Many Third Party controls for Grid Views, Data Entry, Date and Time are available on the market.

Custom Controls replace controls painted on the form as in the example below where the DatePicker control replaces a date field painted as a TextBox.

Below are a few examples of how custom controls can enhance the User Interface. See complete list of custom controls delivered as part of the CTC Silverlight Client Generator.

Date Picker


TextBox configured to be replaced with DatePicker for Date Fields
  

Standard TextBox Date Field

DatePicker Control replacing the TextBox Date Field
Included with the CTC Silverlight Client Generator is a Visual Studio 2008 project containing examples of how to implement different types of custom controls, such as the DatePicker, a DataGrid control and a Charting control.

Data Grid

The DataGrid is a Silverlight control often used instead of the standard ListBox. The DataGrid offers many different presentation options such as defining multi columns with column headers, column sorting, column resizing, column reordering and alternating row styling. Below is an example.


Standard ListBox Control with Multi Columns

  

DataGrid Control replacing the Standard ListBox Control
with Multi Columns
Charting

The example below shows how the Silverlight Toolkit Charting control can replace the Standard ListBox and dynamically provide a chart from the data that otherwise would be displayed in the ListBox.


Standard ListBox Control with Multi Columns
  

Charting Control replacing the Standard ListBox Control
Themes Form Control

The Themes Form Control utilizes the Theming provided by the Silverlight Toolkit. The Themes Form Control allows you to choose from a library of pre-built themes and apply a different look and feel to the generated forms without having to change the forms.

Below are a few examples of different themes.


Shiny Blue Theme
   

Shiny Red Theme

Expression Light Theme
   

Bureau Blue Theme

CopyFrom as Table Top of page

The option 'CopyFromAsTable' allows CopyFrom regions in CopyFrom ispecs to be generated as tables. Labels painted directly above the CopyFrom region can automatically be recognized as column headers. This is controlled by the option 'CopyFromAutoColumnHeaders'. The CopyFrom region can be generated either as a traditional table using the Silverlight Grid Layout control or as a Silverlight DataGrid control. This is specified via the CopyFromType option. Both the Grid Layout control and the DataGrid control provide properties allowing for customization of the look and feel of the CopyFrom region to suit local requirements.

Below is an example of a typical CopyFrom region generated as a table.


Standard CopyFrom Region

CopyFrom Region generated as a Table Grid including Automatic Column Header Detection

CopyFrom Region generated as a DataGrid control including Automatic Column Header Detection

Alternate Views Top of page

The Alternate Views feature is intended for those who want to use tools like the Microsoft Expression Blend for painting forms.

One of the benefits of Silverlight is the separation of presentation from data, which is achieved through the databinding capabilities. This allows the collaboration of forms designers and programmers on a project, where the designers use specialized tools like Microsoft Expression Blend for painting forms while the programmers can concentrate on the business logic.

The CTC Silverlight Client Generator creates a separate form and data class for each ispec. This separation allows painting alternative forms while still utilizing the data layer.

Creating an Alternate View is as simple as setting the AlternateViewCreate option and painting the form using Expression Blend. At runtime, when the user navigates to a form that has an alternate view specified, the CTC Silverlight View Controller will display the alternate view. Alternate Views can be specified for all ispecs in a bundle or for selected ispecs.


Normal Generated View

Alternate View with Layout Changes using Microsoft Expression Blend 3

Alternate View after Layout Changes

External Data Files Top of page

List controls such as ListBox, ComboBox, DataGrid and Charting can be configured to display external Xml formatted data files. List controls are a convenient way of displaying options for the end user to choose from and often it can be efficient to store and maintain these options in Xml formatted files outside of the EAE or AB Suite database.

List controls include additional properties that allow specification of the file path, an expression for extracting nodes, and columns to display in the list. The files can automatically be transferred from the server and cached locally on the client work station until a new version of the application is deployed. Nodes and columns from the Xml file can be displayed automatically in the list according to specifications on the control, or manipulated in the code behind the form.


Example of ListBoxes displaying data from external Xml files

Automatic Setup of Application Infrastructure Files Top of page

The generator automatically installs all infrastructure files required into the bundle views directory. No manual steps are required for this. When running the generator for the first time on a new bundle, the infrastructure files are automatically copied to the output directory of the bundle. An option is provided for the generator to reinstall the infrastructure files when the files have been updated or new files have been added.

Automatic Compile and Build of the Generated Application Top of page

As part of the generate process, the generator can automatically compile the generated application and build the necessary dll’s. This is achieved using MSBuild, the build platform from Microsoft used by Visual Studio. Together with the option for configuring the Runtime parameters, this means the application is ready to deploy when the generation of the user interface application is complete.

Configuration of Runtime Parameters Top of page

Parameters for the runtime configuration of the generated application can be specified using the CTC Configurator. When any of the runtime configuration parameters are changed, the generator will update the <appSettings> section of the Web.config file. This provides a convenient way to maintain all configuration details in one place.


Runtime Parameters Configuration

Keep Session Alive Top of page

It can be very disruptive to the end-user when the session with the web server times out while filling in a form and before the data is submitted. The generated Silverlight Application automatically prevents the session with the web server from timing out. A heart beat is sent as a background request from the Silverlight Client application 30 seconds before the session is about to time out.

Copy to Clipboard in Excel Format Top of page

Included with the generated Silverlight Application is an option allowing the end user to copy list data and data from a CopyFrom region to the clipboard in Excel format. When the end user selects a ListBox, DataGrid or clicks within a CopyFrom region, the option "Copy To Clipboard, Excel format" appears in the main menu allowing the end user to easily copy/paste data into an Excel spreadsheet for further analysis.

For further details on all features and capabilities see the following documents: