3 Replies Latest reply on Apr 22, 2016 12:21 PM by kurt.bleicken

    Gracefully log out inactive user?

    kurt.bleicken

      If a user is inactive for longer than the allowed time on FM Server they get a very hostile message:

       

      User has been forcefully disconnected by the host . . .    (inferring that the user has been doing something wrong)

       

      then a ugly red "Session Expired" banner is presented.

       

      Is there a way to keep track of how long a user has been inactive then gracefully log them out without all those messages appearing?

        • 1. Re: Gracefully log out inactive user?
          Mike_Mitchell

          Yes, but it's not simple. Basically, you have to use an OnTimer script to check a "last action" timestamp periodically. This timestamp would be set via a script, which you would have to embed in any script or action you wanted to count as "activity". (You can leverage Script Triggers if you like.) Once the allowable time has elapsed, you simply tell the solution to close.

           

          However, it's not a perfect solution, since some actions you might want captured (like maybe moving the mouse) wouldn't be captured. And it's a real pain in the rear to put in place - lots of repetitive scripting to insert. But if you really want to do that, you can.

          • 2. Re: Gracefully log out inactive user?
            rgordon

            You can also increase the amount of time needed to disconnect on the server. Idle time might not be what you think it is. I believe it is the time from the last commit, so if a user works for an hour in the same record and they never do something that commits the record, they will get bumped off if the idle time is set for 1 hour.  Even though they were working, the server thought they were idle due to the lack of a commit.

            • 3. Re: Gracefully log out inactive user?
              kurt.bleicken

              I've set up the timer so a user is logged out after 30 minutes of inactivity. The script to set the current time added to all scripts.  Then a script is triggered using the timer to check the time elapsed. When the elapsed time is greater that 30 minutes it closes the application. So this is working well. Now they get the message something like "jjones200 you have been logged out successfully".

               

              That's a much better message, but it leaves the user in a screen with a Filemaker Webdirect headline. I would like to hide the underlying software for security purposes but that may not be possible. I've tried to open a different URL but that triggers the browser popup blocker.

               

              Any suggestions?