IFS' concept for configuration and customization of the user interface is based on a combination of direct manipulation, configuration tools and user profiles.
Direct manipulation is when the end-user, directly in the application, affects the appearance of the interface. This is done for example by dragging table columns, resizing windows, drag and dropping in the navigator and setting “Properties” on forms and other objects in the interface. All changes to the interface done through direct manipulation are stored in the user’s profile. In addition to each user having their own personal profile the user can also be assigned a default profile by its administrator.
Through the use of Configuration Tools (part of IFS Administration Tools), super-users or system administrators can easily affect the appearance and function of the interface.
By combining direct manipulation, configuration tools, and user profiles,
much of the appearance and function of the user interface can be customized by
IFS customers themselves, without the need to change code or in any other way
modify the standard application as delivered from IFS. Many of IFS' customers
choose to let identified super-users configure the application to suit different
user groups in the company. These ready-made configurations (profiles) are then
assigned to the rest of the end-users through the mechanism with default
profiles. Often the “regular” end users are only allowed to change parts of this
configuration. For example, they might be allowed to change the size and position
of windows, but not to hide/unhide fields. IFS' security system makes it possible
to disallow these capabilities for end-users.
For administrators there is also additional functionality available, such as
export and import of profiles as well as the possibility to set both default and personal
profiles to read-only so that the user, in effect, never is able to change his
profile.
With direct manipulation, the following types of items can be configured
Mandatory, hidden, and read only settings are applied in the client, as a convenience to the user. These client settings are not enforced by the business logic. For example, if a field is set to be mandatory in one form, it will not be set to mandatory in other forms where the same field is available. The setting is on the form, not the database column, so no special server-side logic exists for any checks. It is possible for users to build/use other clients that bypass these settings.
Users can only have a single default profile, not one per role for example. The 'workaround' for this is to create more specific profiles, one for each combination of roles you wish to use. The trick to creating combined profiles is to first create a number of smaller, role specific profiles, and then merge these together to form the combined profiles.
In addition to the direct manipulation possibilities, Foundation1 provides configuration tools through which further aspects of the user experience can be configured.