Skip to content

Protocol Schema Versions

Joshua Melville edited this page Sep 4, 2019 · 2 revisions

Schema History

  • 1.0.0: Legacy version for Network Canvas Alpha, and Beta up to NC 4.0.5, Architect 4.1.0.
  • 1: Initial schema version. Clone of 1.0.0.
  • 2: Includes INCLUDES/EXCLUDES logical operators to allow for categorical/ordinal variable use in skip logic. Supports a stage level filter property to allow filtering nodes shown on a stage. Backwards compatible with 1.

Incrementing Schema Version

Schema version is incremented numerically by one with each single change, regardless of size or scope.

App compatibility Manifest

Each app is responsible for maintaining its own stated compatibility with schema versions. For example, an app may include a compatibility manifest stating it is compatible with schema versions 1-3 (inclusively).

Migration in Architect

For Architect, the compatibility manifest is in practice a list of migrations possible within a given version of the app. For example, if an app supporting versions 1-3 opens a protocol of version 1, the user will be prompted to migrate to the latest supported version of the schema (3) before being able to edit or use the protocol.

Migrations between versions are handled as a chained series of transformations from current version to highest supported version.

Compatibility in Network Canvas

Network Canvas will in general have single version compatibility with a protocol schema version, and will not migrate protocols.

Network Canvas must be updated to allow a protocol with a newer (but still compatible) protocol version to replace an existing protocol. The usual caveats about session data will apply.