Page tree
Skip to end of metadata
Go to start of metadata



In StartSoffid ConfigurationAdditional data management, the administrator can modify the default objects and create or modify the custom ones, specifying the attributes to be used by any account on this system.


As indicated, there can be two types of objects: default objects and custom objects.

Default objects

As seen in following image, the default objects are:

  • Application
  • Group
  • Mail_list
  • Role
  • User

All of them have attributes by default (name, description), hidden, but it is possible to define more from each of them, as will be explained later.

Custom objects

They are objects created by the administrator, according to the needs of the system.

Create a custom object

Click on  to configure a new custom object.

The object type and description must be defined. Then, clicking on , an attribute can be described.

For each one, administrator must define:

  • Order: assigns a unique order number to each attribute.
  • Code: it will be used by scripts and attribute mapping rules to identify it.
  • Label: it is how the user will identify the attribute.
  • Data type: it can be string, binary data, photo, date, email, user, group, application, host, user type, Mail domain, SSO HTML input or HTML.
  • Required: if this flag is enabled, no user can be created without assigning a value to this attribute.
  • Prevent duplicated values: it will prevent that any other account on this system has the same value.
  • Multiple values: if this flag is enabled, the attribute can have several options instead of just one.
  • Size: max length.
  • Visibility expression: it can contain several variables: serviceLocator (Spring context), object (Current object), attributes (additional attributes map) and requestContext (Current context: "request", "approve" or "console").
  • Validation expression: it can contain the same variables than the previous one, adding one more: value (current value).

Once filled the required fields, click on  to return to the previous page and, then, click on  to save changes.

Then system returns to main page, as follows, and it can be verified that the additional data has already been created:

Setting attributes

Once created, it is possible to define an attribute as data type "CRM" for any of the default object, in this case "user". In order to do that go to "user" object, by clicking on it, select  and following menu is displayed:

Detail the fields required and the data type CRM. Then, click on  to return previous page and check that the attribute SUBDIVISION is included in the User object:

If no order number is indicated, the attribute is shown at the end of the list.

Finally, accept changes and return to the main page.

Custom object types

For more information about the custom objects, click here.

Modify objects

Add attributes

Both the custom objects and the default ones can be extended with the personalization of more attributes.

In this case, modify the custom or default object it is as simple as clicking on it and the object menu is displayed. In the example, the default object "attribute" is selected:

Click on to access the next screen, where an attribute for the object can be configured:

Once here, create the attribute "detail" for the object, defining the code (detail), order (8, there are seven previously defined attributes), label (Detalle) and the data type (String).

Click on to verify that the attribute "detail" for the default object "application" has been created. Accept and return to main page.

Then, to confirm that the attribute has been created correctly, go to the applications screen (Start → Resource Management → Information Systems → Applications) and select any one, as shown:


In the detailed information of the selected application, it is verified that the attribute "detail" appears, as indicated, last (eighth).

Example scripts

Configure visibility of an additional data
  • For a user if we rely on a native attribute, for example the userName:

return object{"userName"}.startsWith("A");
  • For a custom attribute it is slightly more complex:
list = serviceLocator.getUserService().findUserDataByUserName(object{"userName"});
for (data:list) {
  if ("manager".equals(data.attribute) && data.value!=null && !data.value.trim().isEmpty()) return true;
return false;

This example is for a managerMail field that only appears when the manager field has some value:

Remove attributes

It is possible to remove the created attributes (not the ones by default, which are unalterable) from both the custom objects and the default objects. In order to do this, access the object to modify (in this case, attribute):

Then, by clicking on to the right of the attribute, a message will be displayed:

Click OK, then Accept and return to main page.

Accounts: concrete case

Accounts are default objects in Soffid, but their treatment differs from the others (application, user, role, group, mail_list) because they are particular to the system on which they depend. For more information, follow this link.

  • No labels