NConstruct - Intelligent Software Factory

NConstruct Builder and Database Model Changes

NConstruct v2.5 - Breaking Changes

New NConstruct version brings some significant improvements and new features. They are related with higher productivity, easier customization and better user experience. Major improvements are described in this document. For a complete list of new features, enhancements and resolved issues, check What's new in NConstruct 2.5 document.

1. WCF Web Services Hosting in IIS
2. UI component settings
3. New ribbon-style single edit form (DevExpress components only)
4. Automatic custom forms generation
5. Full support for Microsoft SQL Server 2008 Dialect

1. WCF Web Services Hosting in IIS

NConstruct v2.5 introduces new configuration and communication option for Windows desktop applications. In previous versions, you have to run NConstruct application server on a server machine as Windows service process or by executing server's executable (later is appropriate only for temporary or testing purposes). In such case, NConstruct application server and Windows clients communicates through tcp, http or icp channel. One dedicated port has to be enabled for this type of communication which might represent a problem with security policies in some cases.

To avoid this problems, we've supported new configuration option - usage of IIS WCF web services. To use WCF web services you just have to tick "Use IIS WCF web services" in the "Application settings" wizard's step.

WCF web service settings

There is a significant difference in handling generated solution. Before opening generated solution with enabled WCF web services, please read an article NConstruct & WCF Web Services Hosting in IIS.

2. UI component settings

New NConstruct version enables customizing some major UI settings through NConstruct Builder wizzard. Each change is immediately shown in a preview panel so it is very simple to manage them. Accordingly, some new settings are introduced in NConstruct Server and NConstruct Client and they could be changed during the development of an application.

Login settings

There are three simple settings for customizing NConstruct built-in Winforms login form:

  • background image in the upper part of the form
  • top title
  • footer text

Login form settings

All settings are immediately previewed in the Preview panel on the righ side. Selected picture is copied to client startup project as a "login.png" image and can be changed. Top title text is copied to a "LoginSubTitle" key in a "Localization.resx" file which is located in the client startup project's "LocalResources" folder. Footer text is copied to a "LoginFooter" key in the "Localization.resx" file.

Skin settings (only for DevExpress Winforms UI components)

Initial DevExpress skin can be set through NConstruct Builder wizard in the "Skin (Dx)" tab. This setting will have effect only if you have installed latest DevExpress Winforms UI controls and you select to use DevExpress UI controls in the "Controls selection" step of NConstruct Builder.

DevExpress Skin settings

All dummy controls in the preview panel changes accordingly to the skin selected in the navigation panel. End users can override this settings through Appearance combo-box in the final Windows application which is located in the status bar.

Palette settings (only for Krypton Toolkit Winforms UI components)

Initial Krypton pallete can be set through NConstruct Builder wizard in the "Palette (Kr)" tab. This setting will have effect only if you have installed latest Krypton Toolkit Winforms UI controls and you select to use Krypton Toolkit UI controls in the "Controls selection" step of NConstruct Builder.

Krypton palette settings

All dummy controls in the preview panel changes accordingly to the skin selected in the navigation panel. End users can override this settings through Appearance combo-box in the final Windows application which is located in the status bar.

Skin settings (only for DevExpress Winforms UI components)

There are two setting for Navigation Bar which can be set through the wizard:

  • PaintStyleKind
  • PaintStyleName

DevExpress Navigation Bar settings

PaintStyleName overrides DevExpress skin setting. Both settings are applied on a dummy Navigation Bar control in the preview panel on the right side.

Generic Entity Edit form

Generic entity form is used for displaying single record edit form. If an entity has subsets (or related underlying tables in a database model) which are displayed as data grids in a tab control, developer can choose between three different layouts:

  • Basic data on the first tab
  • Basic data above tabs
  • Basic data beside tabs

Generic Entity Form settings

This is a default setting for all entites. You can customize each entity's form representation layout in the "Object management" step by clicking on each enttiy, selecting "Attributes" tab in the "Entity" group. Using "Master-detail layout" radio button group you can change form's layout for each entity.

Entity form layout setting

You can also change these settings in generated solution by changing "LayoutOrientationAttribute" attribute in each generated entity class.

There is another setting in this tab which is used only for DevExpress UI components: "DevExpress Edit Form Type". You can choose between classic and ribbon style. See also New ribbon-style single edit form chapter for more details about ribbon-style form.

 

3. New ribbon-style single edit form (DevExpress components only)

We've created a new ribbon-style single record edit form for DevExpress UI components users. Ribbon-style form uses VGridControl for displaying basic data on the single record edit form. This brings more customizing power for both developers and end-users.
Here is a comparison between classic and ribbon-style form for the same record:

Classic form:

Classic Form

Ribbon-style form:

Ribbon-style Form

To use ribbon-style forms you just have to select "Ribbon Form" radio button in the "Edit form" tab in the "Controls selection" NConstruct Builder wizard's step:

DevExpress Edit Form Type

You can switch between new type and classic layout in the generated application with simple setting in client's app.config: "UseRibbonAndVerticalGrid".

 

4. Automatic custom forms generation

Up to v2.5, NConstruct supports only so caled on-the-fly forms generation. This means there was no code for each form - all forms (both table-style forms for DTOs as well as single record forms for entiy editing) were generated in a run-time using two generic forms. There are enough information in DTO and entity declaration for using this declarative approach. But in some cases developers need to create complex form where information in DTOs and entities are not enough.

In such case, you had to create a custom forms. This wasn't mission imposible in previous versions but it wasn't an easy task, too. To avoid first step obstacles we've added automatic custom forms generation. To create custom forms instead of using generic ones, just click on a DTO in the "Objects management" wizard's step and tick "Create custom table and single record edit forms" check-box.

Custom Forms Setting

 

5. Full support for Microsoft SQL Server 2008 Dialect

As NHibernate included Microsoft SQL Server 2008 Dialect, we've also added this database type among others. It is displayed in the "Database type selection" wizard's step.

Microsoft SQL Server 2008 Database Type

Useful links

What's new in NConstruct 2.5
Download page...
Comments and questions...