User Zones

One of the inconvenient associated to Work With pattern is that doesn't allow user to modify the generated objects without missing the link with the pattern.

In order to solve this, Work With Plus pattern introduces the idea of User Tables. A User Table represents an HTML table which will be introduced in form, in the layout set by the user. The user will edit the content of this table directly in the Genexus Editor. This modifications will not be overwritten once the pattern is re applied.

Lets see an example. We add a User Table to the Selection node of our Person transaction.

UserZonesImg1

We can visualize the User Table inside the main node.

UserZonesImg2

We should assign a name to this User Table:

UserZonesImg3

We name it as customUserTable and then we move it above the table named TableActions.

UserZonesImg4

After this we reapply the pattern and we open the PersonWW object.

UserZonesImg5

When opening the object we can visualize the User Table created, in the layout previously set in the instance. Now we are able to edit the content of this table, from the Genexus object editor as we can appreciate. This content will remain on the form even after re applying the pattern. Moreover, once the table is modified we can move it from the instance to another layout, keeping the changes made on it.

UserZonesImg6

In this case we write some text ("Hello World") and modify the background color of the table.

UserZonesImg7

We save the object and then we move the table´s location within the WorkWithPlus instance.

UserZonesImg8

After applying the pattern once again, we open the WWPerson object in order to verify that the content of the table remains intact and that the table changed its layout on the form to the properly position set in the instance.

UserZonesImg9

With User Tables, if we need to make challenging or difficult developments in any of the instance objects (Transaction, Selection, etc.), we can accomplish it directly in the generated object taking advantage of Genexus Editor, instead of trying to perform it from the instance pattern in a more difficult way.