yes, additional columns will show the individual entitlements on the initial screen with the assumption that if they need more information i.e., description and anything else they can check that through “view details”.
For the Custom Column
We did this using a custom evaluator, and it all starts in the UIConfig file.
1. Add the ColumnConfig in UIConfig
First, you’ll need to add a <ColumnConfig> to all the UIConfig attributes related to Role Composition Certifications. Here’s the one we used:
<ColumnConfig
dataIndex="IIQ_RoleCompEnts"
evaluator="sailpoint.web.view.certification.RoleCompositionCertificationEntitlements"
groupProperty="IIQ_RoleCompEnts"
headerKey="Entitlement(s)"
minWidth="100"
percentWidth="10"
property="IIQ_RoleCompEnts"
sortProperty="IIQ_RoleCompEnts"
stateId="IIQ_RoleCompEnts"
/>
Make sure to add this to the following attributes:
- uiRoleCompCertificationItemReturnedItemsColumns
- uiRoleCompCertificationItemWorksheetColumns
- uiRoleCompCertificationExportColumns
- uiRoleCompCertificationItemDetailViewReturnedItemsColumns
- uiRoleCompCertificationItemDetailViewColumns
2. Create the Evaluator
See we mention the evaluator(custom Java class) which would return String as the response. You can also have it return other data types but you would require a renderer, but keeping it simple we are returning CSV.
Our evaluator class (RoleCompositionCertificationEntitlements) extends CertificationItemColumn and implements the getValue(Map<String, Object> row) method.
This getValue method gets called for each line item in the certification, giving you the data for that row as input. To keep things simple, we just returned a comma-separated String of the entitlements. You can return other data types, but that would require a custom renderer.
The basic logic in our code was:
- Read the
targetId from the input row object.
- Check if the target is an entitlement profile.
- If it is, fetch the entitlements it’s composed of and add them to a list.
- Finally, join the list into a single string and return it.
More details on the UI Customization: UI Customization with UIConfig
For the On-Screen Messages
To handle the on-screen messages, we developed a simple plugin.
The plugin runs on the certification screen and uses JavaScript to either inject our messages into existing HTML elements or create new ones entirely. For example, we added a pop-up that appears when a user first loads the certification.
We took inspiration from an existing plugin for this part. Link: Certification Campaign Banner Plugin
List of all the SailPoint and community plugins: IdentityIQ Plugins-Compass
HTH! Let me know if anything is unclear.