First, please read the Key Concepts section on Business Areas to understand the terminology used on this page.
The principle is that a specific business area or project will use a layout that is defined specifically for it. If none exists, it will inherit a layout in a defined manner as follows:
Inheritance is an important principle to understand, as it governs how layouts are selected for each purpose throughout ExtraView. Further, if you decide to create a layout for a specific purpose such as the Add screen within a newly created business area, this does not imply that you must create layouts for all the other layout types, such as search filters and email layouts. Each layout is inherited independently, giving tremendous flexibility and reducing the amount of setup required.
Layouts can be defined for each user role you have created within your system. This is described more fully below. However, note that you may combine the definition of layouts for user roles, business areas within these user roles, and projects within these business areas. For example, if you have a business area named Customer Calls, which may or may not be broken down into individual projects, you may define different layouts for different user roles such as Technical Support and Managers.
Inheritance of layouts
Note: You should set a default value in the data dictionary, for both the Business Area and the Project fields if you have their display type set to Tab. However, the overriding setting is Remember Last Value. When this is set against Business Area and / or Project in the data dictionary, then the tab displayed upon entering the Add Issue screen, will be the one last used, not the default value.
Using rules, security permissions and layout cell attributes, you can make decisions on whether field-level data entered on one tab is either displayed on a second tab or is both displayed on the second tab and the values are stored with the record when it is inserted or updated.
Consider an application where you insert and update customer information on a tab named “Customers”. You may have a second tab named “Customer Issues” where you record issues the customers report. The approximate configuration may be something like this:
With the addition of each customer issue, the Customer details are saved in the Customer Issues Business Area as the Customer is selected. To not allow the user to edit the customer details, you should set the permission of each field to read/write and then use a layout cell attribute on each filed in the Customer Issue layout to have a READ ONLY IF value. For example, set the CUST_ADDRESS field to be read only if the ID is not null. This will always be true, and therefore the field will display as read-only to the user, but the details will be saved in each record. If you only give read access to the user, the Customer details will not be saved in the record.
With inheritance, and the ability to define or override an individual layout for any combination of User role, Business Area and Project, there is the potential for a large number of layouts in your system. Inheritance strictly controls the method by which an individual layout is either selected or inherited for display by the user. The following chart shows how ExtraView resolves the layout to choose:
Layout Choice
The table is read from top to bottom, with ExtraView looking for the first row that satisfies the criteria defined by the administrator for the user and their current role. The last two columns in the table are only used when selecting an embedded layout. Note the following in the selection process:
When there is a choice of layouts, the layout is chosen based on:
Also note that:
For efficiency, and to minimize the configuration effort, a few layouts are optional and are ignored if they are not present. When this happens, ExtraView may then default to another layout, and use this other layout instead.
Layout | Defaults To | Comments |
ADD_CONFIRMATION | ADD_PROBLEM | When an issue is inserted, the behavior is to use the ADD_PROBLEM layout from the inheritance path to display a verification of the issue just entered. For most purposes this works in an obvious way and displays all the fields that the user just entered. Occasionally, you as the administrator may want to display a different set of fields. To accomplish this, create a layout of type ADD_CONFIRMATION in the business area and project of your site, or in the inheritance path. The fields that you place onto this layout will be those that are presented to the user when an issue is saved, as opposed to those on the ADD_PROBLEM layout. If the ADD_CONFIRMATION layout is not present, the ADD_PROBLEM layout is used as the verification screen |
POST_EDIT_UPDATE | No Default | If this layout exists in the inheritance path, and the issue being updated is a member of a relationship group, then this layout is rendered to give the user the opportunity to apply the same updates to the related issue. If the layout does not exist, nothing is rendered, and only the current issue is updated |