Restrictions
Resources IDs must conform to a number of constraints. Resources IDs are made up of parts separated by '/' characters. For example, the resource ID "foo/bar
" is made up of two parts "foo
" and "bar
". The following restrictions apply to resource ID parts:
- Must not be empty
- Must not equal:
- .
- ..
- fcr-root
- .fcrepo
- fcr-container.nt
- fcr:acl
- fcr:fixity
- fcr:metadata
- fcr:tomstone
- fcr:versions
- Must not end with:
- ~fcr-desc
- ~fcr-acl
- ~fcr-desc.nt
- ~fcr-acl.nt
Translation
Resource IDs are translated to paths on disk when they are persisted in OCFL. The goal is for these paths to be as transparent as possible, however a minimal translation is applied to ensure that the paths are safe on filesystem. The specifics of the translation depend on the operating system.
Linux
The following characters are percent-encoded:
- ASCII character codes: x0-x1f
- ASCII character codes: x7f-xa0
- The space character
Windows
The following characters are percent-encoded:
- ASCII character codes: x0-x1f
- ASCII character codes: x7f-xa0
- Symbols: <>:"\|?*
- The space character
1 Comment
Danny Bernstein
Peter Winckles : do you want to mention something about the 503 character internal id limit? Or do you think that should go in the database table documentation?