AnsweredAssumed Answered

Transactional Concerns – Global Variable ‘Shadow’ Model

Question asked by purefool on Dec 6, 2018
Latest reply on Dec 6, 2018 by philmodjunk

Way back in FMP5 days, I did the following to ensure that users couldn’t edit records by accident:


a) Hid FM menus from the user (using a plug-in),

b) Permitted navigation, finds, etc via buttons exclusively,

c) Allowed the user access to global variable ‘shadows’ of fields only.


So, after a user selected a record from a list view, they were transported to a layout that showed full details for same. If they chose to edit this record, they clicked a button labelled ‘Edit’. This replaced the non-editable fields with editable variable ‘clones’ of same. After updating these clones, they could either Save the updates, or Cancel/Revert them.


Recently, it occurred to me that the original record wasn’t being locked prior to its being worked on (albeit as a clone); so, in theory, two users could update the same record at the same time!!!


No record update conflicts were reported, but I’m wondering whether that was due to luck rather than craft, and the fact that the nature of the client’s business made it extremely unlikely that two users would ever edit the same record.


Although I have misgivings about this method now, it had virtues. In addition to preventing accidental overwrites, it enabled me to offer the client an audit log listing every field update.


If record locking can be guaranteed, could the method be redeemed?