When a web browser or the desktop client logs in, a new HTTP session is started. Every request made to the server after that, will use that same session. Sessions automatically expire and are logged out when they have been inactive for 30 minutes. This prevents a session from staying open when you put your computer to sleep or in case of a client crash.
A special case is the desktop client. When it is logged in, it will make a special request to the server every 5 minutes. This will prevent the session from expiring while the desktop client is open and a user is logged in.
When you close the client or switch user, it automatically logs out the user session.
When the client is closed, the session is ended immediately. In other cases (client crash or when their computer is set to sleep mode) it is always terminated after 30 minutes. The only case where you can have sessions staying open is when people leave the client open while not working with it.
If needed, users can be 'kicked' from the admin interface in System > Manage Sessions tab in the desktop client.
HTTP / API Interfaces
Custom interfaces that use the Elvis API do not keep their session alive by default. If required, this is easy to do by making an AJAX request to a URL on the server every 5 minutes. A special URL is availble for this purpose: http://<Elvis serverUrl>/alive.txt?uid=...
Note: Make sure to append a unique value to 'uid=' with each request to prevent it from being returned from the browser cache or a proxy cache.
Configure session timeouts
This feature requires Elvis 4.6.7 or higher.
The moment at which a timeout occurs for a Web session, Desktop client or InDesign client can be configured to your needs.
The web session configuration affects all web sessions including api-calls, plugins and webclients. It is not advised to use values lower than 10 minutes to make sure clients can send their requests to alive.txt.
# Timeout in minutes used by server to remove inactive web client session. # Negative or zero values will be changed to default 30 minutes # session.timeout.web=30
By default the desktop client and InDesign client will never time out. To change this behavior the timeout of both clients can be set individually with the following two properties:
# Timeout in minutes used by server to remove inactive desktop client session. # Set to -1 to indicate no timeout while the client has an open connection. # session.timeout.air=-1 # Timeout in minutes used by server to remove inactive InDesign client session. # Set to -1 to indicate no timeout while the client has an open connection. # session.timeout.indesign=-1
Timeouts for clients are checked on a regular interval of 5 minutes, this means that setting the timeout to 30 minutes will expire between 30 and 35 minutes since the last action. Setting the values to -1 will keep the sessions alive until the user logs out. Clients from crashed or forced quit clients will also be removed when the web session is expired.