Problem
For some of our ecosystem partnerships, we want to extend entitlements to 3rd party apps for limited periods, to a limited number of newsrooms.
For example:
- 15 organizations of our choice get pilot access to a service for a few months
- all verified newsrooms with a paid subscription get promotional access to a service for a few months
Solution
After discussing this with Mitch, I think the right design for this is an EntitlementGrant model with properties for:
- A set of entitlements to grant (M2M with Entitlements)
- An explicit set of organizations to receive the grant (M2M with organizations)
- An implicit set of organizations to receive the grant, based on a set of predefined parameters:
- verified status
- active subscription
Each rule could be something like a lambda function that accepts an organization, though another approach may be better.
When serializing user data through the API, we'll want to collate/union any available entitlements per organization, so that we combine and deduplicate:
- entitlements received through a subscription
- entitlements received through a grant
Problem
For some of our ecosystem partnerships, we want to extend entitlements to 3rd party apps for limited periods, to a limited number of newsrooms.
For example:
Solution
After discussing this with Mitch, I think the right design for this is an
EntitlementGrantmodel with properties for:Each rule could be something like a lambda function that accepts an organization, though another approach may be better.
When serializing user data through the API, we'll want to collate/union any available entitlements per organization, so that we combine and deduplicate: