Track user's activity per application

Hello Appian Community,

We are receiving a request from our customer to track the user's activity inside the application.

1. Track their login/logout timestamp per application per user

2. Track their time spent on viewing each interface per user per application

3. Track their action performed inside the application (clicking button, submitting the form, user input task etc.)

Please suggest if this request is feasible.

Thanks in advance

  Discussion posts and replies are publicly visible

Parents
  • With reference to your specific questions:

    1. Track their login/logout timestamp per application per user

    Logins are logged by Appian to the 'login-audit.csv' log. 

    There is no logout event recorded. Note that users' sessions can automatically timeout (which is different from them actively logging out) so it depends on what you're aiming to measure/report on

    2. Track their time spent on viewing each interface per user per application

    3. Track their action performed inside the application (clicking button, submitting the form, user input task etc.)

    For both 2. and 3. you would have to build a custom framework to write the necessary "events" for those user interfaces that a user is presented in the context of a process model i.e. write an event when they enter a User Input Task (UIT) and write another when they exit. Also note that UITs can be configured to exit automatically after, say, a given timeframe so you'd have to catch those as well. You would also have to attach writing events to each component e.g. button-clicked. Note that for all such events you'd need some form of correlation token so you can weave the events together as part of a single user's journey through a business process.

    There are other classes of User Interface that are not part of a process e.g. Record views. There is no programmatic way to capture events for when a specific record is accessed, but Appian does record these to the ' records_usage.csv'. What you won't have is a correlation token to join the event of a user accessing a record and a specific instance of any action taken on that record. You would have to infer such by using any date/time values recorded in your custom events.

    I would also echo Former Member comment regarding "What do we really need?" before diving into designing./building based upon the "requirements" expressed.

Reply
  • With reference to your specific questions:

    1. Track their login/logout timestamp per application per user

    Logins are logged by Appian to the 'login-audit.csv' log. 

    There is no logout event recorded. Note that users' sessions can automatically timeout (which is different from them actively logging out) so it depends on what you're aiming to measure/report on

    2. Track their time spent on viewing each interface per user per application

    3. Track their action performed inside the application (clicking button, submitting the form, user input task etc.)

    For both 2. and 3. you would have to build a custom framework to write the necessary "events" for those user interfaces that a user is presented in the context of a process model i.e. write an event when they enter a User Input Task (UIT) and write another when they exit. Also note that UITs can be configured to exit automatically after, say, a given timeframe so you'd have to catch those as well. You would also have to attach writing events to each component e.g. button-clicked. Note that for all such events you'd need some form of correlation token so you can weave the events together as part of a single user's journey through a business process.

    There are other classes of User Interface that are not part of a process e.g. Record views. There is no programmatic way to capture events for when a specific record is accessed, but Appian does record these to the ' records_usage.csv'. What you won't have is a correlation token to join the event of a user accessing a record and a specific instance of any action taken on that record. You would have to infer such by using any date/time values recorded in your custom events.

    I would also echo Former Member comment regarding "What do we really need?" before diving into designing./building based upon the "requirements" expressed.

Children
No Data