List, I previously submitted an enhancement to add an Inactivity event that can be detected by an active link. I don't think this feature was added to ARS 7.0.
I know that one way to manually detect user inactivity is with a global display only datetime field on all forms the user may use, combined with workflow that updates this global with $TIMESTAMP $ each time the user "does something". Does something = the user actually clicked a button, performed a search, submitted a ticket, etc. This would need to ignore auto-refreshes of tables or other automatic processes not manually initiated by the user. This can be done but requires some tedious programming. All our computers have an automatic 20-minute screensaver that locks the Windows screens. How can you detect that the Windows screensaver is active and/or the computer is locked? Instead of detecting the screensaver or lock status, I can pull the system idle time using VB.Net. *I converted it to .Net from here: http://vbnet.mvps.org/code/system/getlastinputinfo.htm Module Module1 Private Structure LASTINPUTINFO Dim cbSize As Integer Dim dwTime As Integer End Structure Private Declare Function GetTickCount Lib "kernel32" () As Integer Private Declare Function GetLastInputInfo Lib "user32" (ByRef plii As LASTINPUTINFO) As Integer Sub Main() Try Dim lii As LASTINPUTINFO lii.cbSize = Len(lii) Call GetLastInputInfo(lii) Console.WriteLine((GetTickCount() - lii.dwTime) / 1000) Catch ex As Exception Console.WriteLine(ex.Message) End Try End End Sub End Module This returns the number of system idle seconds. An active link would auto-run every 5 minutes (for example) checking to see if a threshold was reached. This works but there are two reasons why I want to avoid this approach. 1. It runs in a separate process, which takes at least 1 second to initialize. 2. The clients would need to run this from a network share instead of locally. This will add 1-3 seconds depending upon current WAN conditions. Managing the distribution of this console app on every computer or every LAN server is not currently an option. I am looking for a solution that would run from within workflow that is directly supported, something like OLE. I realize that this won't work for mid-tier. Any suggestions? Thanks in advance. I know if a solution is found that many companies will benefit from it. I think the most obvious benefit would be to pause all table auto-refreshes after a certain period of idle time. As many of us have experienced, users sometimes leave their computers on 24 hours a day and logged into Remedy. Just think of the amount of data being dragged across the WAN because of all those table auto-refreshes to computers where no-one is there. Pausing refreshes could provide a boost in performance at certain large companies. Stephen _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

