NetTalk Central

Author Topic: NetRefresh  (Read 241 times)

rjolda

  • Sr. Member
  • ****
  • Posts: 421
    • View Profile
    • Email
NetRefresh
« on: October 31, 2025, 01:47:14 AM »
HI
BT14.36  C11 ABC
I am starting to play with NetRefresh.  I have a case where user B is watching a NT BROWSE on table called  J_SRVREQ.  This Browse is set in NetRefresh Local Extension to Refresh table J_SRVREQ and sending J_SRVREQ.   
I have a client who INSERTS a record into table J_SRVREQ.  The client is set to Refresh J_SRVREQ.  Insert is done using the UPDATE for this table but it is called in code and not from the Browse.
I would think that anyone then watching J_SRVREQ with a NTBrowse which is open (user B) would see that a record was added and NetRefresh would kick in and REFRESH the NTBrowse on J_SRVREQ for any user that has this table open and is using NetRefresh.
However, after client creates a new record for J_SRVREQ, the NTBROWSE on J_SRVREQ is NOT UPDATING - I have to do a manual refresh to see the new inserted record.
What am I missing to tell the user B that the Browse needs to be refreshed when a record is added?

Thanks,
Ron

Jane

  • Sr. Member
  • ****
  • Posts: 414
  • Expert on nothing with opinions on everything.
    • View Profile
    • Email
Re: NetRefresh
« Reply #1 on: October 31, 2025, 12:07:23 PM »
First thing would be to verify that you've got all the pieces of netrefresh working.

You could temporarily make a field on your browse EIP.  When you update the field, it should show on another browser.

Once that's working, read the section of the docs on triggering a refresh from the webserver (i.e., in handcode)  https://www.capesoft.com/docs/NetTalk14/NetTalkWebBasic.htm#NetRefresh

For example, for a browse using my umDischargeManagement table, after doing some processing I have

Code: [Select]
p_web.SetTableValue('umDischargeManagement',today() & '-' &clock())
« Last Edit: October 31, 2025, 12:09:30 PM by Jane »

rjolda

  • Sr. Member
  • ****
  • Posts: 421
    • View Profile
    • Email
Re: NetRefresh
« Reply #2 on: October 31, 2025, 01:09:01 PM »
Hi Jane,
Thanks for that.  I saw that but the templates seem to suggest that they will write that code to trigger refresh when you identify the File for Refresh. I will give that manual entry a try.
Ron

rjolda

  • Sr. Member
  • ****
  • Posts: 421
    • View Profile
    • Email
Re: NetRefresh
« Reply #3 on: November 01, 2025, 12:31:16 PM »
HI Jane,
I added the line to SetTableValue to my table and MAGICALLY - it worked!!!
Better than having polling every 2 seconds!
Thanks,
Ron

Jane

  • Sr. Member
  • ****
  • Posts: 414
  • Expert on nothing with opinions on everything.
    • View Profile
    • Email
Re: NetRefresh
« Reply #4 on: November 02, 2025, 12:14:04 PM »
Good job, Ron!

Every time I set up NetRefresh in an app I wind up forgetting some piece.  Once the pieces (global template, webserver template, specific browse template, websockets, etc.) are all working, it works really well as long as it knows about changes.

But when I run a process that changes stuff in an embed or a separate procedure, I need to do the setTableValue thing.

One other caveat.  Occasionally websockets doesn't work.  If I completely kill chrome.exe (not just close a tab) and reopen it, it works again.  That's rare and intermittent, but I have experienced it.

Jane

rjolda

  • Sr. Member
  • ****
  • Posts: 421
    • View Profile
    • Email
Re: NetRefresh
« Reply #5 on: November 02, 2025, 05:39:19 PM »
Hi Jane,
This is Refresh is awesome.  I had 3 procedures that I had working with 2 second polling - mostly because there were under the hood changes in some of the tables that I needed to keep up to date.  With a little work, I got rid of all the polling - my WebServer now just sits there with nothing to do.  It is just amazing.  Got all three procedures running with web sockets - and it it instant whereas with 2 second polling, I had to "wait" for the update. THanks for the critical insight you supplied.
ROn