List of users who have opened the same record for either viewing or editing

Hi Team,

I have a requirement where I have to show the list of users who have opened same record in a site.

I have record type with 'related actions' to view the record details, my requirement is if user A has already opened the record and if another user B opens the same record, then both of them should be able to see on the summary page that the other user has also opened the same record.

We don't need to lock the record rather just display who all are viewing the same record at the same time.

Any help is appreciated.

Thank you

  Discussion posts and replies are publicly visible

Parents
  • Hi. 

    This sounds achievable but with a catch. The easiest part of it is to store the username when someone opens a record. The hardest part it to clear the user context when they exit because user take no such action to exit which can be captured by Appian like clicking on a button or a link. 
    So for that part, you have to assume a time (like 10 mins) or similar for which you think you user will keep the interface open. 

    When you are good with the above part, you can simply use the text cache plugin and append the userContext to a cache (keep the ID of the record as the key) in the first local variable. 

    And in the code, you can use that variable to show the list of users who are accessing it. Now just set the timeout of that cache to the limit you might have decided and that should do most of the work. 

Reply
  • Hi. 

    This sounds achievable but with a catch. The easiest part of it is to store the username when someone opens a record. The hardest part it to clear the user context when they exit because user take no such action to exit which can be captured by Appian like clicking on a button or a link. 
    So for that part, you have to assume a time (like 10 mins) or similar for which you think you user will keep the interface open. 

    When you are good with the above part, you can simply use the text cache plugin and append the userContext to a cache (keep the ID of the record as the key) in the first local variable. 

    And in the code, you can use that variable to show the list of users who are accessing it. Now just set the timeout of that cache to the limit you might have decided and that should do most of the work. 

Children