Creating a formula to directly change a User's "Model Role" as well as read/write permissions

I have created and set up Model Roles, Selective Access, Content Access, Permissions and a defining value applied on the lowest level of the list heirarchy for what I would like security permissions to be.

 

I have 4 levels of security with the highest being Full Access, and the lowest being No Access. The inbetween levels have partial acccess that are heirarchial (Eg. If you have permissions for lvl 2, you have full access to lvl 3 as well).

I want to directly effect what the user's Model Role is, and the read/write permissions on the User page.

 

Is there a way to do this, and if so, how?

Tagged:

Best Answer

  • PaulRitner
    Answer ✓

    Oh, sorry... Emily Litella moment...

     

    You could use (module based) Dynamic Cell Access to control list access, but there is no way to change the role (or any of the physical settings within the User List via formula alone).

     

    Because the role setting impacts Contents, Landing Dashboard, as well as Module, Action, and List Access... the only way to alter that would be to physically change the role setting (in the User List).

     

    You're out of luck on this one.

     

    Cheers!

     

    Paul

Answers

  • Hello,

     

    Are you asking for a way to load security settings in one of the following ways?:

    1. Load from a CSV into the User List
    2. Load from a module into the User List

     

    Either way is possible and usually not difficult.  The key is thorough unit testing!

     

    You will see the Import option on the User List.

     

    Paul

  • Paul,

     

    Module to the User List.

     

    Import from another model (using a process), causing a formula in the module that is being loaded into to remove/add read/write permissions and change the users role from a pre-defined assocaited object/number.

     

    Essentially, if I load a file that says User XXX@XXX.com has 1 permissions, and then the permissions in the model change, because of formulas in the module that is loaded. User XXX@XXX.com now has role = 1, read/write privilages associated with role 1.

     

    Thank you for your reply.

  • I'm not completely following you, but consider the following:

    • We can use modules to define user level access (including model role) in a variety of ways, and then bulk load those settings into the User List. 
    • These has to be a line item in the module you are loading into the user list that corresponds to the user's email address.
    • There can be multiple rows per user (for selective access), and the last row that has Model Role will become the setting for model role.

    The rest is just getting the load format correct.

     

    The basic format is:  UserID (Email), and then whatever user list properties you want to load.  (I use the term "properties", but its really model role and selective access columns.)

     

    Does this make sense? 

     

    Paul

     

     

  • @PaulRitner,

    How do I directly effect the "Users" portion on the Model Settings?

    Specifically the colomn termed "Model Role"?


    I can extrabilate into changing each one of the read or write colomns as necessary.

     

    For example, if I have the module utilize "Users" in the "Applies To" colomn in the Modules page of the Model Settings, what would be the command to set a user (or all users) theoretically to Full Access or No Access, in the "Model Role" colomn.

     

    Thank you for your quick reply.

  • Hi,

     

    The user role would be loaded as a Text value, but might also be a list value (i.e. a list of available roles that you can use as a drop-down or reference in if-then logic, etc) 

     

    How you would determine what role to load is another question, but once you know which role value to load, its a straight foward as navigating to the user list and importing....the resulting import defintion can be tied to a process and/or button.

  • I am asking if there is another option aside from importing to directly change the Users. Specifically using a formula in a module.

  • Figures.

    Thank you for all of your help!