9 Replies Latest reply on Jul 20, 2011 12:36 PM by philmodjunk

    Auto Shutdown Feature

    MikeEdwards

      Title

      Auto Shutdown Feature

      Post

      Does FM 11 offer a time based automatic shutdown feature?

        • 1. Re: Auto Shutdown Feature
          philmodjunk

          No, but if you want the application to quit or a specific file to close at a specific time or after a specific period of inactivity, you can set up a script to do this, or the server (in case of a period of inactivity) can disconnect a client.

          • 2. Re: Auto Shutdown Feature
            MikeEdwards

            What would be the best way to do this because right now people are leaving FM open and when the server shuts down at midnight their files crash. I need an exit application script after 3 hrs of inactivity. How do I formulate that countdown so it will affect the application no matter what layout they are in?

            • 3. Re: Auto Shutdown Feature
              philmodjunk

              In Manage | Security,  you can specify the option "Disconnect from Server when idle" for each privilege set you've defined in your system. Then, in Server Console, you can use Configuration | Database Server to specify a "Maxiumum idle time allowed for FileMaker Clients".

              • 4. Re: Auto Shutdown Feature
                MikeEdwards

                I am working with FM 11 on a local network and not FM server therefore I have no server console.

                • 5. Re: Auto Shutdown Feature
                  philmodjunk

                  It would be much better if you did.

                  While not impossible, you'd need to set up some fairly complex scripting that uses Install Ontimer to run a script that checks for activity on a specified interval (such as every three hours). What get's tricky is building a sophisticated enough system to accurately track user activity so that inactive users can be identified and Exit Application used to close FileMaker on their computer without accidentally closing down a user that is still actively using your database.

                  Here's a possible method for doing this.

                  Add OnRecordLoad and OnRecordCommit triggers on every layout where user data entry might take place. Have them run this script:

                  Set [$$ActivityStamp ; Value: Get ( CurrentTimeStamp ) ]

                  Your On Timer controlled script can then compare $$ActivtyStamp to Get ( CurrentTimeStamp) to determine if the user has performed any data entry operations in the specified time interval. If not, the script can use Exit Application or Close File to close the file. (Close File will only close the current file, leaving the FileMaker application launched, Exit Application closes all FileMaker files and quits the application.)

                  Instead of trying to check for user activity, it may be simpler to use Install OnTimer to close the file a half hour before the server shuts down. Your script can use Show Custom Dialog to warn any users of the impending shut down so that they can more gracefully exit the system and then goes ahead and shuts them down a few minutes later if they haven't quit on their own.

                  • 6. Re: Auto Shutdown Feature
                    MikeEdwards

                    When you reference "Set" do you mean Set Variable or Set Field?

                    • 7. Re: Auto Shutdown Feature
                      philmodjunk

                      Apologies, that should be Set Variable.

                      • 8. Re: Auto Shutdown Feature
                        MikeEdwards

                        How can you use the  Install OnTimer script to react to a precise time like 6:00 PM or 18:00. It seems that it's more of a countdown mechanism.

                        • 9. Re: Auto Shutdown Feature
                          philmodjunk

                          True, but you can  use the current time to compute the interval.

                          If you want to close the file at 11:00PM every evening, you can use an expression like this to compute the Install OnTimer interval:

                          GetAsTime ("11:00 pm" ) - Get ( CurrentTime )

                          Time, BTW, is recorded as the number of seconds elapsed since midnight of the day before so we can use time like a number in calculations as long as we keep track of the fact that the result is returned in seconds unless we take steps in the calculation to convert it to a different unit.