Using PatternCount with Web Direct bad idea?

Discussion created by Abingdon on Dec 21, 2015
Latest reply on Dec 22, 2015 by Abingdon

FM14.  FMS 14.4  Web Direct (LAN only. Internal network speed 1GbE)




I have a very straightforward internal telephone list with 200 records.


There are two tables, a Dashboard table that contains two fields, one is simply a linker field used in a Cartesian relationship with the Data table, and a global Text field called ‘gloPortalFilterGeneric’ into which the user types the name of the person they wish to view in the portal that is showing records from the Data table.  The data table itself contains Name, Telephone, Extension number and Email fields.


I am using the global text field to filter this portal using the PatternCount function.  The script that performs this operation is an OnModify script trigger attached to the global text field.


As the user begins to type the person’s name they want to find, a script commits the record, refreshes the Portal and returns to the global field so the user can continue typing.


The script is:
Commit Records/Requests [Skip data validation; No dialog]
Refresh Portal [Object Name: “Portal | Staff”]
Go to Object [Object Name: “Filter|People”


The portal filter is set as follows:

IsEmpty ( DASHBOARD::gloPortalFilterGeneric )
PatternCount (Dashboard » STAFFDATA_Department::Fullname ; DASHBOARD::gloPortalFilterGeneric ) > 0


Basically, I want to replicate a ‘Filter as you type’ function.
This all works fine for users logging in using Filemaker, but with Web Direct anyone typing a name at even modest typing speeds results in the data being entered getting scrambled.  E.g., typing ‘Robert’ may sometimes show as ‘Robert’ and therefore get the correct result, but more often than not it results in ‘Reob..’ or ‘bRo..’ etc.  I can actually see the cursor ‘jumping’ backwards as it tries to keep up.


The fields in the Portal are merge fields.  There are no ‘off-screen’ objects.  No other scripts are running.


I have tried putting in pause steps but the result is the same.  I am loathe to abandon this idea as it’s very neat.  However, I cannot see a solution to it.


Any suggestions will be gratefully received as always.