I wanted to start by trying to clarify some of the existing functionality.
I'm also not sure that the slug generation settings will apply here - since DIP upload does not assign identifiers, there is nothing for the setting to use, so it defaults to using the description title (which itself is generated based on the associated DIP object.
This sounds like a bit of a feature gap to me, but it would require some analysis and development to change. I suspect we would have to:
- Investigate how feasible it is to have import routines check for empty identifier fields and auto-assign them based on the mask value if enabled
- We may want to have a separate setting to determine whether an identifier is auto-assigned for blank fields during import - there may be valid cases where users don't want this to happen
- Make sure this logic applies to both CSV, XML, and DIP object imports
- Review and update the code so that, during information object creation during DIP upload, if an identifier is being auto-assigned, it is used for the slug when the slug generation settings are set to identifier or one of the reference code options.
- Determine graceful failure behaviors so imports and DIP uploads don't crash entirely if something unexpected happens
I would need to consult with my team to determine if such a workflow seems feasible, and if so, how much work they estimate would be involved. Please let me know off-list if I should pursue this further, and I can try to get some estimates for you.
Unfortunately, I think your best solution with the current functionality is to do this manually after DIP upload. That is:
- Enable the identifier mask
- Open a DIP upload's related information object (aka archival description)
- Click to auto-assign the next identifier and save
- Use the Rename module (available in the More button in the button block on a description view page) to manually edit the existing slug
I understand this could be a lot of manual work if you have many objects to upload, but I can't think of a better way at present.