I am trying to enable the user to give selective access on a list via dashboard. I published the list to the dashboard and can clearly see the "Read" and "Write" columns on the dashboards, however if I save the dashboard and close and reopen it , the columns of "Read" and "Write" are not visible. Can somebody explain what is the issue here? Is there any workarounds for the same as one can neither import into those columns nor can one apply formula to them.
Any help would be appreciated.
Solved! Go to Solution.
@aakash ,
This going to be a long post (might be a record), but the short answer is you have to create an action to write into the User list. When you do this, you have to specify the Read, Write, and if you are removing access, the None. Say your list is L3 Projects, you will have to specify L3 Projects Read, L3 Projects Write, and L3 Projects None. To do that, follow these instructions.
Lists Needed:
So this example will be on the Projects Flat list. Create a module named SYS Fake Users which is dimensionalized by Users. Create 4 line items: In Fake Users List (formatted as Fake Users), Load? (formatted as boolean), Anaplan Calcs (formatted as No Data - this is used as a spacer), and User txt (formatted as Text).
Formulas:
In Fake Users List: FINDITEM(Fake Users, User txt)
Load?: ISBLANK(In Fake Users LIst)
Anaplan Calcs: nothing
User Txt: NAME(ITEM(Users))
Create an action with a filter on Load?
The results are everyone that that has access to the model, but are yet to be loaded into Fake Users. Only show the line item Load? and User Txt.
Rename the action to Build Fake Users
Create a SYS Capital Projects Flat Properties module. Since I am using a numbered list, I need to get the "internal" name of the Capital Project. Create the following line items:
Create a module dimensionalized by Capital Projects Flat and Fake Users. You have to user Fake Users because you will not have access to everyone. Create the following line items with the associated formulas:
Create a view: Load to Users
Change the pivot where you have Capital Projects and Fake Users on the Rows, showing the following line items: User, L3 Capital Projects Read, L3 Capital Projects Write, L3 Capital Projects None, and Load?
Filter is defined as:
Create another view: Previous Read Write Selections
Line items to show: Read and Write
Filter is defined as:
Create a third view, called User Access db which will be published to the dashboard.
Go to the Users area and click Import.
Select the view User Access - Capital Projects.Load to Users. Fill in the blanks with the appropriate fields.
Click OK.
Rename the action to: Build Read Write Security
Create another action which will write the current Write and Read selections to the Previous Write and Previous Read line items. This will be based on the view User Access - Capital Projects.Previous Read Write Selections.
Rename the actions to:
Create a new Process is named Update Security with the following actions:
Publish this to a new dashboard as well as the view you created earlier (User Access db). I also created a "Refresh Projects" button that refreshes the Capital Projects based on the selection, but that will be a different post.
Hope this helps,
Rob
Hi,
Can you please provide some screen shots and brief descriptions of the issue you're facing?
Thanks,
LipChean
@aakash ,
This going to be a long post (might be a record), but the short answer is you have to create an action to write into the User list. When you do this, you have to specify the Read, Write, and if you are removing access, the None. Say your list is L3 Projects, you will have to specify L3 Projects Read, L3 Projects Write, and L3 Projects None. To do that, follow these instructions.
Lists Needed:
So this example will be on the Projects Flat list. Create a module named SYS Fake Users which is dimensionalized by Users. Create 4 line items: In Fake Users List (formatted as Fake Users), Load? (formatted as boolean), Anaplan Calcs (formatted as No Data - this is used as a spacer), and User txt (formatted as Text).
Formulas:
In Fake Users List: FINDITEM(Fake Users, User txt)
Load?: ISBLANK(In Fake Users LIst)
Anaplan Calcs: nothing
User Txt: NAME(ITEM(Users))
Create an action with a filter on Load?
The results are everyone that that has access to the model, but are yet to be loaded into Fake Users. Only show the line item Load? and User Txt.
Rename the action to Build Fake Users
Create a SYS Capital Projects Flat Properties module. Since I am using a numbered list, I need to get the "internal" name of the Capital Project. Create the following line items:
Create a module dimensionalized by Capital Projects Flat and Fake Users. You have to user Fake Users because you will not have access to everyone. Create the following line items with the associated formulas:
Create a view: Load to Users
Change the pivot where you have Capital Projects and Fake Users on the Rows, showing the following line items: User, L3 Capital Projects Read, L3 Capital Projects Write, L3 Capital Projects None, and Load?
Filter is defined as:
Create another view: Previous Read Write Selections
Line items to show: Read and Write
Filter is defined as:
Create a third view, called User Access db which will be published to the dashboard.
Go to the Users area and click Import.
Select the view User Access - Capital Projects.Load to Users. Fill in the blanks with the appropriate fields.
Click OK.
Rename the action to: Build Read Write Security
Create another action which will write the current Write and Read selections to the Previous Write and Previous Read line items. This will be based on the view User Access - Capital Projects.Previous Read Write Selections.
Rename the actions to:
Create a new Process is named Update Security with the following actions:
Publish this to a new dashboard as well as the view you created earlier (User Access db). I also created a "Refresh Projects" button that refreshes the Capital Projects based on the selection, but that will be a different post.
Hope this helps,
Rob
Thank you so much for providing such a detailed solution. It worked for me. Earlier I had been trying to import into the column "<listname> Write" using textlist but it occurred to me that a comma separated list of list items won't be imported into that columns.
I tried your approach and it successfully worked.
@rob_marshall, thanks for the detailed solution. Super helpful. I have a slightly different use case and had to tweak the build slightly, but this was an awesome blueprint. Appreciate the help.
Thanks for this solution. Can you please also help comprehending on how to delete certain items against users who have selective access for a list given that this will incrementally load items?
I am not sure I understand, if something was checked and now is unchecked, it should pass the member as the NONE part. Additionally, I believe you should break out the removal of access (NONE) from the Read/Write access action, so two actions.
Rob