Skip to content

auto processing workflows #3614

@hamed-musallam

Description

@hamed-musallam

To support more flexible auto-processing workflows from the processing panel, we need to refactor the existing structure.

The old structure of the auto processing filters is based on the nucleus type ('1H', '13C')

onLoadProcessing: {
  autoProcessing: true,
  filters: {
    '1H': [ /* array of filters */ ],
    '13C': [ /* array of filters */ ],
  }
} 

The new format introduces a flat list of workflow, where:

  • Each item has a condition (jpath and value)
  • Workflow items are linked using id and parentId to form a hierarchical tree. The system traverses this tree sequentially, performing a value match for each specified jpath. Filters are applied only when they have matching conditions.
onLoadProcessing: {
  autoProcessing: true,
  workflows: [
    {
      id: '1',
      parentId: null,
      jpath: ['info','nucleus'],
      value: '1H',
      enabled: true,
      filters: [ /* array of filters */ ]
    },
    {
      id: '2',
      parentId: '1',
      jpath:['info','x'],
      value: '298K',
      enabled: true,
      filters:[ /* array of filters */ ]
    },
    {
      id: '3',
      parentId: '2',
      jpath: ['info','y'],
      value: 1002,
      enabled: true,
      filters: [ /* array of filters */ ]
    }
  ]
}

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions