-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
validURI characters #36
Comments
The following set, in addition to a-z;A-Z;0-9 works properly with N2T forwarding and does not interfere with ARK reserved meanings: It turns out -(dash) gets stripped by N2T (i didn't notice this before) and () (parantheses) are actually OK. These two characters also work in conjunction with N2T but will have mangled interpretation if ever turned into ARK identifiers: As far as fixing previously accepted identifiers, the behaviour across N2T and any downstream REST services is pretty dicey and upredictable when it comes to inserting encodings. Its far safer, from my tests using curl to ONLY use approved characters. |
Here is an explanation from the EZID team about dashes. In short, if we want to use dashes in suffixes through the N2T resolver we can't expect them to come out unscathed. _Yes, it's more or less intentional in the sense that ARKs are defined so I said "more or less" because I think normalization should be applied at Failing that second lookup, n2t applies a number of tricks to figure out So, unfortunately, to get ark ids working with the hyphen in them, either |
After doing some research on N2T and various browser tests, here should be the allowed characters for URIs (I think should constrain the identifiers to the "allowed" set, rather than looking for "excluded" characters))
A-Z
a-z
0-9
-_.:=+
Everything else is unpredictable in an identifier, and either conflicts with ARK or DOI rules or would interfere with REST-based URL parsing systems. We should also examine this set to see how it behaves with the current set of identifiers in the system.
The text was updated successfully, but these errors were encountered: