4 Replies Latest reply on Jun 2, 2014 1:40 PM by AlishaDenicola

    Advanced Securities Questions



      Advanced Securities Questions


           Hello All, 

           I have a couple questions about what's possible with Filemaker 13 security. We're building a database that lists the projects the company is working on, then within each project is listed the tasks needed to complete the project. It's a simple database

           Projects table ---<Tasks table

           with a couple different layouts so that people can see the details of the project, the over all list, or the details of the task. 

           So security: 

           1. The director wants different people to be able to see different projects. For example, if I have the projects "Finance Admin" "Office Maintenance" and "Site Visit" she wants a certain set of people to see Finances, a different set of people to see Office Maintenance, and everyone to see Site Visit. Is it possible to have different accounts viewing select projects without disabling any part of the layout? Is it possible to have different accounts viewing certain information / field content?

           2. Is it possible to make a project invisible until a select person is added to it? 

           If anyone could direct me to tutorials on advanced securities, that would be great. 


        • 1. Re: Advanced Securities Questions

               See "Editing record access privileges" in FileMaker Help and check out this particular sub section: "Entering a formula for limiting access on a record-by-record basis" for a description of how to set this up.

               There are a number of ways that you can set up that use this method to limit a user's access to a particular project and the related tasks records so long as they are not a [Full access] user.

          • 2. Re: Advanced Securities Questions

                 Great thank you. Secondary question: 

                 I've used the suggested calculation in the securities to limit the viewable records - calculation: Record_Created_By = Get ( AccountName ) - however, when I am in the account that is limited, all the other projects show up as <no access>. 

                 so it looks like:

                 name: <no access> date: <no access> number: <no access> 
                 name: Joe                date: June 2 2014 number: 2 
                 name: <no access> date: <no access> number: <no access>

                 Is there any way to make the records that cannot be viewed by this account completely invisible? so that the only record that shows up is the record that is accessible by this account? 


            • 3. Re: Advanced Securities Questions

                   All you need do is perform a find--any find--either by the user or a script.

                   The results of any find will automatically omit "no access" records from the resulting found set.

                   One method is to set up the OnFirstWindowOpen trigger in File Options to perform a script with a scripted find similar to this:

                   Go to layout ["Projects" (Projects) ]
                   Enter Find Mode[]---clear the pause check box
                   Set Field [Projects::__pkProjectID ; "*" ]
                   Set Error Capture [on]
                   Perform Find []

                   This will pull up a found set of all projects records for which the current user is permitted to see.

                   The only way that a user can then see "no access" covered records is if they select either "show all records" or "Show omitted only" from the records menu. If you have FileMaker Advanced, you can install a custom menu that either removes these options or replaces them with scripts--the above example would work for "show all", that achieve the same result but with the "no access" records omitted.

              • 4. Re: Advanced Securities Questions

                     That's perfect. Thanks!