PROBLEM
Anytime the dean would like to view a particular teachers gradebook they would simply add themselves to "<Teacher Name Math Class>" memberrole via a custom implementation of DNN's orginal SecurityRoles.ascx. The page is redirected to itself so the TabModuleList can be rebuilt taking into account the new adjustments in the MemberRoles. This all works, but the TAB MODULE LIST BUILT UPON MEMBERROLE(S) does not take instantly. There is up to a 30 second delay. You can continue to hit refresh over & over & it will eventually work. This is not exceptable, it needs to be instantly.
SCENARIO
School Teacher Grade Books
DNN Module - Gradebook
One instance of this module is created per teacher. The moduleSettings save the name of the teacher so that instance of the module can record grades for only that teacher's students.
DNN Tab
If there are 10 teachers, each one of those teachers will have there own module instance on a particular tab.
Users
Each of the 10 teachers will have a DNN login & 1 dean/principle will have a login
MemberRoles
- Each of the 10 teachers will have a MemberRole names something like "<Teacher Name Math Class>"
- Each of those teacher module instances will the "<Teacher Name Math Class>" memberrole assigned with VIEW permissions
NOT THE PROBLEM
I. Caching
a. I clear the "GetPortalTabModules<TABID>" cache after the changes & before redirect to self. It's not this caching
b. I have even tried performing an entire DataCache.ClearHostCache(true)
II. Adding Dean user to "<Teacher Name Math Class>" memberrole
a. This is instant; I know this because I can monitor it with another browser & see the effects instantly.
NOTE:
I'm using DNN 3.1 for this