Look But Don’t Touch FileMaker Portal

From Dwayne Wright PMP, PMI-ACP, CSM
Certified FileMaker Developer

WEB: www.dwaynewright.com
EMAIL: info@dwaynewright.com
TWITTER: dwaynewright
YOUTUBE: FileMakerThoughts

Now the majority of this article was written when FileMaker 6 was the latest version of FileMaker. So it is a little bit out of date, quite a bit out of date actually. I’m posting this article for two main reasons. The first is that there are a lot of FileMaker users out there that are still running FileMaker 6 and before. The second reason is that you might come across a FileMaker solution that is a marginally updated FileMaker 6 solution and might run across these FileMaker 6 workarounds within a FileMaker 9 solution.

Say that you want to restrict users from editing information in the portal row. The users need to have editing access to the data in the child file but not in the portal. So you cannot use the “no edit” password setting in the child file. Also you want to allow users to be able to click into the fields of the portal to do finds. So you cannot use the field layout option of deselecting the “allow entry into field” setting.

FOR FILEMAKER 7 AND LATER USERS
In layout mode, you can click on any field and choose to allow the user to click into the field in Browse mode or not. So this is a quick way to take care of your need to make portal fields accessible only in find mode or at all!

FIELD BEHAVIOR - In FileMaker 7 and above, you have a new layout field option called Field Behavior. This allows you to set a field to be entered into in browse mode or find mode. This appears as two different checkbox options for each. When checked, you can enter into that field in that mode. When it is not checked, you cannot enter into that field in that mode. Many times, you will want to have your key fields setup so they cannot be entered into in browse mode but can be entered into to perform searches.


FOR THOSE FILEMAKER 6 USERS
(and you might see this in FileMaker 9 databases directly converted from FileMaker 6 files)

Option 1: Create calculation fields that equal all the fields that are in the portal and then use these fields in the portal. Find operations will still work but you won’t be able to edit the calculation field. The drawback is that you have some redundant information within the child file because it is found in two fields. For very large databases, this may take up a lot of room and slow down some operations.

Option 2: Set the validation of the fields so that they cannot be edited. For example validation such as 1 = 2. However, this will also be cumbersome if they want to edit the field in the child file. You cannot setup validation for only the methods from the portal.

Option 3: Set the validation so that is only works from the parent file side. Something like Status(CurrentPortalRow) < 1 .

Option 4: Make each field in the portal row a button that runs a script. The script can check to see if the user is in FIND mode.

If(status(currentmode)=1
Go to field (the field your button is attached to) Select/perform
Else
End if

Option 5: Use the record level access features introduced in FileMaker 5.5. This does a record by record examination by using a Boolean calculation. The drawback on this is that record level access is not that fast in big databases involving relationships. I've heard ( but have not experienced first hand ) that record level access can really slow down a robust FileMaker solution that has a lot of activity.

=
More info about the author and FileMaker in general, contact me at info@dwaynewright.com.

© 2008 - Dwayne Wright - dwaynewright.com

The material on this document is offered AS IS. There is NO REPRESENTATION OR WARRANTY, expressed or implied, nor does any other contributor to this document. WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. Consequential and incidental damages are expressly excluded. FileMaker Pro is the registered trademark of FileMaker Inc.