Wednesday, February 9, 2011

G2W patterns

is a tool created by GeneXus USA to automatically convert win or green applications to web. One of the main complexities of the automatic conversion relies on the screen, specifically the windows screen conversion to web. There are many elements that users include on a windows screen and one of the main advantages of G2W is how it converts the screens preserving the layout of all those elements.

However one of the issues that kept Daniel Coellar, Product Manager of G2W, thinking was how to learn more about those screens and do more with that knowledge?
The answer came in the form a pattern.

Early on, in G2W it was clear that the focus of the tool was automatic conversion to web. One of the objectives of G2W was to provide a metadata that encapsulates all the converted knowledge so other patterns in the market could eventually consume it. We are actually very actively working with dVelop to make this a reality.

However in the process of creating this metadata it was clear that we needed to develop our own pattern to prove the concept, thus G2W patterns were born.

G2W patterns is a set of patterns, created by
GeneXus USA
, that simplifies the maintenance of the converted application so it can maintained manipulating a pattern.
The objective of these patterns is to provide an easier and more fun way for the GeneXus developers to maintain their G2W converted applications.

The G2W patterns set are composed by WebFormDesigner and WorkWithDesigner; it is not sold separately from G2W projects, as it is included for free in the G2W conversion projects.


The WebformDesigner pattern is part of the G2W patterns set; its purpose is to build the WebForms of the WebPanels dynamically managing the forms and logic entirely or by parts.
It not only gives flexibility and velocity for extending the converted objects, but it also allows developing in a pattern oriented way by providing GeneXus users of an important set of controls in order to maintain the webform of a webpanel and the web-logic as well as create new ones.

--> Versatility
It is possible to define if the webform will be managed entirely by the WebFormDesigner pattern instance, or if the webform will contain a set of components from which some of them will be designed and maintained by using the pattern. We call it the “Scope” and it can be either “Full Screen” or “Components”.


Selecting a FullScreen Scope lets the pattern build all the WebForm* according to the constructed Webform Tree.


Selecting a Components Scope makes the pattern manage only the wfdFormContainer controls located in the WebForm of the pattern.

--> Flexibility

The WebFormDesigner pattern can handle with all the regular controls; furthermore, it allows to add more than one control per cell, which means that, although it has a high level of abstraction, it also has the flexibility of adding cells directly to the form tree representation of the pattern instance and to add more than only one control to it.

WebFormDesigner pattern flexibility is also reflected on the possibility to add new controls to the webform which not necessarily need to be part of the pattern. How to achieve that? With the UserTable control.

The UserTable Control allows creating a portion of the WebForm that will not be controlled or managed by the pattern instance. Inside a user table it is possible to add whatsoever control, including controls that do not belong to the pattern. Everything inside the UserTable control will be added directly in the WebForm of the WebPanel and it will not be changed by the pattern instance.

This control has a similar behavior that the Components Scope has; it is possible to build the screen with the pattern but a part of it (everything inside the UserTable is not managed by the pattern.

--> Abstraction

SmartTable and equivalents
The smart table is a very important control for the WebFormDesigner pattern. The smart table is not only a controls container, but it has intelligence to draw its controls with specific characteristics. It is a table extension with certain predetermined behaviors.

The WebForm, SmartGrid and Tabs nodes are SmartTable equivalents; this means that, apart from their specialized functionality, they also provide all the features of the SmartTable.

SmartGrid - The SmartGrid is an intelligent grid that not only provides of a simple grid, but it also lets you add the Orders of the grid (based on what attributes the grid will be ordered), the Filters of the grid (which attributes will appear as filters in order to look for specific data in the grid) as well as the conditions associated to the filters, and the Actions that will be associated to the grid.

Image: Example of a SmartGrid structure in a pattern instance

Tabs - This control lets you manage a set of different tabs in the screen.
The Tabs control allows adding different tabs in order to distribute the controls in the WebForm as having a set of tabs in the WebForm.

No comments:

Post a Comment