Permanent Edit Mode

Hi Team, changing an identity attribute’s edit mode to permanent allows UI changes to those attributes without the source application overwriting that on a refresh. However, when I change the value through a rule, it does not permanently save.

Is this by design or a bug?

Hey @AnwarK, thanks for posting this question. Let me do some digging with the product team and we will circle back with some insights for you.

1 Like

What rule type are you using to ‘change the value through a rule’? Is it an IdentityAttribute rule or just a rule you are executing via some other means?

A lot of the time in rules, you don’t have to explicitly save the object you’re working in the rule because the IdentityIQ is expecting that rule hook to change or return something and IdentityIQ will perform the save of the object for you. ​
Sometimes we might use a rule hook for something beyond what the rule was originally meant for. If you’re accessing and modifying an object the rule hook doesn’t expect you to change, or perhaps we are just kicking off a rule from the IdentityIQ console, the rule must explicitly save that object itself and commit the transaction.

I’m using a provisioning plan within a workflow to change this value. A snippet is below:

ProvisioningPlan planContractor = new ProvisioningPlan();

planContractor.setIdentity(context.getObject(Identity.class, contractorName));

planContractor.add(ProvisioningPlan.APP_IIQ, contractorName, “loginID”, ProvisioningPlan.Operation.Set, newNetID);

planContractor.add(ProvisioningPlan.APP_IIQ, contractorName, “email”, ProvisioningPlan.Operation.Set, newEmail);

planContractor.add(ProvisioningPlan.APP_IIQ, contractorName, “inactive”, ProvisioningPlan.Operation.Set, true);

Provisioner p = new Provisioner(context);

if (log.isDebugEnabled()) {

log.debug(planContractor.toXml());

}

p.execute(planContractor);

The solution is to make sure a “user” is defined in the attribute metadata. That is what makes the attribute change stick. Once this is set through the rule, it works as expected.

1 Like