We're starting to fully utilize impersonation in all of our projects. We create a Login account and a Customer account and use impersonation to link them. This supports a many-to-many relationship. Any number of logins can have access to any number of customers. This flexibility works very well for our type of projects.
As we're doing this, we're finding more reasons to have extra information in the relationship between Logins and Customers.
Would it be possible to add support for custom fields on AccessUserSecondaryRelation? We're starting a project right now that could really use it.
Here's an example of how we could use it:
AccessUser (Type=Login)
Account Name |
Jane Doe |
AccessUserSecondaryRelation
Login (primary) | Customer (secondary) | CanViewPrices | CanOrder |
Jane Doe | Dave's RV (111) | True | False |
Jane Doe | Mike's Camping World (222) | True | True |
AccessUser (Type=Customer)
Account | ID |
Dave's RV | 111 |
Mike's Camping World | 222 |
The three areas that are important are:
- UI support so that backend administrators can manage the settings
- API support so that we can perform CRUD operations on it
- Integration support so that we can integrate with an ERP
I can envision two ways to achieve this:
- Just simple custom settings, which extend AccessUserSecondaryRelation. This is obviously easier, and it supports everything that I need today.
- Support item types. That may be overkill, but to be consistent with other improvements in the platform, it may make sense. The key thing is that integration needs to be supported well in both the User Provider and Dynamicweb Provider.
As for the UI, currently, there is a standard user picker. The possible option is that if someone selects a user, the settings could appear below the user picker so that they can change the settings for that user.
It would be ok to have this only in DW9+
What do you think?
Scott