I have some questions about manual sync with LCDS 2.5.1. --- In [email protected], "Jeff Vroom" <[EMAIL PROTECTED]> wrote:
> One other difference is that the "refresh fill" process - i.e. > where the server refreshes fill methods after an insert or update > or explicit "refreshFill" call is made on the server does not work > with manual sync. Since the server has no knowledge of what fills > each client is actively managing and does not cache its current > set of ids, it can't refresh it. But the assembler doesn't know what fills are active, either. Or am I missing something? The assembler can keep track of a client's initial use of a fill (by saving the fillParams argument to the assembler's fill method), but can the assembler get notification when the fill is no longer being used (e.g., when the client goes away)? > You can still update queries by using the > DataServiceTransaction.addItemToFill and removeItemFromFill methods. In my experimentation, you have to call addItemToFill and removeItemFromFill with the *exact* fill parameters (unlike the matching that is done by refreshFill). Hence the need to keep track of which fills are active. Also, in my experimentation, the client only seems to get the collection-change event if the addItemToFill call has position=-1. Is that expected? In my application, the fills have a sort value, meaning that the new item could be in different positions in different fills anyway, so what I think the client should do is to just start the fill over again when an item is created. How would the assembler notify the client that it should do that? (That is, how do I get something similar to a refreshFill method returning EXECUTE_FILL in the auto-sync case?) > Of course the other server side methods updateItem, createItem, and > deleteItem also still work though make sure that any use of these > apis also supply the producerSubtopics or producerDefaultHeaders > needed to route these changes to the right clients. What exactly are createItem and deleteItem good for in the manual-sync case? They're not pushing anything to the clients. thanks/jeff

