Open pekam opened 3 years ago
We keep the default functionality as entering grace period. Waiting for more feedback before potentially implementing this configuration.
There are two different use cases that we might want to support:
CollaborationAvatarGroup
component would be guarded by a requestAccess
check that would be explicitly configured to not trigger the grace period.requestAccess
, but instead all Collaboration Engine features should have a global configuration to disable the grace period.
The
requestAccess
method registers the provided user for the current month if the user was not yet registered and the license quota allows registering a new user. This can be used to check if collaborative features can be enabled for an end user and build the app accordingly.For example, disable parts of the UI that use collaborative features:
If the quota is 10 and the user to request access to is 11th monthly user, the method will enter grace period and resolve with
hasAccess=true
.This method can be thought of as a backup plan if things go wrong, but it's also possible that the developer thinks: "I have quota of 10 users. I don't want to buy a license with a bigger quota although I know that I may have more than 10 monthly users. I just want to enable collaborative features for the first 10."
In that case, it would be nice to just resolve with
false
if the normal quota is full, and not enter the grace period. When it's expected that the quota is exceeded on a monthly basis, it would be good to keep grace period as a backup, instead of wasting it on the first month.One potential solution might be adding an optional boolean parameter to the method. Another question is, which behavior should be the default.