Hi Jurgen, Jurgen Lust schrieb: > Hello, > > I've successfully added orchestra to my Faces web applications, using > MyFaces 1.2.2, Facelets and JBoss RichFaces. Normal Ajax operations > with a4j:commandButton and the likes work as they should, but the > rich:datascroller does not. > > I have created a custom ExtendedDataModel for a rich:datatable, using > Hibernate, based on what I found on the JBoss forums. I added this > datamodel as a bean in conversation scope. Now, when I open the page > in two browser windows it seems as if the datascroller is using the > model in session scope, because when scrolling in one window, the > selected range in the other window is also updated. > I don't think this problem is a "table scroller" problem; isn't it due to having two concurrent open windows?
Handling multiple windows is always a difficult problem with webapps. By default, orchestra does share conversations between multiple windows. The problem is that it is almost impossible for a webapp to *know* that they are different windows; all a webapp sees is two consecutive requests with the same cookies (hence same http session). It would be great if some future version of the http spec ensured a "window-id" http header was included in each request.... Using request-scope obviously avoids this issue, because there is no state to be kept. Orchestra does provide support for multiple concurrent windows via its "conversation context" feature, but it requires some cooperation from the webapp and the user. By default, a parameter is added into the url so that different windows can be associated with different conversation instances on the server. You've probably seen the "?conversationContext=n" added to the url when using orchestra. If a new window is created *without* this parameter, then a new set of conversations are associated with that new window. One way to do this is to create a link with the "target" property set, and then to wrap that link in the <o:separateConversationContext> tag (which just blocks the appending of the special query param). See: http://myfaces.apache.org/orchestra/myfaces-orchestra-core/tlddoc/index.html Regards, Simon

