Introduction

Thanks to extensive checking and clear reporting of incidents; end-users can handle several incidents themselves. For other incidents, they may need to turn to the specialists in their team; asking these specialists questions about the incidents similar to the following:

  1. Do you know, why I was not able to read the data?

    The causes are several, for instance: it might be a reconfiguration of the database, a broken internet connection, or something else entirely.

    The specialist that helps the end-user with this question, may very well benefit from clear error messages.

  2. Do you know, why I had to wait a lot longer before the solution appeared?

    Again, the causes are several, for instance: slow internet connection used to obtain data, the solution algorithm needed significantly more time for this instance or something else entirely.

    The specialist that helps the end-user with this question, may very well benefit from profiling information.

  3. I cannot explain the results I’m now seeing. Can you?

    Such a question may very well be countered with:

    1. What have you done, my friend?

    2. My friend, would you mind sharing the data, such that I can see for myself?

    The specialist that helps the end-user with this question may very well benefit from:

    1. a log of the actions taken by the end-user, or

    2. a case file containing a copy of the data the end-user saw.

Let’s call the error and profiling information, the action log, and the case file together, the session history. The purpose of sharing the session history is to reduce the time and effort for resolving those incidents that occurred during the session and were not handled by the end-user.

The information flow around the application now looks as follows:

../_images/210319_Guardserversession_v2.jpg

Library purpose

The GuardServerSession library, with prefix gss, is designed, amongst others, to work with session histories. This library can be discussed from the perspective of internal mechanisms, or from the perspective of integration:

  1. The interaction of stakeholders with the pages of the library:

    1. The incident reporting by end users

    2. The incident information management for specialists

  2. Mechanisms and provided functions:

    1. Error handling: how errors are turned into data and how this data, together with profiling data, flows through this library.

    2. Logging: to generate logs for the application using GuardServerSession library.

  3. Integration:

    1. Integration instructions: to integrate the GuardServerSession library with your application, in particular how to adapt the delegation to server session.

    2. UI for end users: to build a user interface for end-users.

    3. UI for specialists: to build a user interface for specialists.

Tip

The course Error Handling is an extensive walk through of how to handle errors.