Support separate display labels for directories created in SIP arrange
|Google Code Legacy ID:||Pull Request:|
The SIP arrange feature currently doesn't intentionally apply any limits to directory names that it creates. The user can enter any characters, including normally-restricted characters like spaces and non-ASCII characters (accented characters, non-Roman characters). Unlike with the transfer phase, there's no sanitization phase, so processing will try to continue with these directory names; this caused #7150 in the past.
This is seen as a good thing with the arranged structMap feature, since the labels of directories map directly to information objects in AtoM. Since we can't necessarily allow arbitrary characters in file or directory names though, a good solution would be to be able to give directories two names: the name on disk (which would be from a restricted character set) and a display label (which could contain anything). If the display label is specified, then it's included as the label in the structMap instead of the label on disk.
A similar feature is already supported for files that exist during the transfer. A "file_labels.csv" file can be attached to the transfer in order to specify labels that should be used for files in the METS's structMap in place of their filenames.
The file_labels.csv populates the "label" column in the Files table, and createMETS2 uses that as the label instead of the file name if it's set. (By default, that column is NULL.) We could do something similar with SIP arrange directories, without requiring a file_labels CSV as in the transfer.
This feature should be optional, and the user should be able to enter only a directory name if they don't want a separate label.