Skip to content

parameter and step groups #35

Open
@tetron

Description

@tetron

Want to be able to apply annotations to groups of parameters or workflow steps. This would principally be metadata documentation -- need to decide if this should include features that affect runtime execution or not. The goal is to have a way to provide better documentation & user interface for tool use.

Syntax options:

inputs:
  parameter1: string
  parameter2: int
groups:
  group1:
    groupMembers: [parmeter1, parameter2]
    doc: "parameters related to the foobar feature"
inputs:
  parameter1:
    type: string
    groupMember: group1
  parameter2:
    type: int
    groupMember: group1
groups:
  group1:
    doc: "parameters related to the foobar feature"

Discussion points

  • should groups include things that are meaningful to runtime, e.g. applying a hint or requirement to several steps? rejected
  • Can an item be a member of more than one group? rejected
  • Should it be possible for groups to be members of other groups? rejected
  • What kind of metadata should be specified?
    • label, doc, 'expanded'
  • Are groups the appropriate place to declare dependencies between inputs, for example if optional input A is specified then optional input B is actually required
    • The user guide describes option groups using records and unions but nobody uses that in practice
    • rejected
  • specifying order that parameters / groups appear in UI
    • suck for the user but decided we need this because we can't guarantee order in JSON/YAML documents
    • should decide if reusing "position" field is appropriate, in CommandLineTool it allows either integers or expressions, but expressions don't make sense here.

Metadata

Metadata

Assignees

No one assigned

    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