I have recently upgraded to BES 9.5.1 and have an issue I suspect is related to Unicode. I am reformatting the Active Directory Distinguished Name. I take a DN like this (“CN=Computer1,OU=SubOU,OU=ComputersOU,DC=DOMAINNAME,DC=COM”) and put it in a format like this (DOMAINNAME.COM/ComputersOU/SubOU). Since the upgrade the same relevance code now formats the DN like this (DOMAINNAME.COM/putersOU/OU). As you can see it is missing the first three characters of each OU. Below is the relevance code I use and the issue has something to do with this (lengths of following texts of positions of it) line. Any help would be appreciated in determining if this is a flaw or if there is a workaround.
Thanks,
Jeff
(
concatenation of
(
concatenation "." of substrings separated by ",DC=" of
(
following text of first "DC=" of
(
"CN=Computer1,OU=SubOU,OU=Computers,DC=DOMAINNAME,DC=COM"
)
)
)
& "/" &
(
concatenation of characters
(
lengths of following texts of positions of it
)
of concatenation "/" of
(
concatenation of characters
(
lengths of following texts of positions of it
)
of it
)
of
(
following texts of firsts "=" of substrings separated by "," of following text of first "," of preceding text of first ",DC" of
(
"CN=Computer1,OU=SubOU,OU=Computers,DC=DOMAINNAME,DC=COM"
)
)
)
)
(
concatenation of
(
concatenation "." of substrings separated by ",DC=" of
(
following text of first "DC=" of
(
"CN=Computer1,OU=SubOU,OU=ComputersOU,DC=DOMAINNAME,DC=COM"
)
)
)
& "/" &
(
concatenation of characters
(
lengths of following texts of positions of it
)
of concatenation "/" of
(
concatenation of characters
(
lengths of following texts of positions of it
)
of it
)
of
(
following texts of firsts "=" of substrings separated by "," of following text of first "," of preceding text of first ",DC" of
(
"CN=Computer1,OU=SubOU,OU=ComputersOU,DC=DOMAINNAME,DC=COM"
)
)
)
)
I did find a work around. I also suspect this to be a bug, so I did open a PMR. I changed “lengths of following texts of positions of it” to “(length of it - 3) of following texts of positions of it”.
(
concatenation of
(
concatenation "." of substrings separated by ",DC=" of
(
following text of first "DC=" of
(
"CN=Computer1,OU=SubOU,OU=ComputersOU,DC=DOMAINNAME,DC=COM"
)
)
)
& "/" &
(
concatenation of characters
(
lengths of following texts of positions of it
)
of concatenation "/" of
(
concatenation of characters
(
(length of it - 3) of following texts of positions of it
)
of it
)
of
(
following texts of firsts "=" of substrings separated by "," of following text of first "," of preceding text of first ",DC" of
(
"CN=Computer1,OU=SubOU,OU=ComputersOU,DC=DOMAINNAME,DC=COM"
)
)
)
)
The “length” operator in 9.5 returns the actual length in characters of the string, where the previous versions returned the number of bytes. The “position” operator also reflects this.
The UNICODE release required us to do changes like this so you do not go into the middle of a UNICODE character. I think with some examination you would be able to do something here that will work on both platforms.