This tip is especially useful for Domino developers developing in an environment where national characters are used, but it could be relevant to most of us, as most Domino web developers find themselves computing keys for urls that might end up containing characters that are either reserved (like "?" or "&") or which the browser or server won't accept as part of a url.
Let's say you want to compute a URL leading to a document from a persons name. For instance if you'd like my name to be clickable and to have it lead to a document containing my CV, or resume.
The URL would be something like
What would the key be?
It could be JensBruntt (as in @replacesubstring(thename; " "; "").
How about those annoying url-incompatible characters like the " ü" or the " ä " or how about the good old ampersand "&" which might confuse the situation as it is reserved in the Domino server? With some browsers you would get nowhere with a ü in the url.
I suggest that you look at the @password function.
@Password encodes a string from a readable format to a password format - basically just garbling up the original string. The password-string will always be the same when treating the same string. Jens Bruntt will always be converted to "(245AFE01FA27D12BBAF917BE8D3A4F0C)". Mich L?neburg will allways be "(3BFD018A4256B5C5B43B62460A5190B0)". And no non-url compatible characters in the string.
So if we compute the url like this:
"htp://yourserver/yourdb.nsf/people/" + @ReplaceSubstring(@Password(a_key); "(":")"; "") + "?OpenDocument"
and in the people view we sort the first column on @ReplaceSubstring (@Password(CV_fullname); "(":")"; "") - assuming we have my name in the CV_fullname field - you have a nice key that won't break your urls even when they contain those reserved or problematic characters.