feat(schema): metadata field for dataFiles#2683
feat(schema): metadata field for dataFiles#2683abdellah257 wants to merge 3 commits intoSciCatProject:masterfrom
Conversation
|
This feature was already proposed last year in this PR: #1967. For the same reason as that time, I think we should not allow arbitrary metadata in multiple places to avoid ambiguity between the responsibilities of |
I see, thank you for referencing that issue, it helps bringing back that discussion, as I can get to the same point my predecessor got to at the end. I' am very open to other suggestion, but as of now it's the only option I can see. |
|
The changes look fine to me. The concern around unclear responsibilities between dataset metadata and datafile metadata makes sense, but I think it's mainly an issue if we assume a 1:1 relationship between datasets and datafiles, which I dont think is the case for everyone. To me, datafile metadata feels like a good fit for file specific details. That being said, I'm not ignoring risks of users mixing the responsiblities between
I'd love to discuss more about the potential risks, but my main point is that optional dataFile metadata is a good addition |
|
I understand the worries to have metadata both in datasets and files, but I think that there is value to have metadata associated with a specific file, specifically when your datasets contains multiples files. I see ESS using this feature in the near future, specifically for derived dataset. |
|
If possible, please wait for the merge until the next scicat meeting. There might be different opinions and suggestions |
Description
a metadata field for dataFile, to include file related variables
[ { "dataFileList": [ { "path": "string", "size": 0, "time": "2026-04-14T12:05:20.052Z", "chk": "string", "uid": "string", "gid": "string", "perm": "string", "type": "string", "metadata": {} } ] } ]Motivation
In case of large number of files in a dataset it's very useful to collect file specific metadata to help seperate between them.

The following is a use case example:
Changes:
additional field
metadatain thedataFileDTO, schema and interfaceTests included
Documentation