I'm not 100% sure I understand your setup, but FileMaker is an application that "maintains state". In other words, the server constantly "pings" every client (including iOS clients) to verify that the connection is good. If it's not, it disconnects that client from the server. The client will then throw up a dialog that says something like, "Communication with the host was lost. All affected databases will now close." So if the database "goes offline", it'll just close. There's no provision for leaving it open, but disconnected.
Do you have, perhaps, a separated solution, where there's a local database that's connected to a hosted database?
many thanks for getting in touch. yes i understand that when it disconnects it will say it on the ipad however what im trying to achieve is almost a admin screen on the database that can monitor that the ipads are connected to the database and online. that way if one looses connection or disconnects we can attend to it straight away. eg
ipad1 staus: connected / ipad2 status disconnected
Not possible directly. One client can’t monitor the actions of another. The only thing that can do that is the Admin Console.
You can sort of fake it by using a Sessions table, where users log in and then record every action they take in a logging table. Then, if a user goes too long without an action, you can “assume” he’s been disconnected … but that’s not going to be very reliable.
Wim DeCorte came up with a method a while back where you can export the log from FileMaker Server and import it into a table via a scheduled script. If you have access to the server itself, you might be able to use his method. It involved writing a batch script to copy the log file into the Documents directory, then importing it, parsing it, and looking for the “disconnect” events. It’s more reliable than the event logging, but a lot more work (and implies you have access to the server itself).
Second option looks possible as its our servers so have full access.
just thought there might be a way of scipting something to either ping the ipad ip or check to see if they were connected every so many seconds, minutes etc. even a server side script maybe
Imagine the security risks if user A were able to tap into user B. Yikes!
Why not just use the admin console to monitor status? That's part of what it is for. You might be able to do some external scripting to monitor from another app, but the admin console seems like what you need.
Also, would this be a good use case for syncing to a local file? So if the database is disconnected, it can just sync up with the server when a connection comes available?
I don't know about Wim's solution, but you could probably do this using the fmsadmin LIST command in a batch script, and a hardcoded (or Session-generated?) list of users. Run a server side script every 15 minutes, compare the two and e-mail if there's a mismatch. Just another alternative.