NOMAD metainfo data is created by parsers, and there is not way for users to edit this data. Only a few set quantities can be edited for each entry (coauthors, references, comment, dataset, embargo, ...).
Metainfo should still primarily be created by parsers. However, there are scenarios where users need to provide additional method specific information that is not contained in the underlying raw-data files.
stories
an instrument measurement file does not contain all settings and a user adds those manually
requirements
the metainfo schema is used to determine what can be edited
editing is limited by the rights management for uploads, #2
User edited data is perserved if the metadata file is recreated by a parser. User changes and new parse results must be merged.
there are limitations in a first version of this feature:
only sections can be added/edited
only a simple dialog to edit a section of flat trivial shaped quantities with primitive types (string, number, bool, data, url)
implementation
API endpoint that receives new or updated top-level sections for an entry (e.g. POST api/v1/entries/<entry-id>/metainfo/path/to/section/that/is/edited)
Metainfo browser adds buttons for adding/editing sections (where allowed by metainfo), and shows a simple edit dialog(, with source tab to alternatively enter JSON directly)
after editing, entry is reindex, if edited section contained search quantities
On reprocess, editable sections are merged into the new parse results. If the path of an editable section does not exist in the new parse results, sections forming the path are automatically created to retain the edited section, and a warning is created by the processing.
In the future, this might be extended with a feature that allows to create fully user created entries.
NOMAD metainfo data is created by parsers, and there is not way for users to edit this data. Only a few set quantities can be edited for each entry (coauthors, references, comment, dataset, embargo, ...).
Metainfo should still primarily be created by parsers. However, there are scenarios where users need to provide additional method specific information that is not contained in the underlying raw-data files.
stories
requirements
implementation
POST api/v1/entries/<entry-id>/metainfo/path/to/section/that/is/edited
)In the future, this might be extended with a feature that allows to create fully user created entries.