You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClosesOpenAssetIO#98.
OpenAssetIO/OpenAssetIO#1209 added the `kRequired` and
`kManagerDriven` access mode options for `managementPolicy` queries,
i.e. the subset of required traits for publishing to succeed, and the
subset of traits that the manager wants to dictate during publishing,
respectively.
For consistency, the `kWrite` access mode of `resolve` was renamed to
`kManagerDriven`.
So add support for these access modes in an extensible way, by making
use of the `kAccessNames` string mapping to allow the JSON database to
specialise on any access mode to `managementPolicy` in a consistent way.
Also add support for `resolve` to take any access mode, with a new JSON
field `supported_access_modes`, which is an iterable of supported modes
(i.e. `kRead` and/or `kManagerDriven`), and which defaults to only
`kRead`.
This means we can have a JSON database entry for a "write only" entity,
i.e. a "working reference" returned from a `preflight` API call,
which should only be `resolve`d with `kManagerDriven` access mode. This
then supports writing the example workflow in
OpenAssetIO/OpenAssetIO-MediaCreation#75.
Currently, `preflight` simply returns the input reference as the
"working reference". Ultimately, we will want the ability to customise
that.
Interestingly, `register` _can_ return a different reference, in that it
has the version identifier suffix appended (e.g. `?v=2`). This means for
the purposes of exemplification in
OpenAssetIO/OpenAssetIO-MediaCreation#75, we have everything we need.
Signed-off-by: David Feltell <[email protected]>
What
Support OpenAssetIO/OpenAssetIO#1209
The text was updated successfully, but these errors were encountered: