Users and Companies
There are now several ways of defining relationships between users and companies.
Explicit Access
A user has explicit access to a company when a company has been ticked on the user’s companies page or if the company is set as the user’s primary company.
Explicit access has been a part of the system since the beginning and it does offer a significant level of control over who can access what however having to manually assign users can be time consuming and difficult to maintain.
Inheritance (Implied Access)
Each user now has an option called Inherit Dropships
.
When this option is enabled, the user will automatically gain implicit access to any dropship companies that have a retailer or supplier parent which the user has explicit access to.
For example, let’s say that Sally has Inherit Dropships
enabled and the below companies exist.
Company Name | Type | Retailer Parent | Supplier Parent | User ‘Sally’ Has Explicit Access |
---|---|---|---|---|
Bob’s Gifts | Retailer | N/a | N/a | N |
Bob’s Gifts - Gift Supplies | Dropship | Bob’s Gifts | Gift Supplies | N |
Gift Supplies | Supplier | N/a | N/a | Y |
With the Inherit Dropships
option enabled, Sally automatically gets access to the Bob's Gifts - Gift Supplies
dropship company.
Inheritance is particularly useful as it allows a supplier to take on new dropships without having to manually give all of their production users access.
Dropship Delegation (Implied Access)
Dropship delegation is more complex than the previous methods and caters for a very specific scenario.
When a dropship delegate company is set against a supplier company, any users that have explicit access to the dropship delegate automatically gain implicit access to all of the supplier’s dropships.
This is best explained with an almost real world example.
Company Name | Type | Retailer Parent | Supplier Parent | User ‘Sally’ Has Explicit Access |
---|---|---|---|---|
Bob’s Gifts | Retailer | N/a | N/a | N |
Bob’s Gifts - Content Gateway - Cards | Dropship | Bob’s Gifts | Content Gateway - Cards | N |
Content Gateway - Cards | Supplier | N/a | N/a | N |
Custom Gateway - GCS | Dropship | Custom Gateway | GCS | Y |
GCS | Supplier | N/a | N/a | Y |
Sally works for GCS
(Generic Card Supplier) and so needs to be able to see orders from Bob's Gifts - Content Gateway - Cards
.
We could just give Sally explicit access, however manually doing so isn’t feasible because new dropships could be created all the time.
We could also use inheritance and give Sally explicit access to Content Gateway - Cards
however this would give her control over all licensed content card products owned by Content Gateway - Cards
.
The solution is to set Content Gateway - Cards
to have Custom Gateway - GCS
as its dropship delegate.
This means that Sally will automatically get access to any dropships that have Content Gateway - Cards
set as the supplier.
It is now also easy for Content Gateway - Cards
to switch to a new supplier without needing to update lots of users manually.
Dropship delegation also applies to supplier integrations (including any associated status update callback mechanisms).
For example, an integration enabled against Custom Gateway - GCS
would automatically pull in orders from Bob's Gifts - Content Gateway - Cards
and all other associated dropships.