Hi, I am using the Name Normalize transform, and encounter some unexpected behaviour here. I have users with “MACEDO” las name, which is common in my country. But it is converted to MacEdo. I think transform does not understand that is part of a surname, even if it has no space in front of other word, like “MAC EDO” could be.
This is expected? Is some way to correct it or only solution is an identity attribute rule?
Knowing that appears to be expected, you could pass that Normalize transform into a Conditional transform to capture that particular use case and correct it the other way or a First Valid to bypass the normalize transform.
Yes, at now I am bypassing surenames I have found that starts with Macxxxx. For now it has been patched like that, but it should be desirable to have something that matches all possiblities.
You can wrap the current transform build inside a static with this logic…
If the output contains “Mac”, then replace the string with concact[F, restinsmall] where F is the first letter and restinsmall are the rest of the characters in string extracted using substring transform and converted to lower cases using lower transform
I am not sure if it will work, as surename can have several words (for example, Sosa De Macedo). I think algorithm should be to first split the output, then for each word, do what you suggested (if begins with Mac and is not a real MacXXX surename, like MacLaughlin, then do the if-else, for A to Z with remaining substring). Then, for each splited word, should rejoin with a " " in the middle. That for each is what I am not sure if could be done with transforms, or with velocity. But could be done with an identity attibute rule, I think.