Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • nomad-FAIR nomad-FAIR
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 245
    • Issues 245
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 46
    • Merge requests 46
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

On Monday, June 12, 2023, from 9.00 to 10.00 am there will be a maintenance with a short downtime of the GitLab service.

  • nomad-labnomad-lab
  • nomad-FAIRnomad-FAIR
  • Issues
  • #843
Closed
Open
Issue created May 16, 2022 by Markus Scheidgen@mscheidgOwner

Hash based ids for metainfo definitions

We want to support metainfo "versions" #549 (closed) soon. Here, it would be good if we had a unique id for definitions. For example, if a section would refer to its definition with m_def='../uploads/<id>/archive/<id>#/section_definitions/0@c9b1b196, and we then load the respective definition, we should check if the definition is still c9b1b196 or has changed in the mean time. When ever we create a reference like this, we use the current definition id.

This kinda id mechanism would also allow to keep a cache of definition across all versions and archives. We could then often ignore the actual url and simply search for an existing definition with the given "id", before attempting to load the url.

These ids would need to be hash-based to accurately represent the definition. If the definition is "different", its id needs to be different. Maybe only the actually defining property of each definition should go into this id. For example quantities and they type would be relevant, descriptions might not?

Wether we put the id in references or use a pair of m_def properties (e.g. m_def=url + m_def_id=id) could still be discussed

The hash needs to be fast enough to not slow down the initialisation of metainfo too much. Ideally, it would be created on-demand. It should only be created once and should be invalidated (or recreated) when the definition is changed.

Assignee
Assign to
Time tracking