In our application we use locking actions from the community commons library. When editing an object we first lock the object and when saving or cancelling the object we release the lock. This all works fine. But when the user uses the browser's navigation buttons, the 'cancel'/'close' events are not triggered and the lock stays in place and cannot be released anymore not even by the same user. Is there a solution to this problem. I heard of a mendix runtime parameter to limit the number of 'back' pages for browser navigation ????
I think you need to have some trigger to release the locks when a user leaves a page: even if you disable the navigate buttons, a user could still hit refresh or close his browser. Even then, you don't solve the problem when a user loses his internet connection.
A second solution could be the ReleaseOldLocks Java action. Perhaps you can run that more agressively, or modify it, so that a user can release his own locks?
We have a Scheduled event that executes every 5 minutes.
It checks all applications locked for longer than x minutes and unlocks them. Also, we have configured the opening of the specific entity, to check whether it is the current user locking the entity, and allow them to open it again.