GoldMine Web (GMWEB) - How to set the session timeout for GoldMine Web?

Version 1

    Details

    GoldMine Web (GMWEB) - How to set the session timeout for GoldMine Web?

    Many times users forget to sign out appropriately from Goldmine Web, simply close to browser window or leave the session running in the browser without using GoldMine Web.

    How can a session timeout be set for GoldMine Web, so that after a certain idle time the session will become invalid and and requires the user to log in again and especially free resources on the GoldMine Web server?


    Resolution

    [INFORMATION]
    - Actually there are two settings which need to be verified and/or adjusted and here some general information about both setting and their dependencies.

    - The GoldMine web site (like many other web  sites also) has its own session timeout value (see below A.) which is  rather user (or better specific session) related and also application pool (see below B.) has its own Idle timeout value which is rather application related. Both setting rely  on each other, whereby the AppPool Idle Time-out can be considered as  more powerful as when it comes into play it will not only recycle the  AppPool but also kills current sessions.  


    A. GoldMine Connect >> Web.config file >> "<sessionState timeout="30"></sessionState>"

    - This setting means that your users’ sessions will be persisted until a 30 minute window of idle time has elapsed unless the  AppPool's worker process is not recycled either manually by recycling  the AppPool or also when performing an IIS reset or automatically when  the Idle Time-out limit is reached.

    -  The reason for this and also explains that the two values are dependent  on one another is because the session information is actually stored  within the worker process of the application pool. So in case the worker  process is shutdown, recylced or killed for any reason, the session  information will be lost automatically.

    [STEPS]
    1.  Locate the Web.config file for GoldMine Connect.  (on default  installations this will be available in "C:\Program Files\GoldMine  Connect" or "C:\Program Files (x86)\GoldMine Connect")
    2. Open this file using a text editor such as the Windows Notepad.
    3.  Search and adjust the following section "<sessionState timeout="   (the full default value is "<sessionState  timeout="30"></sessionState>")
    4. By default the setting is "30" which is 30 minutes, change this value to the desired session time out.
    Additional Notes:
    - The maximum is 99 (minutes) and the minimum is 1 (minute)
    - It is recommended this value should not be set to less than 5 (minutes), and not higher than 60 (minutes).
    5. Save the file.
    6. Perform an IISreset
    7. make sure to verify the AppPool Idle Time-Out setting (see in B.) so that the values at least match
    8.  Once both settings are adjusted/verified >> Verify the the  behavior in either GoldMine Web (GMWEB) or GoldMine Mobile (GMME).




    B. The Application Pool >> Advanced Setting >> Idle Timeout setting within IIS

    - The AppPool Idle Time-Out setting determines the number of minutes the application pool will be held in memory, with no requests being made, before the application is automatically unloaded from memory.

    - On most default IIS installations, this value will default to 20 minutes. (there will be most likely a programmatically change in a future GoldMine Connect release which will set the AppPool default Idle Time-out also to 30 minutes but it would be always recommended to verify this)

    - It needs to be made sure that the AppPool Idle time-out setting has at  least match the sessionState time out setting as only then the  Session.Timeout parameter will work as expected, but ideally  the AppPool Idle time-out value is always greater  than the website session timeout value because whenever the application  session timeout is reached, the  application pool will be restarted and therefore 'kill' the session  anyways regardless if the sessionTimout setting was met or not. 


    - This setting needs to be verified and adjusted in the GMMobileAppPool within IIS

    [STEPS]
    1. Browse to Application Pools
    2. Right Click on GMMobileAppPool (by default installation) >> Advanced
    3. Scroll to the Process Model section
    4. Verify / Adjust the "Idle Time-out (minutes) (In this example we set  the SessionState Timeout to 45 minutes, so wwe will set the AppPool Idle  Time-out to 60 minutes)
    5. OK
    6. Recycle the AppPool via Right Click >> Recylce or perform an IISreset

     

     

     


    Additional Note:
    In addition there is also another setting, which controls the maximum number of minutes the application pool can be active before it is recycled - this setting is the "Regular Time Interval (minutes)" Recycle trigger. This feature is intended to recycle the process on a regular basis (normally every 1-2 days) to avoid the effects of memory leaks etc. that may exist in software