Automatic Subscription Association
You can associate a user with a group and automatically associate all subscriptions owned by that user with the group.
Users can be associated with groups and subscriptions. For each of these associations, a user can be assigned an owner role, an admin role, or an observer role, or any number of custom roles with various permissions.
If a user-group association is assigned a role with subscription aggregator permission,
when that user is associated with the group, all subscriptions that the user owns are
automatically associated with the group.
Important: For
information about roles and permissions, see the discussions about user roles in MATRIXX Subscriber Management and roles in My MATRIXX Help.
The following applies to subscription aggregator permission:
- Assume for User A there are user-subscription associations with the owner role. When associating User A with a group with a role with subscription aggregator permission, all
subscriptions associated with the user are now associated with the group. As shown in Figure 1,
Subscriptions 1 and 2 were automatically associated with Group A.If you remove the user from the group, all subscriptions associated with the user that were associated due to the subscription aggregator permission are no longer associated with the group. In Figure 2, Subscriptions 1 and 2 were removed when User A was removed from the group.Note: If you delete User A, all subscriptions that User A owned that were associated with a group because of the subscription aggregator permission are removed from the group.
- If User A is associated already with Group A with subscription aggregator permission, any subscriptions that are subsequently associated with User A with owner permission are automatically associated with Group A. This includes new user-subscription associations with owner permission and situations where there were prior user-subscription associations without owner permission that change to now have owner permission.
- If the role applied to the user-group association changes so that it no longer has subscription aggregator permission, all subscriptions that the user owned that were associated with the group because of the subscription aggregator permission are removed from the group. In Figure 3, permission aggregator permission was removed from the role applied to User A's association with Group A so Subscriptions 1 and 2 were removed from Group A.
- If the role applied to the user-subscription association changes so that it no longer has owner permission, all subscriptions that the user owned that were associated with the
group because of the subscription aggregator permission are removed from the group. Note: Subscriptions that were added explicitly using the SubMan APIs are not removed.In Figure 4, owner permission was removed from the role applied to User A's association with Subscriptions 1 and 2, so those subscriptions were removed from Group A.
- If the role applied to User A's association with Group A changes so that it now has aggregator permission, all subscriptions that User A owns are now associated with Group A. Note: Subscriptions owned by User A that were associated with Group A explicitly are flagged and are unaffected by changes that would automatically remove the subscriptions associations from Group A due to subscription aggregator permission.
- If the role applied to User A's association with Group A has subscription aggregator permission, and if the role applied to User A's association with Subscriptions 1 and 2 changes so that it now has owner permission, all subscriptions that User A now owns are now associated with Group A.
Note: When using the SubMan APIs to modify a user or group, if the request results in subscriptions owned by the user being removed from a group because of subscription
aggregator permission, you can specify that subscriptions that were added explicitly to the group are also removed. See the discussion about SubMan APIs for more information.
SubMan APIs
When you use the SubMan APIs to make a request that creates subscription-group associations or removes subscriptions from a group, the
AssociationReason
in
MtxResponseUserUpdate indicates why the subscription and group objects are associated:- explicit (1) — Subscription association was added to a group explicitly by a SubMan API request.
- owner_has_subscription_aggregator_permission (2) — Subscription association was automatically added to a group because the subscription's owner has a role with subscription aggregator permission.
Use the following SubMan APIs to automatically associate user-owned subscriptions
with a group for users with a user-group association with the subscription
aggregator permission:
- MtxRequestUserAddGroup and MtxRequestGroupAddUser
- MtxRequestUserModifyGroup and MtxRequestGroupModifyUser
- MtxRequestUserAddSubscription
- MtxRequestUserModifySubscription
Use the following SubMan APIs to automatically remove user-owned subscriptions from a
group for users with a user-group association with the subscription aggregator
permission:
- MtxRequestUserRemoveGroup and MtxRequestGroupRemoveUser
- MtxRequestUserModifyGroup and MtxRequestGroupModifyUser
- MtxRequestUserRemoveSubscription
- MtxRequestUserModifySubscription
- MtxRequestUserDelete
Note: When using these APIs, optionally remove
subscriptions owned by the user that were explicitly added to a group by setting
the
RemoveExplicitMembership
parameter to true
(default is false
). All subscription-group associations for
which the AssociationReason
is explicit are removed if the
subscription is owned by the user and the user-group association has
subscription aggregator permission.The SubMan APIs and the following REST APIs return MtxResponseUserUpdate, which
indicates the AssociationReason
.
- POST /group/{SearchTerm:.+}/user/{UserTerm:.+}
- PUT /group/{SearchTerm:.+}/user/{UserTerm:.+}
- DELETE /group/{SearchTerm:.+}/user/{UserTerm:.+}
- DELETE /user/{SearchTerm:.+}
- POST /user/{SearchTerm:.+}/subscription/{SubTerm:.+}
- PUT /user/{SearchTerm:.+}/subscription/{SubTerm:.+}
- DELETE /user/{SearchTerm:.+}/subscription/{SubTerm:.+}
- POST /user/{SearchTerm:.+}/group/{GroupTerm:.+}
- PUT /user/{SearchTerm:.+}/group/{GroupTerm:.+}
- DELETE /user/{SearchTerm:.+}/group/{GroupTerm:.+}