Export Custom Columns in Certifications

Which IIQ version are you inquiring about?

Version 8.2

Share all details related to your problem, including any error messages you may have received.

I am looking to export the column “Manager” within a certification. Currently it is not part of the

entry key=“uiCertificationExportColumns”>

in the UIConfig, but im unsure how to configure it.
Does anyone have any experience exporting custom columns?

I think you can write a script under the column config for the entry key uiCertificationExportColumns , you have the certification entity which can be used to get the certification object and the certifier. I haven’t tried it myself so can’t say for sure if this would work

You need to write the java code and also need to modify the required certification export column .

I have implemented this recently , below are the details

package com.vkejriwal.iga.certification.ui;

import sailpoint.object.Identity;
import sailpoint.tools.GeneralException;
import sailpoint.tools.Util;
import sailpoint.web.view.certification.CertificationItemColumn;
import java.util.Map;
import org.apache.log4j.Logger;

public class UserManagerColumnEvaluator extends CertificationItemColumn {

    private static final String COL_IDENTITY_ID = "Identity.id";
    Logger logger = Logger.getLogger("vkejriwal.evaluator.UserManagerColumnEvaluator");

    public Object getValue(Map<String, Object> row) throws GeneralException {
        String identityId = (String) row.get(COL_IDENTITY_ID);
        if (Util.isNotNullOrEmpty(identityId)) {
            Identity identity = this.getSailPointContext().getObjectById(Identity.class, identityId);
            if (null != identity && null != identity.getManager()) {
                return identity.getManager().getDisplayName();
            }
        }
        return null;
    }

}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sailpoint PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<sailpoint>
	<ImportAction name="merge">
		<UIConfig name="UIConfig">
			<Attributes>
				<Map>
					<entry key="uiCertificationExportColumns">
						<value>
							<List>
								<ColumnConfig dataIndex="Identity-ManagerDisplayName" 
								evaluator="com.vkejriwal.iga.certification.ui.UserManagerColumnEvaluator" 
								groupProperty="Identity.id" headerKey="Manager DisplayName" 
								hideable="true" property="Identity.id" sortProperty="Identity.id" 
								stateId="Identity-ManagerDisplayName"/>
							</List>
						</value>
					</entry>
					<entry key="uiDataOwnerCertificationExportColumns">
						<value>
							<List>
								<ColumnConfig dataIndex="Identity-ManagerDisplayName" 
								evaluator="com.vkejriwal.iga.certification.ui.UserManagerColumnEvaluator" 
								groupProperty="Identity.id" headerKey="Manager DisplayName" 
								hideable="true" property="Identity.id" sortProperty="Identity.id" 
								stateId="Identity-ManagerDisplayName"/>
							</List>
						</value>
					</entry>
				</Map>
			</Attributes>
		</UIConfig>
	</ImportAction>
</sailpoint>
3 Likes

Does the first portion of the code just go into the UIConfig as well?

one is java code , need to create a jar file and other one is UI config changes .

1 Like

If using the SSB or SSD the Java code is easily added to the src folder and it will be compiled, packaged and deployed ‘automatically’.

Please open a new topic in this forum for additional query regarding adding Java code to your IIQ deployment as the question for this topic is already answered :slight_smile:

– Remold