Calendar UI Control Development Guide

This page describes important information that is required to work with the new Calendar UI Control (Ifs.Application.CalendarUI). Currently the control is designed to be used within the Appointment Booking window in SCH360. This page is not a how-to guide, but rather outlines the pre-requisites and important considerations to keep in mind during development and deployment of the Calendar UI Control.

Contents

Introduction

The Calendar UI Control was developed to display time slot related information (e.g., appointment booking) in a more graphically friendly manner, much like Microsoft Outlook.

Third Party Product Information

The Calendar UI Control makes use of third-party vendor controls from DevExpress. The specific product used is .NET Controls for WinForms (version 12.2.5).
 

Installation of DevExpress components in a Development Environment

In order to compile the Calendar UI Control, you will need to install .NET Controls for WinForms on your local machine.

The DevExpress installation file can be downloaded from the vendor's website. The product comes with a 30 day trial period. DevExpress issues licenses on a per developer basis, therefore if you need to compile the Calendar UI control after the 30 day trial period, you will need to purchase a license. Please contact the relevant persons in your project/group in order to make a purchase. The following link describes how to purchase a product from DevExpress: Buy a new Product.

Note: A license is not required if you only plan to deploy the Calendar UI Control, e.g., deployment environment. Therefore please ensure that you DO NOT install DevExpress products on any deployment environments.


DLLs and Tools used by IFS

The DevExpress .NET Controls for WinForms come with a range of controls. The list below outlines the DLLs used by Ifs.Application.CalendarUI.

The following tool is used to support the application of IFS Themes for the Calendar UI Control: WinForms 12.2 Skin Editor

The Calendar UI Control

Development - Things to keep in mind

Ifs.Application.CalendarUI is located at sch360\source\sch360\client\Ifs.Application.CalendarUI (i.e., <source_path>). It is created as a standard APF project. The DevExpress DLLs listed above are included under <source_path>\ThirdPartyAssemblies. The control also uses an additional DLL (Ifs.Application.CalendarUISkin) to enable support for IFS Themes located at <source_path>\LookAndFeelResources\binary.

In addition to the default post-build event, Ifs.Application.CalendarUI.csproj also has two pre-build events (see below) which will copy the aforementioned dependent DLLs during a build to the runtime folder in your deployment/local machine.

xcopy "$(ProjectDir)ThirdPartyAssemblies\*.*" %DEPLOYTARGET% /y /c
xcopy "$(ProjectDir)LookAndFeelResources\binary\*.*" %DEPLOYTARGET% /y /c

Note: The DevExpress license file (licenses.licx) is stored on your local machine. Every time you compile the Calendar UI Control project the file is stored as an embedded resource in the .csproj file. Before you commit your changes or deploy the changes to a central environment please ensure that you exclude the licenses.licx from the project. Should this file get in to your deployment environment or should there be a reference to it in the .csproj file your build will fail.

 

Support for IFS Themes

The DevExpress elements used within the Calendar UI Control uses the concept of Skins to determine the look and feel of the element. DevExpress controls come with a set of pre-defined skins. Ifs.Application.CalendarUI uses a customized skin to support the application of IFS Themes. The skin can be found in the <source_path>\LookAndFeelResources\binary folder as a pre-compiled DLL. The source for this DLL is stored in the <source_path>\LookAndFeelResources\source folder. The WinForms 12.2 Skin Editor tool is used to create the DLL.

Note: While APF project naming conventions are followed, Ifs.Application.CalendarUISkin is not an APF project.

 

More Information

Should you require more information on DevExpress controls please refer to their online documentation and/or their support center.