Discussions

 View Only
  • 1.  Best Practises Guidance

    Posted 04-30-2020 18:22
    Our organization has only been using Quickbase for almost a year. All of the tables and apps have been at the management level and it was very normal for everyone to see all data. 

    We are now considering expanding our usage of Quickbase to our 136 external offices.  All of those offices' data is what we see now in our tables and apps. 

    However, we are considering giving the lead at each office a login; however, we want to restrict their viewing down to just their office's data. Each office has a unique number which all other tables reference back to. The office number is certainly the key to the parent table for all child tables. 

    The first thought I had was to create one role for each office and restrict the role to viewing only data = that office number. That seems cumbersome to create 136 roles. I suspect you all have a much easier, cleaner, and better way to do this. 

    Any and all guidance is really appreciated

    ------------------------------
    Ryan Shook
    ------------------------------


  • 2.  RE: Best Practises Guidance

    Posted 04-30-2020 20:03
    re: I suspect you all have a much easier, cleaner, and better way to do this. 

    Indeed there is a better way to do this with just 1 Role called perhaps Users lImited to their own Office.

    Create a table called Limited Users.  Set Key field to be a User field.  As an aside, I think that you could populate this table by importing an excel sheet if email addresses.)

    I assume that you have a table of Offices.  Make a Relationship where One Office has Many Limited Users.  Lookup the Office down to the Limited Users Table and call it [Limited User Office] 

    Then here is the magic.

    On any table where you need to limit access, create a formula User field called [Current User].  The formula will be 
    User()

    That formula will return the Userid of the Current User.

    Then make a Relationship back to the Limited Users table based on that [Current User] field as the Many side of the relationship.  Look up the Office.

    Then make a formula checkbox field called [Limited User Allowed to View?] where the formula is

    [Office] = [Limited User Office].

    Create the Role called Limited Users see own Office, and limit access based on that checkbox field.

     If the table has any children, you can just lookup that field [Limited User Allowed to View?] and use that lookup field in the Role Permissions without needing to set up that Relationship back to the Limited users table.

    Let me know if you have any trouble setting this up and I'd be happy to jump on a quick screen sharing Zoom session to get this working with you "off the clock".

    ------------------------------
    Mark Shnier (YQC)
    Quick Base Solution Provider
    Your Quick Base Coach
    http://QuickBaseCoach.com
    mark.shnier@gmail.com
    ------------------------------