Transform firstValid: ignoreErrors default value

Dear SailPoint IDN Documentation Team,

For the transform firstValid ( First Valid | SailPoint Developer Community ), attribute ignoreErrors we have the following description (no default value is specified):

ignoreErrors - This true or false value indicates whether to proceed to the next option if an error (like an NPE) occurs.

and below at the examples:

Without ignoreErrors set to true, this transform throws a null pointer exception (NPE) for any user without a manager. With ignoreErrors set to true, the first value in the firstValid throws an error for users without managers, but the error is ignored, and the transform selects the empty string to set the “Manager DN” identity attribute to.

I think that the part Without ignoreErrors set to true, this transform throws a null pointer exception (NPE) is misleading, as it seems that the default value of ignoreErrors is already true.

In my opinion the examples are misleading as well as for all of them the ignoreErrors is true (implicitly or explicitly).

I think a similar text like the following would be much clearer, and would not imply that if you are not setting the ignoreErrors to true you would see the errors.

With ignoreErrors set to false, this transform throws a null pointer exception (NPE)…

In addition, please explicitly define the default value of the optional parameters for all transforms.

And as a second question, is the parameter for ignoreErrors a boolean value or a string? (in the examples it used the string ("true"), instead of true).

Best regards,
Andrei


I see no difference between the following examples, so it’s not clear why this example is provided on the webpage:

{
  "attributes": {
    "ignoreErrors": "true",
    "values": [
      {
        "attributes": {
          "value": "$identity.manager.attributes.networkDn"
        },
        "type": "static"
      },
      ""
    ]
  },
  "name": "Example_Transform_ManagerDN",
  "type": "firstValid"
}
  • ignoreErrors removed, second value ("") removed
{
  "attributes": {
    "values": [
      {
        "attributes": {
          "value": "$identity.manager.attributes.networkDn"
        },
        "type": "static"
      }
    ]
  },
  "name": "Example_Transform_ManagerDN",
  "type": "firstValid"
}

Hello @adamian,

Thank you for pointing this out.

The default value is true

I tested this out and it will accept either form, boolean or string.

I have made changes to this document to make the examples using ignoreErrors more clear. I will push these changes once our technical writer has reviewed!

Hi @tyler_mairose,

Thank you for your response.

The default value is true

It would be helpful in to go through the transforms and mark the default value for all optional attributes (I have also an open question regarding another attribute: Transforms: requiresPeriodicRefresh (default value, multiple uses))

I tested this out and it will accept either form, boolean or string.

I would love to see this information explicitly written in the documentation (as invalid values are currently not rejected when creating/updating transforms).
If it is not written in the specification when I review transforms written by someone else, I have to test myself to see if the attribute is valid or it is simply ignored.

I have made changes to this document to make the examples using ignoreErrors more clear

Cool :).

Have a great day,
Andrei

1 Like