Warn when user viewing page

  • 2
  • Idea
  • Updated 2 years ago
  • Under Consideration
We are close to releasing a full Skuid built CPQ application.

One concern is multiple people looking at or making changes to a quote at the same time and not knowing it.  Our old CPQ system warned you that someone was also viewing your quote at the same time, so changes might be overridden.

Exactly the same thing that is being done in the Skuid page builder - when it shows who is currently viewing.  Even better, it shows when they have made a change to the page.

Anyone know how I can warn my users that someone else is viewing their record at the same time?
Photo of Chandra V

Chandra V, Champion

  • 6,966 Points 5k badge 2x thumb

Posted 2 years ago

  • 2
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Were you able to determine a way to do this?
Photo of Chandra V

Chandra V, Champion

  • 6,966 Points 5k badge 2x thumb
No.  We are live on our new Skuid CPQ - so it is bound to happen to have 2 users modifying the same quote.
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Sorry no one seemed to have any ideas. It may be a good idea to switch this to an idea. I don't know of a way to accomplish what you're wanting to do. Hopefully our design team could bounce this around. I'll leave it to you to change from question to idea or to create a new idea post.
Photo of Chandra V

Chandra V, Champion

  • 6,966 Points 5k badge 2x thumb
I am trying to re-pro what your developers have implemented on the Skuid page builder.  Where we can see others viewing the page, and then bonus... it turns red when someone has made changes!
Photo of Jannik Gysi

Jannik Gysi

  • 594 Points 500 badge 2x thumb
Chandra

So basically you want to warn users, when they have opened an old version of the record on the page, right?

What you can try:

  • Set up 2 models, one is for the editing, the other one to check if there's a change

  • Create a pageload javascript, that creates an interval. E.g. every 10 seconds.

  • Inside your interval function, query your second model, the one to check for changes

  • So now we get to the tricky part: inside the callback of your query, you have to execute your own function, to compare the javascript objects (rows) values.

  • If this function returns true, you can update a ui only field to trigger your warning sign.

At the end you have one model that stays on the version, when the page loaded and one model that updates every 10 seconds. After every update you compare the rows and warn if there's a change.

Note: Your models must be setup exactly the same, so create one and clone it afterwards.

Just open your page two times, change something on one page, and see if the other page warns you. That's how you would be testing it.

Hope that helped

Cheers
(Edited)