Product and version
FileMaker Pro 15.0.1 and prior back to 12
OS and version
OS X 10.10.5 and earlier (but irrelevant)
iMac Retina 5K 27'' Late 2014 (but irrelevant)
Since i began working with FileMaker Pro, 7 years ago, i took the habit to have at least two windows opened permanently : first one in Browse Mode for testing, second one in Layout Mode, to access quickly to all conception tools...
Before FileMaker 12, i was able to modify and save layout changes in a window in Layout Mode whereas another window in Browse Mode was displaying an open/uncommitted record using the same Layout. The "con" was i had to keep in mind that some layout changes would not appear until the record was committed.
But since FileMaker 12, the behavior have changed : sounds like one is no longer supposed to modify a layout in this specific situation. It is the reason why you sometimes get an error message trying to select a layout object, even if this layout is not edited on a another window nor by another user ! Never mind ?
But what happens when the developer tries to save his layout changes whereas the layout was first modified here, but a record was then modified in a separate window ?
Sounds like FileMaker first go to the corresponding Browse Mode window, try to commit the record and finally, returns to the other window, saving the layout changes… as expected ! All that… so discretely… we do not realize the trick :-)
Mmmh... but what if a script OnRecordCommit is installed on the layout ? HERE is the bug :
- The OnRecordCommit script IS FIRED
- But the record is not Committed
- And the Layout save is failing without any error message
And this sequence is reapeating as long as the developer try to save his layout, except to go "manually" to the browse window commit his record and then return back to the layout window to finally save his layout once more.
PUZZLING NOTE : When the file is hosted, the issue only occurs if the user who modifiy the layout and who modify the record is the same person !
How to replicate
Open the sample file in attachment and follow carefully instructions.