locked
Non regular sync scenario RRS feed

  • Question

  • Hi,

     

    I have to develop an application where I have to support the following sync scenario:

     

    1. The user chosses to perform synchronisation between source and target replicas

    2. The user recieves the list of changes that were done on the source and the target does not know about

    3. The user selects some of those changes (not necesarry all) and presses continue

    4. Only the selected changes are synchronised into the target

     

    My question is whether this scenario can be implemented over the sync framework. If yes then can it be implemented over Microsoft Sync Framework v1 or only over Microsoft Sync Framework v2?

     

    Thanks,

    Arye

    Tuesday, January 27, 2009 11:24 AM

Answers

  • You could use Row filtering as a way to include only a subset of items to sync:

     

    http://msdn.microsoft.com/en-us/library/bb902843.aspx

     

    You can do this in V1 of the Sync Framework.

     

    In your scenario, the source provider would have to enumerate all items first, display it to the user, get the list of items the user wants to sync, then create a filtered change batch to send to the destination.

     

    They sync engine will make sure it excludes all the items you didn't sync in the final destination knowledge.

     

    The size of the knowledge will be propotional to the number of items you sync though, and not as compact as in a full sync.

    Thursday, January 29, 2009 4:48 AM
    Moderator

All replies

  • Hi Arye,

     

    so my understanding is that you only want to sync part of the changes from the source, will those non-sync-ed ones simply ingored for the subsequent sync ? and for all other replicas if there are more than 3 in the community ?

     

    are you sync-ing Database or other store ?

     

    thanks

    Yunwen

    Tuesday, January 27, 2009 8:27 PM
    Moderator
  • Hello Yunwen,

     

    I am trying to sync entities which are exposed to me through some API. Bellow the scenes those entities are stored in a database but my sync application will not access this database directly.

     

    As for the first question the non-synced changes should apear in a subsequent sync. For instance consider the following scenario:

     

    1. I add three entities, A, B and C in my source replica.

    2. I press sync and the system presents me with the list of those three entities with a checkbox next to each

    3. I check the checkbox next to entity A and press "next". The system adds entity A to the target replica.

    4. Now, if I press sync again I will see only entity B and C in the list.

     

    I guess that in order to implement such a scenario over the sync framework I will have to do it in the following way:

    Instead of applying the changes to the target, my provider will just add them to some list and not update the metadata. Later, when the user decides which changes he want to apply I will have to apply those changes and update the metadata myself.

    What bothers me here is that if I apply only part of the changes then only those changes should be added to the target replica knowledge and I don't know if that is possible.

     

    Thanks,

    Arye

    Wednesday, January 28, 2009 1:34 PM
  • You could use Row filtering as a way to include only a subset of items to sync:

     

    http://msdn.microsoft.com/en-us/library/bb902843.aspx

     

    You can do this in V1 of the Sync Framework.

     

    In your scenario, the source provider would have to enumerate all items first, display it to the user, get the list of items the user wants to sync, then create a filtered change batch to send to the destination.

     

    They sync engine will make sure it excludes all the items you didn't sync in the final destination knowledge.

     

    The size of the knowledge will be propotional to the number of items you sync though, and not as compact as in a full sync.

    Thursday, January 29, 2009 4:48 AM
    Moderator