Newbie questions about Pliant

Newbie questions about Pliant

Auto reload

Automatic reload
Message posted by maybe Rogerio Justino on 2001/09/26 06:01:31
I want to build a page that reloads every time that my database receive a new
data.
Is it possible ?
Message posted by maybe Hubert Tonneau on 2001/09/26 09:05:58
Not really, because HTTP is sessionless so the server has no way to tell
the browser than an event occured.

In facts you can do it, but it would require to create a Java applet that
connect to the server through a TCP connection and keep it open, so that
the server can send instructions. Not really easy.
Keeping a connection open also drastically reduces the scalability of the
server.

There is a much easier way to do it, which is to require the browser to
reload every n seconds, but it's a bit flickering.
Another middle and probably better way is to create a tiny frame that would
reload every n seconds, and these would receive the reload instruction
from the server when the main frame must be updated.
Message posted by maybe Rogério on 2001/09/26 16:48:00
I tried this code to build a page that reload every 3 seconds.
but doesnt work



var DateTime timestamp := datetime   
timestamp split (var Int year) (var Int month) (var Int day) (var Int hour) (var Int minute) (var Int second) (var Float fraction)

var Float secondinicial := (second - 5)
var Float secondfinal := second
while second > 0
  if (secondfinal-secondinicial) > 3  
    timestamp := datetime
    timestamp split (var Int year) (var Int month) (var Int day) (var Int hour)
(var Int minute) (var Int second) (var Float fraction)
    secondfinal := second
    text "Entrou no if" 
    eol 
    reload_page
  else
    timestamp := datetime
    timestamp split (var Int year) (var Int month) (var Int day) (var Int hour) 
(var Int minute) (var Int second) (var Float fraction)
    text "Entrou no else" 
    eol 
    secondinicial := second
  text (string second)
  eol
  timestamp := datetime
  timestamp split (var Int year) (var Int month) (var Int day) (var Int hour) 
(var Int minute) (var Int second) (var Float fraction)
Message posted by maybe Hubert Tonneau on 2001/09/26 18:42:39
The solution is rather something like (untested):

static # prevents the Pliant HTTP server to insert an 'Expires' HTTP instruction
html "<meta http-equiv=[dq]Expires[dq] content=[dq]3[dq]>" # now insert your own one
Message posted by maybe Rogerio on 2001/09/29 03:35:59
Sorry but i did not understand

After I write it,
static
html "<meta http-equiv=[dq]Expires[dq] content=[dq]3[dq]>" 
do i have to insert my code ?


if you sad it, i tried and did not work.
Message posted by maybe Hubert Tonneau on 2001/09/29 10:29:43
Sorry Rogerio.
This sample test.page works:

html "<meta http-equiv=[dq]Refresh[dq] content=[dq]2[dq]>"
text "Hello "+string:datetime