Create archive file from ReferenceEditQuantity choosing among the children classes of the defined type

In the following schema, the sub_section steps_referenced contains a ReferenceEditQuantity where we are supposed to specify a type and then to fish some archive file in NOMAD or to create a new one.

definitions:
  name: 'MOVPE Experiment (IKZ Ga2O3)'
  sections:
    My_activity:
      base_sections:
      - nomad.datamodel.metainfo.eln.Activity
      - nomad.datamodel.data.EntryData
      quantity:
        method:
          type: str
          default: "My Custom Activity"
    SubstratePreProcess:
      m_annotations:
        eln:
      quantities:
        method:
          type: str
          default: "MOVPE IKZ Substrate Pre-Process"
      sub_sections:
        steps_same_entry:
          repeats: true
          section: nomad.datamodel.metainfo.eln.Activity
        steps_referenced:
          repeats: true
          section:
            quantities:
              step:
                type: nomad.datamodel.metainfo.eln.Activity
                m_annotations:
                  eln:
                    component: ReferenceEditQuantity

A problem arises when the type I specify is not an EntryData as the "plus button" is not there. Screenshot_from_2023-06-22_16-04-52

It happens that we want to create archives of some subclass of the specified type from the plus button (for example a subclass of Activity), like it used to happen for the sub_sections living in the same entry (look at the steps_same_entry class in the schema attached, it gives rise to a drop down menu). Screenshot_from_2023-06-22_16-30-22

Another point to notice is that the dropdown menu the custom schema classes are also shown (My_activity) together to the ones in NOMAD! Would be beneficial to show both sets also for the ReferenceEditQuantity.

I described this issue to @mnakh

@hnaesstroem I tag you to inform you about this. I guess it might be useful for you too, whenever the user wants to build a sequence of Activities manually from the ELN

Assignee Loading
Time tracking Loading