[Seaside] Can't get PTPeriodical to update

Nick Brown nickbrown at fastmail.fm
Mon Aug 13 14:19:57 UTC 2012

Hello folks.

I'm modifying a seaside application of mine so that parts of the UI will
periodically poll to see if anything's changed. I had a look at the
relevant section of the online seaside book, and it seems like
PTPeriodical is exactly what I want. Unfortunately I can't even get the
book's code example to work for me, so hopefully somebody can tell me
what I'm doing wrong.

I'm using the current Seaside/Pharo v3.0.7 one-click image from
seaside.st, and current stable releases of Firefox and Chrome (on
Windows). The following, applied to a fresh image, illustrates my

I create a WAComponent subclass, called MyTest.

I give it a class initialization method as follows:

	super initialize.
	(WAAdmin register: self asApplicationAt: 'mytest')
		addLibrary: PTDeploymentLibrary;
		addLibrary: SUDeploymentLibrary.

(taken from
http://book.seaside.st/book/web-20/scriptaculous/frameworks/library )
And renderContentOn: as follows:

renderContentOn: html
	html div
		script: (html scriptaculous periodical
			frequency: 1 second;
			callback: [ :ajaxHtml | ajaxHtml render: Time
			now ]
		with: Time now.
(taken from
http://book.seaside.st/book/web-20/scriptaculous/ajax/background )       

I manually call the class initialzation method to register the
application, then visit it in a browser. I can see that the time does
update, but only once. Wireshark confirms only a single XMLHttpRequest
is coming back from the browser. 

I'm afraid my Javascript debugging skills are largely non-existant, but
certainly the browser's JS console shows no errors or warnings.

I've tried explicitly calling #start on the PTPeriodical instance, in
which case I then get two XMLHttpRequests back from the browser in quick
succession, but still no ongoing periodical updates.

Grateful for any advice.

Nick Brown

More information about the seaside mailing list