Discussion
· Sep 11, 2023

What about BPL and DTL web pages automatic refresh?

I usually receive complains from our customers about the BPL and DTL web pages automatic refreshes, it's a common problem among newbies users but for veteran developers too, they forget to save the changes regularly and automatically the web page is reloaded, losing all the work done.

Maybe an autosave would fix this problem that produces a deep feeling of hate and resentment against InterSystems technology among our customers. I've added an idea in our portal, so feel free to vote it!

https://ideas.intersystems.com/ideas/DPI-I-452

Discussion (12)6
Log in or sign up to continue

Hi Luis Angel,

I hope this message finds you well. I wanted to take a moment to express my sincere appreciation for your insightful post regarding Business Process (BPL) and Data Transformation Language (DTL) web pages' automatic refresh.

Your observation about the common frustration among both new and experienced users with regards to automatic page refreshes resonated deeply with me. It's an issue that has often led to frustration and lost work, affecting the overall experience of InterSystems technology users.

Your suggestion of implementing an autosave feature is not only practical but also a potential game-changer in addressing this problem. It's a solution that has the power to improve user experience and reduce the negative sentiment associated with such incidents. I believe it would greatly benefit both novice and veteran developers alike.

I've taken the liberty of visiting the idea you shared on the InterSystems portal (https://ideas.intersystems.com/ideas/DPI-I-452) and voted in favor of it. It's a fantastic initiative, and I encourage others to do the same.

Thank you for taking the initiative to propose this idea and for actively working towards enhancing the InterSystems technology ecosystem. Your contribution is valued, and I look forward to seeing how this idea evolves and potentially becomes a reality.

Once again, thank you for your great idea, and I'm excited about the positive impact it could have.

Best regards, and again, thanks Luis Angel.

I agree with the problem (and the emotional effect it has!), less with the solution. The moment I e.g. take a call, the BPL/DTL may not be in a state fit to save it. Making the server handle this seems overly complicated. My personal preference would be to just have a simple JavaScript method keep the web session alive as long as the browser is open. That would also alleviate the need for these constant "Your session is about to expire" popups in the Ensemble production portal.

From Gertjan's suggestion, this won't survive page refresh caused by compile button click, or other navigation, but it does seem to jam the session door open, by pinging the server every minute:

clearTimeout(zenAutoLogoutTimerID)
clearTimeout(zenAutoLogoutWarnTimerID)
var pingServer=setInterval(function(){var xhttp = new XMLHttpRequest();xhttp.open("GET", "EnsPortal.BPLEditor.zen", true);xhttp.send();},60000);

ie: After opening the BPL page, launch Developer tools and run JavaScript commands in console tab.

Yes, something like that could work. I personally won't spend time on this, as I refuse to use the browser editors for this reason. I still use Studio for everything. It has it's annoyances, but at least it doesn't destroy my work for no good reason.

(This whole conversation astonishes me. We are talking about ideas and votes, like this is some minor inconvenience to some, instead of a prio 1 bug that InterSystems should fix yesterday.)

One question, why old HealtShare versions did not have this automatic refresh for BPL and DTL?

We have used previous version of HealthShare, earlier than 2020, I think that it was 2017, and it did not have automatic refresh for DTLs and BPLs in the Studio.

Maybe I am wrong but I remember that previous version, could keep BPLs and DTLs without refreshing every X minutes. 🤔💭