Personalized fields

For dashboards to be truly powerful, they need to deliver meaningful information for each targeted group of users in the same graphical representation. Data segregation according to different groups of users presented in the same dashboard can be obtained in Web Dashboard using personalized fields.

A personalized field is a variable, the value of which is determined when the user logs in. Personalized fields can be associated directly with users or with groups of users. See User access managment.

When you personalized a field in a Web Dashboard object (for example, a World, Data dictionary, Folder, External component, and so on) the object is said to be contextualized.

Use case for personalized fields

Consider a use case where Sentinel is used to monitor file transfers with external partners for two departments in a company: Sales and Marketing. Both departments are coordinated by one Manager.

The users from the Sales department require access to transfers made between partners and their department. The users from the Marketing department want to access their own transactions.

The Manager has access to all data.

Web Dashboard can provide access to the correct data for all users and the Manager while defining only one report. The desired result is achieved by contextualizing the data dictionary with the usage of personalized fields.

The personalized field can be applied to the user, the entity or the workspace, depending on this parameter.

The actual value assigned to the personalized field will be determined when the user logs in.

To implement personalized fields for this use case scenario:

  1. Create a personalized field named business-unit. See Create Personalized fields .
  2. Create a parent entity named Manager. Create a child entity for each department (Sales and Marketing), with Manager as the parent entity and assign the appropriate code to the business-unit personalized field.
  3. Define three users : Admin, Sales, and Marketing. Each of these users has access to different data. To accomplish this, each user is associated to a separate Entity. For more details about how to define users and entities, see User access managment.
  4. Define a database connection. See Create a world .
  5. Create a data dictionary and add a Context field (see Add context field to a Data dictionary) to it by associating the data dictionary with the business-unit personalized field. See Build a data dictionary.
  6. Design a report. Associate to it the parent entity. The actual value assigned to the personalized field will be determined when the user logs in.

Create Personalized fields

To create personalized fields:

  1. On the Main menu, click User management > Personalized field.
  2. A list of existing personalized fields displays.
  3. Click the New document button icon green plus sign to create a new Personalized field. A new document opens and the Description tab displays.
  4. On the Description tab, enter values for the following fields:
  5. Field Description

    Name

    A unique identifier for the Personalized field object.

    Description

    A friendly label of your Personalized field to be displayed across the GUI. The description can be internationalized (translated into the language defined for each user) using Internationalization tab.

    Parameters

    A personalized field can be configured at various levels:

    • User
    • Workspace
    • User, workspace
    • Workspace, user
    • Entity

    Data type

    The data type of the personalized field's values.

    Valid data types include String, Numeric, Date, Time and DateTime.

    Default value

    The implicit value of the personalized filed. A default value is not mandatory.

    Storage

    There are three types of storage: Standard, Raw and Encrypted. The radio buttons are enabled only if the data type of the personalized field is string.

    • Standard: Basic use of the value. The value will be modified by the application at SQL level. For example, personalized fields on string values are delimited by double quotation marks.
    • Raw: The value of the field will not be modified in the SQL query.
    • Encrypted: The value of the personalized field is not displayed in clear. This can be used as a contextualized password when defining a World.

Add context field to a Data dictionary

To add context fields to a data dictionary:

  1. On the Main menu, click Data management > Data dictionary.
  2. Create or edit a Standard or Multi-dictionary data dictionary.
  3. For SQL data dictionaries you have to include the personalized filed directly in the query in a where clause. See the example below.
  4. For more details about how to create data dictionaries, see Build a data dictionary.
  5. In the Data structure tab add one or more tables.
  6. Click the header of a table to display a pop-up menu and select the Add context field option.
  7. In the Add context field window, click the Add button icon green plus sign to add a line to the list of context fields.
  8. Select values from the drop downs for the following items.
  9. Field Description
    Field name Select the name of the field you want to use for contextualization.
    Operator Select the operator you want to use to compare the values of the field you selected above with the value of the personalized field.
    Personalized field Select from the list of personalized fields defined in Web Dashboard.
  10. Optionally, create another line to add a context field. Click the Add button icon green plus sign to create another line in the list of context fields and select values.
  11. Optionally, delete a context field. Click the Delete button next to a context field to delete it.
  12. When you are finished working with context fields, click OK.

Additional example

The following example provides information about using personalized fields for both a standard data dictionary and a SQL data dictionary.

In this example, you have three user groups (User Group A, User Group B, and User Group C) associated with three separate entities (Entity A, Entity B, and Entity C.)

There is a personalized field attached to these entities called customerlist.

  • User Group A can see data related to customers: BLACK_INC and WHITE_INC
  • User Group B can see data related to customers: RED_INC and BLUE_INC
  • User Group C can see all data: BLACK_INC, WHITE_INC, RED_INC, BLUE_INC, and others

Set up a standard data dictionary

For a standard data dictionary, you set up a data-level filter and put a condition on the customerid={p:customerlist}

where customerid is the column in the data dictionary containing the names of the companies, BLACK_INC, WHITE_INC, RED_INC, and BLUE_INC.

Define the value of the personalized field, cusomterlist, as follows:

  • Entity A: customerlist=BLACK_INC|WHITE_INC
  • Entity B: customerlist=RED_INC|BLUE_INC
  • Entity C: customerlist=*

Set up a SQL data dictionary

In this case there are many possibilities and it is recommend the usage of “like” or “regexp” in the query. Below is an example of a MySQL query:

select * from mytable where customerid regexp {p:customerlist}

Define the value of the personalized field as follows:

  • Entity A: customerlist=BLACK_INC|WHITE_INC
  • Entity B: customerlist=RED_INC|BLUE_INC
  • Entity C: customerlist=.+|.?

Related Links