I think it's a waste of time trying to force fit the FS namespace to the LDAP namespace. I think we should just load LDIF files if they exist in or below some partition directory. They can contain any LDIF and have any number of LDIF entries in them. It's up to the server to track files and contents.
This way there is no constraint on users to manage any kind of layout on the FS to have a partition that reads and uses LDIFs.
after having thought about the OS filesystem name limitations (forbidden chars, case sensitivity, length), here is what I propose for the file names on a ldif partition :
- a file/directory name will be composed by the AT short name (or the oid if the AT does not have a short name) in lowercase, followed by the '=' sign, and the normalized value, ad ".ldif" as a suffix
- if we have special characters in the normalized value (like '/', '<', '>', '?', ':', '|', '&', '"', ' ', '*', they will be escaped using '\'
- the normalized value will be lowercased
- we don't handle file names longer than 255 characters
- we don't handle case sensitive normalized values (ou=test.ldif and ou=TEST.ldif won't exist on the same directory)
- if an entry has a child at least, a directory will be created, without the .ldif extension