The motivation for this feature is to allow metadata to function as a sort of lab notebook for experiments or device fabrication. Taking the case of device fabrication, each file or dataset might represent a step in a process that will be repeated multiple times, often by different users. To avoid error or users forgetting to record relevant metadata, it would be beneficial if a list could be saved and retrieved and then filled out and attached to the file or dataset.
For this feature to be useful, it would need to be shared. It seems the best way is (like other objects) to have these lists shared by space, or else made public or kept private if left out of a space. It may also be helpful to allow metadata keys to have optional default values, if many are likely to be the same each time. A description should also be provided.
This feature should also be available to users, and not just admins. In certain cases, the head of a lab, a PI, or a course instructor would want to create Metadata Groups to share with students. The students would not likely need to create any. But in several cases with users at MNTL at the University of Illinois, individual users would need to be able to create these easily as virtually all users would be using custom lists of metadata, and this task could not be effectively performed by admins without overwhelming them, causing delay, as well as privacy concerns as the lists themselves can offer too much information about unpublished research.
Fields that would be needed are :
- Date Created
- JSON of key/value pairs and (possible) default values, and actual values
- Datasetid (if attached to dataset)
- Fileid (if attached to file)
- SpaceIds - ids of spaces
Also, 'metadata groups' or 'metadata groupings' seems like a bad name. The users of the 4ceed group referred to these informally as 'experiment templates' which we also felt was a bad name (and too limited given other possible uses) and a previous attempts called these 'Vocabularies' and 'Vocabulary Terms' (likely to abstract and not obviously connected to metadata.)