5 Replies Latest reply on Dec 16, 2010 8:43 AM by BrandonUdelhofen

    Data Entry only and disabled printing

    MichaelMykytyn

      Title

      Data Entry only and disabled printing

      Post

      Hi,

      We're looking at the possibility using FM Pro, FM Pro Server and FM Go on an IPad to support some data collection.  Before doing so we need to test to be sure that we're compliant and secure and have set up a model using the trial editions of all three products. Unfortunately we've come across some concerns and hoping somebody can help.

      1) Is it possible to limit the ability to browse a database? We've been using the data entry only privileges set for the accounts that would be used however it still appears the users can scroll through all records in all of the views. We need the ability to do that.

      2) Is there a privilege set or administrative function anywhere that gives us the ability to turn printing off on the client. Our data collectors don't need to print.

      Thanks in advance!

        • 1. Re: Data Entry only and disabled printing
          philmodjunk

          1) You can setup record level access control that limits what records can be viewed by a user with a given account or privilege set name. Look up "Editing record access privileges" in FileMaker help and pay particular attention to the section titled: "Entering a formula for limiting access on a record-by-record basis".

          2) Your iPad users won't be able to print anyway and there is a setting for a given privilege set in Manage | Security where you can disallow printing for a given user for those using a computer to access the file.

          • 2. Re: Data Entry only and disabled printing

            Michael Mykytyn:

            Thanks for posting!

            PhilModJunk is correct (thanks!) but I'd like to expand on this topic a bit more.

            Both options are possible by editing the privilege set. The default  privilege sets made available (Read Only, Data Entry and Full Access)  aren't editable so you'll probably want to start with a brand new one.  To create a privilege set, go to File -> Manage -> Security and click  the Privilege Sets tab. From there, click New to create a new privilege  set. You'll want to experiment with the settings to get the appropriate  level of control for your database but we know you'll at least want to  uncheck the Allow Printing option under Other Privileges.

            Allowing the user to create new records but not view old records is a  little more complicated but still possible. One way to do this would be  to limit the record view based on a calculation. To do this, under the  Edit Privilege Set dialog (same one that we disabled Allow printing in),  select the drop down menu next to Records and choose Custom Privileges.  This will give you a new dialog where you can define specific rules for  the various functions related to records. For our purposes, just choose  the yes option for everything but view. For view, choose limited. This  will bring up a Specify Calculation prompt where we can provide a  formula for the database to check. If the formula results in true, the  user will be able to view that record. If it results in false, they will  not have access.

            At this point, the calculation needed will depend on your database.  Would the user be clicking a submit button when they're done creating a  record? If so, you could have that submit button set a field not visible  to the user to "complete" and then have your "limited" calculation be  something similar to this:

            not(FieldA = "complete")

            The above means that as long as FieldA doesn't equal the word  "complete", the user will be able to access that record. You'll probably  also want to omit records that they don't have access to, so your submit  button might perform a script that looks similar to this:

            Set Field[FieldA;"complete"]
            Omit Record
            New Record/Request

            Please let me know if you'd like any clarification on any of this.

            TSBear

            FileMaker, Inc.

            • 3. Re: Data Entry only and disabled printing
              BrandonUdelhofen

              Thanks TSBear,

              I work with Mike on this project and I can say that a submit button was something that we didn't think of originally but could be a nice complement to our database. How do we go about inserting the submit button amongst the other fields? 

              And, just to be super clear, once the iPad user finishes inputting data on a particular record, we need the person inputting to only be able to see the record he or she was working on, no viewing other patients. The iPad user can add another record, but not view any existing records in the database. So, the "Omit Record; New Record/Request" in the calculation field will then limit their access to other patients in the database? 

              Thanks so much for your help! 

              • 4. Re: Data Entry only and disabled printing

                Brandon Udelhofen:

                You can insert a button by going into layout mode (View -> Layout mode) and selecting Insert -> Button or clicking on the button tool in the status area.

                In regards to the users being unable to access any records in the database at all, it's important to note that with the method I outlined above, the user will not be able to access any records that have been "completed" but any records still being edited are fair game. You could change the privilege set calculation to only allow users to view records they've created but not yet submitted. To do this, you would change the calculation from:

                not(FieldA = "complete")

                to

                not(FieldA = "complete") and FieldB = Get(AccountName)

                where FieldB is an auto-enter calculation field. To set FieldB up, you would go to File -> Manage -> Database and create a new text field. From there, click the options button for that field and check the check box for "Calculated value" . This will give you a specify calculation box similar to the one you saw for the privilege set calculation. Here, you'll want the following:

                Get(AccountName)

                This will put the account name of the user who created the record in this field automatically and, as long as the "Do not replace existing value of field (if any)" option is checked, will keep it there regardless of who else visits that record. So the new privilege set calculation would check to see if the record has not been "submitted" and whether the user attempting to access actually created it originally. If either of these conditions are false, they will not have access to the data. 

                The script I outlined (Set Field, Omit, New Record) essentially sets FieldA to "complete" which causes the privilege set calculation to result in false meaning the user will no longer have access to the record, Omit the record which will hide it from the end user and then New Record/Request which just creates a new record.

                TSBear

                FileMaker, Inc.

                • 5. Re: Data Entry only and disabled printing
                  BrandonUdelhofen

                  Hi TSBear, 

                  You'll have to forgive me, I've been trying to make this work over the last couple days and I cannot seem to make sense of it. 

                  Using the method you outlined in your first post, I got this far: 

                  1. I inserted a button within form fiew, labeled it "complete"

                  2. I then made a column titled "mark complete" within the table view of the file. 

                  3. I then went to link that column to the button, so I went to button setup and tried to make it's function "insert text." I selected "go to target field"  and clicked the "specify" button to connect it to the "mark complete" field. I then clicked the second "specify" button and put "complete" as to specify what I wanted to be in that field. 

                  That is about as far as I got. When I tried to use the button, it did not mark the field "complete" and I was not able to then use the limited calculation function. 

                  Can you advise as to where I went wrong and how I move forward from here? 

                  Thanks again, 

                  Brandon