PhenixID

PSD1179 – Show MultiValue In Grid Custom Control in Identity Manager

Summary

If you like to display a multi-value attribute holding separated values in a grid this custom control will allow you to do that.

System Requirements

  • PhenixID Identity Manager 5.6.6 or later installed

Example

A multi-value attribute can be used to hold several values, for example attribute1=value1, attribute1=value2, attribute1=value3 and so on. If each value also includes several values (value1=2021-01-03|user1|change and value2=2021-04-03|user3|create and so on) and you like to present that in a user friendly grid then this custom control might is what you are looking for.

Below is an example of attribute values, using | as the separator (screenshot is taken from IM configurator and the LDAP browser)

Above values is shown in a grid.
Note: The control support look ups that for example translate and display a username instead of the id number.
So instead of:
224356 | 2020-12-03 | Change lastname | Andersson |Svensson
it could look like:
Bob Alm (balm) | 2020-12-03 | Change lastname | Andersson |Svensson

Configure the custom control

Note: The syntax for the custom control should be set to “String list”.

1 Download the custom control

The custom control is downloaded here.

2 Add custom control to IM Configurator

Add ShowMultiValueInGrid.class to the following file path:
\..\PhenixID\IMConfigurator\ext\class\psd
You must restart IM Configurator for the custom control to be active.

3 Add custom control to IM WEB

Add ShowMultiValueInGrid.class to the following file path:
\..\PhenixID\IM\customer\extension\class\psd

Add ShowMultiValueInGrid.jsp to the following file path:
\..\PhenixID\IM\customer\extension\web\jsp\psd
You must restart IM WEB for the custom control to be active.

4 Parameters for the custom control

Class name: psd.ShowMultiValueInGrid

Explanation of parameters with examples

Below is parameter explanation. I will use this as example:
Data1|Data2|Data3|Data4|Data5
Above is an example with five data parts pipe-separated
This is used below to describe different examples.

Jsp file to use
If a custom jsp is going to be used.
Default: /jsp/psd/ShowMultiValueInGrid.jsp

Column Names
A comma separated list of the column names to use. These names decides how many columns the grid should have. The names must be unique.
Example 1. Show all columns in grid. The names you type will be the heading name. Configuration would look like:
Column1,Column2,Column3,Column4,Column5
Example 2.
Show first, third and fifth columns only
Column1,,Column3,,Column5
The once you like to leave out just just leave empty value.

Values separator in attribute
The separator character for the values in the attribute.
Default is |

Above example this would would be the| character only. (|Pipe)

Column widths
Comma separated list of column widths. Use for example 30px for fixed size and auto for sharing the remaining size.
Add columns in pixels or use auto and PIM will figure out width.
The number of columns width parameters is based on number of picked columns names.

Example 1. Show all columns in grid. The names you type will be the heading name. Configuration would look like:
140px,80px,auto,auto,auto
Example 2. Show first, third and fifth columns only.
Since you only use 3 out of 5 you only use three values.
auto,auto,auto

Search base for value translation
If using a search to translate any column value, enter the search base for the search. A search base must be entered for every column that will be translated.
Separate the column values with |. If only translating the third column, start with || to get to the third column.
ou=employees,dc=company,dc=com||ou=groups,dc=company,dc=com

Search scope for value translation
If using a search to translate any column value, enter the search scope for the search. A search scope must be entered for every column that will be translated.
Separate the column values with |. If only translating the third column, start with || to get to the third column.

SUB||ONE

Search filter for value translation
If using a search to translate any column value, enter the search filter for the search. A search filter must be entered for every column that will be translated. Use $$ to insert the original value in the search filter.Separate the column values with |. If only translating the third column, start with || to get to the third column.
uid=$$||cn=$$

Value translation using [attributeName]
If using a search to translate any column value, enter the value translation. A value translation must be entered for every column that will be translated.
Use [attributeName] to insert an attribute from the matched object.
Separate the column values with |. If only translating the third column, start with || to get to the third column.

([uid]) firstName sn||[cn] (description)

Column order, comma separator
Example 1. Show all columns in grid. You select the order by numbers. Configuration would look like using example above:
If parameter Column Names is set to Column1,Column2,Column3,Column4,Column5
1,2,3,4,5 (this gives Column1,Column2,Column3,Column4,Column5)
2,4,3,1,5 (this gives Column2,Column4,Column3,Column1,Column5)
Example 2. Show first, third and fifth columns only but in reverse order for example. In this case some columns are hidden so you use 1,2,3 to set the order.
If parameter Column Names is set to Column1,,Column3,,Column5
3,2,1 (this gives Column5,Column3,Column1)
3,1,2 (this gives Column5,Column1,Column3)


DISCLAIMER
Information provided in this document is for your information only. PhenixID makes no explicit or implied claims to the validity of this information. Any trademarks referenced in this document are the property of their respective owners.

The origin of this information may be internal or external to PhenixID. PhenixID makes all reasonable efforts to verify this information.

PhenixID - support.phenixid.se