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
{{ message }}
Repository navigation
DNA-side AYON Ynput Production Tracking Integration #216
DNA supports multiple production tracking systems through the prodtrack provider abstraction (backend/src/dna/prodtrack_providers/), with ShotGrid as the reference implementation and ftrack in progress (#200, #207). AYON by Ynput (the successor to OpenPype) is an open-source pipeline platform with growing adoption among small and mid-size studios and an open REST/GraphQL API, which makes it a natural third provider and a good fit for DNA's open-source audience.
Details
Goal - A studio running AYON can use DNA end to end: log in, browse projects and review playlists, see versions with their context, publish notes and status changes back to AYON, and (where supported) publish transcripts. Same UI, same workflow, no ShotGrid dependency.
Mapping DNA abstractions to AYON entities - Identify how each DNA concept maps onto AYON's model and where the fit is imperfect:
Project → AYON project
Version → AYON version (under a product, under a folder), including the context DNA shows next to a note (shot/asset, task, status, thumbnail, reviewable media)
Playlist → the closest AYON concept for a set of versions under review (entity lists / review sessions, or a convention such as tags or a folder, to be decided); whether DNA needs to create playlists or only read them
Note → an AYON activity/comment on a version, including author attribution, mentions, and attachments
Version status → AYON version status, mapped through the project's anatomy/status definitions rather than a hard-coded list
User → AYON user looked up by email, matching the login pattern used for ShotGrid
Transcript publishing → whether there is a sensible AYON target (an activity with an attachment, a custom attribute, or out of scope for v1)
Provider - Spin up prodtrack_providers/ayon.py following the patterns in the ShotGrid provider and the ftrack work, using the official ayon-python-api or the REST API directly. Configuration via env (AYON_SERVER_URL, AYON_API_KEY, and a sudo/impersonation strategy so notes are attributed to the right user), selected with PRODTRACK_PROVIDER=ayon.
IDs - AYON entity IDs are UUIDs, not integers. This provider depends on Convert data type for IDs from Ints to Strings #208 (convert IDs from ints to strings) or must carry a translation layer until that lands.
Login - A login provider for AYON (username/password → token, or API-key-backed email lookup), optional if it is not straightforward; otherwise the existing email-based flow against the AYON user list.
Bootstrap - Add AYON as an option in bootstrap.sh alongside ShotGrid, mock, and ftrack, including a documented way to point at a local AYON server for development.
Events (optional, later) - AYON exposes a server event stream; once DNA has a generic inbound external-events interface, AYON status or review events could feed it. Out of scope for the initial provider.
Questions a plan should answer
Which AYON concept DNA treats as a playlist, and whether DNA should support creating them
Minimum AYON server version and which addons (e.g. the review addon) are assumed
How attribution works when DNA publishes on behalf of a user with a service API key
Where reviewable media and thumbnails come from for the version list
What the mock/testing story is (recorded fixtures vs. a disposable AYON server in CI)
Acceptance criteria
A written mapping between DNA abstractions and AYON entities is agreed on, including the playlist decision
PRODTRACK_PROVIDER=ayon implements the ProdtrackProviderBase interface with the same test coverage expectations as the ShotGrid provider
A user can log in, browse projects, open a playlist, and see versions with context against a real AYON server
Notes published from DNA appear as comments on the correct AYON version with the correct author
Version status changes from DNA are reflected in AYON using the project's own status definitions
Summary
DNA supports multiple production tracking systems through the prodtrack provider abstraction (
backend/src/dna/prodtrack_providers/), with ShotGrid as the reference implementation and ftrack in progress (#200, #207). AYON by Ynput (the successor to OpenPype) is an open-source pipeline platform with growing adoption among small and mid-size studios and an open REST/GraphQL API, which makes it a natural third provider and a good fit for DNA's open-source audience.Details
prodtrack_providers/ayon.pyfollowing the patterns in the ShotGrid provider and the ftrack work, using the officialayon-python-apior the REST API directly. Configuration via env (AYON_SERVER_URL,AYON_API_KEY, and a sudo/impersonation strategy so notes are attributed to the right user), selected withPRODTRACK_PROVIDER=ayon.bootstrap.shalongside ShotGrid, mock, and ftrack, including a documented way to point at a local AYON server for development.Acceptance criteria
PRODTRACK_PROVIDER=ayonimplements theProdtrackProviderBaseinterface with the same test coverage expectations as the ShotGrid providerbootstrap.shand documented in the backend README alongside the other providers