3 Replies Latest reply on Sep 30, 2014 9:23 AM by eoin

    Suggestions for Locking records to prevent data loss/edits

    episking

      Title

      Suggestions for Locking records to prevent data loss/edits

      Post

      I have a set of forms and about 20 ipads that connect to these forms.  Currently the users have to select "New Record" when they want to create a new form.  It is possible for the users to scroll through the list of records and edit someone else's form.

      What's the best practice for preventing iPad1 from editing iPad2's records?  I thought about locking records based on a user login to the file, but I would rather not implement user accounts for each iPad... (each iPad is used by teams of people, and those teams change often.).

      Open to suggestions.

      Thanks!

      -EP

        • 1. Re: Suggestions for Locking records to prevent data loss/edits
          episking

          Maybe I should assign each iPad a unique identifier, and then perform some sort of lookup each time the iPad loads the layout?

          • 2. Re: Suggestions for Locking records to prevent data loss/edits
            philmodjunk

            Sounds like you need to set up Record Level Access control where each user's account name is used to limit which records they can access. 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.

            Caulkins Consulting, Home of Adventures In FileMaking

            • 3. Re: Suggestions for Locking records to prevent data loss/edits
              eoin

               

              Interesting,

              There are a few options open to you depending on what you need to do ...

              If you don't need the record to be edited after creation, make your list view open records in a non editable layout. A simple button could then direct you to another editable layout with GTRR to edit that record or create a new record.

              If you only wanted each iPad to edit it's own records, then perhaps you can use the Get(username) function. The username is set in the FMGo settings under username and is different to the Get(AccountName) which is the authenticated account the user logged in under. However it is not secure and users can change the username setting. Anyway this can be assigned to a record when created and can be used to filter a list of records specific to that username or only allow edits if the current iPads Get(username) matches the created by Get(Username) which was populated at record creation.

              Or as Phil suggests, the most secure method relying on privilege sets.

              ps, Get(persistentID) returns a unique ID for each device if you really need to lock it down to the device, but then if a replacement device is introduced, it won't be able to access any previous records the device it replaced created.