Can the Name Normalizer transform be edited?

Does anybody know if the Name Normalizer transform can automatically remove accent marks (i.e. Colón = Colon)?

Also, I tested this transform and it seemed to work for many of my uses cases but one of my user’s last name had changed when it shouldn’t have been (i.e. Macasek = MacAsek) I understand the transform saw the ‘Mac’ and performed it’s predetermined action but is there a way to edit either the transform itself or write in an exception for an individual?

Thanks for your question, @colonm; that “productized” transform doesn’t have much configurability around it, but we have a “Cloud Services Deployment Utility” rule installed in all tenants that has a more customizable version of it.

this transform shows how you can use that particular utility:

//normalizeName
{
    "attributes": {
        "name": "Cloud Services Deployment Utility",
        "operation": "normalizeName",
        "input": {
            "type": "trim"
        },
        "delimiters": [
            "-",
            " ",
            "\\'"
        ],
        "patterns": "\\b(Mc|Mac|O'|D'|L')",
        "replacements": {
            "\\b(?:De)\\b": "de",
            "\\b(?:Del)\\b": "del",
            "\\b(?:Ii)\\b": "II",
            "\\b(?:Iii)\\b": "III",
            "\\b(?:Iv)\\b": "IV",
            "\\b(?:La)\\b": "la",
            "\\b(?:Mc )\\b": "Mc",
            "\\b(?:Of)\\b": "of",
            "\\b(?:Von)\\b": "von",
            "\\b(?:Y)\\b": "y"
        }
    },
    "id": "Test normalizeName",
    "type": "rule"
}

the patterns attribute essentially tells the transform where to capitalize a substring of a string

and the replacements entry tells the transform which input text to replace with which output text

@colonm you can try using the following example to replace accent marks:

{
    "id": "Normalise Surname",
    "type": "decomposeDiacriticalMarks",
    "attributes": {
        "input": {
            "type": "replaceAll",
            "attributes": {
                "table": {
                    "\u00e6": "ae",
                    "\u00fc": "ue",
                    "\u00df": "ss"
                },
                "input": {
                    "attributes": {
                        "attributeName": "LAST_NAME",
                        "sourceName": "Workday"
                    },
                    "type": "accountAttribute"
                }
            }
        }
    }
}

This example does the following:

  • Replace Unicode characters with simple text
  • Input for this action is the LAST_NAME attribute from Workday source
  • Use the primitive operation to replace a preset range of Unicode characters
  • Use the table to match other Unicode characters; replace each with text string
  • https://www.utf8-chartable.de/

Based on the link above, U+00F3 is the unicode representation of ‘o’ with an accent mark.

I’ll try that…thanks.

1 Like

I’ll test that and see how it works…thanks.

1 Like

Hi Colin. Is there anyway I can get my hands on all the features available in the “Cloud Services Deployment Utility”. I have been raking the community and the developer site, but haven’t been able to find it.

Regards,

Raoon

@rkunditch

Guys, how to change the account names from this “EVERSON DE OLIVEIRA CARDOSO” to “Everson de Oliveira Cardoso”?
Using the name transformer

Hey, for that specific purpose you can just use Name Normalizer | SailPoint Developer Community out of the box, there’s examples provided in the article.