-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modify DB Schema: add tables for delivery channels #618
Comments
Acceptance criteria
|
started an rfc here for the database design - https://github.com/dlcs/private-protagonist/blob/feature/deliveryChannelDatabase/docs/rfcs/012-delivery-channels-database.md
|
WIP possible tableslink between asset and its deliverychannels+policies ImageDeliveryChannelsImageId policies+DCs available to my assets DeliveryChannelPolicyid *If an asset has this property =
For allocating defaults on incoming API payloads that lack any dc info and don't explicitly say "channel": "none" DefaultDeliveryChannelPoliciesDeliveryChannelPolicyId |
Donald comments: I think these are the questions: API
Engine (by the time it picks up API will have done it's thing + record will be populated)
Orchestrator
that bottom table (DefaultDeliveryChannelPolicies) is a replacement for protagonist/src/protagonist/API/appsettings.json Lines 29 to 56 in bd9c0f3
See #625 |
An asset can have [0..n] delivery channels with the fields
channel
andpolicy
.channel
is the stringiiif-img|thumbs|iiif-av|file
policy
is a reference to either a system policy (e.g.,use-original
), or to a DeliveryChannelPolicy that belongs to the customer, which appears in the API as a URI but in the DB is some referential link.A customer or a Space can have [0..n] delivery channels with the fields
channel
,policy
andmediaType
. These are matched on mediaType to assets when assigned by the default mechanism and new per-asset delivery channels created. They are templates for the asset delivery channels above.So we have template DeliveryChannelPolicy objects that get copied and given to new customers as their own set of DeliveryChannelPolicy objects that they can reference, and tweak.
We have template DeliveryChannel objects that a Customer or Space has as members of
defaultDeliveryChannels
- we assign a selection tocustomer.defaultDeliveryChannels
on customer creation, they reference the copied DeliveryChannelPolicy objects above (or "globals" likeuse-original
). These are only used by the default matching process to populate an Asset's delivery channels when the API caller doesn't specify any.And we have the "real" DeliveryChannel objects that belong to an asset, either specified explicitly by the API caller, or assigned through default logic by matching one of the above template DeliveryChannel objects, and copying it.
Do we have enough tables?
The text was updated successfully, but these errors were encountered: