oswfprojectsrel

Parent/child relations between workflow projects (hierarchy).

This table is the only source of the parent/child relation between workflow projects. No server job returns it as an output parameter: wfm.GetProjectList returns a flat list, and elsewhere in the server API the hierarchy appears only as input (WFProjectTree for wfm.Export, DestPrjId and OldParent for wfm.Import). Anyone who needs the hierarchy without database access can take it from the export file of wfm.Export — the projects are nested there.

For n projects of one organization the table holds n-1 rows. The root project (oswfprojects with ostype = 1) is the only one without a parent row.

1. Columns

Name Type Length Description

parent_id

nvarchar

32

ID of the parent project (oswfprojects.id).

project_id

nvarchar

32

ID of the child project (oswfprojects.id). Every project appears at most once in this column — a project has exactly one parent node.

org_id

nvarchar

32

ID of the organization. The table holds the relations of all organizations; without a filter on this column the trees of several organizations get mixed.

Reading the project tree of one organization
SELECT p.id, p.name, p.ostype, prel.parent_id
FROM oswfprojects p
LEFT JOIN oswfprojectsrel prel
       ON prel.project_id = p.id AND prel.org_id = p.org_id
WHERE p.org_id = '…'

Access goes through ado.ExecuteSQL and requires system role 88 (Server: Execute Ado jobs).

This route bypasses the DMS permission check. The caller sees all projects of the organization, regardless of what the workflow engine would show them.
  • oswfprojects — the projects themselves, without a parent column.

  • oswfworkflows — the workflow models below the families.