I guess that soon Tapestry components will use an agnostic js layer. The current implementation depend on prototype.
for the timer, test on ajax call, dom manipulation. So I let this jira open in order change the implementation in the future.
Next step will be the use of pubsub pattern.
It would be nice to connect this component to a push channel (WS, RTMPT (Flash), comet, polling). If we define a startegie based on both client and server capabilities, the frequency parameter make sense only on polling. Also in polling mode, server must be able to regulate the client call frequency when facing heavy charge, session get invalidate, or nothing to update...
So I feel that it would be better to replace this parameter by an ordered Array of JSON object get from the server and define a way to let the server regulate the pooling frequency if needed.
In pooling mode, I guess that a single timer or executor or worker is needed. It would be in charge of :
- registering the subscription on a channel from any zone
- getting data related to channel from the server
- dispatching data to any listener.
But perhaps it's to much.