You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to trigger interactive steps, but we only want to show the steps to specific users/roles.
Implementation idea: Add a method is_available_to_user($currentuser, $course, ...) to the interactionlibbase class which returns true by default but can be overwritten by a step subplugin to avoid showing this step to the current user. This method has to be respected by the table view of the courses.
Another idea would be to implement a method generating an array of user ids which are allowed to interact with this step. Not 100% sure, what's the better approach.
I realize that this is somewhat similar to the get_relevant_capability method, but unfortunately, defining a capability is not enough for our use case.
I talked to some other devs about this and we came to the conclusion that this would be an easy yet effective approach. I'm going to implement this and will send a PR. If you have thoughts on the idea, the mentioned approach or the implementation details, let me know!
The text was updated successfully, but these errors were encountered:
A use case that came up for us:
We need to trigger interactive steps, but we only want to show the steps to specific users/roles.
Implementation idea: Add a method
is_available_to_user($currentuser, $course, ...)
to theinteractionlibbase
class which returnstrue
by default but can be overwritten by a step subplugin to avoid showing this step to the current user. This method has to be respected by the table view of the courses.Another idea would be to implement a method generating an array of user ids which are allowed to interact with this step. Not 100% sure, what's the better approach.
I realize that this is somewhat similar to the
get_relevant_capability
method, but unfortunately, defining a capability is not enough for our use case.I talked to some other devs about this and we came to the conclusion that this would be an easy yet effective approach. I'm going to implement this and will send a PR. If you have thoughts on the idea, the mentioned approach or the implementation details, let me know!
The text was updated successfully, but these errors were encountered: