locked
About the simple sync provider in V2 RRS feed

  • Question

  • Hi, I have been going through the sample  Sync101 using Simple Sync Provider , but still I am not 100% what is involved to implement a custom provider based on the Simple Sync provider.

    For the background, I am working on a solution that syncs data between an sql database, and a webservice interface.

    The documentation for Sync Framework doesn't seem to cover the simple sync provider (well it's in the Class LIbrary reference, but it doesn't really tells me what is the "recommended way" of using it. the section Synchronization Providers on MSDN is great but it only focuses on Knowledge sync providers)

    For example: what is the bare minimum that I need to return in the MetedataSchema property and the GetMetadataStore method when implementing the simple sync provider?

    If you can give me some guidance it would be great. Thanks.

    Tuesday, February 3, 2009 4:19 PM

Answers

  • I would recommend that you take a look at MSDN article for Sync Services for ADO.Net 2.0:
    http://msdn.microsoft.com/en-us/library/bb726002.aspx

    Sync Services for ADO.Net is platform for database synchronization. either in peer to peer mode such as between SQL
    servers, or in client-server mode such as SQL Compact with SQL Server.

    SimpleSyncProvider can serve the purpose, however its main scenario is for more general synchronization scenarios,
    not particularly tied to databases.

    Sync Services for ADO.NET is used to synchronize databases for offline and collaborative scenarios.

    Nevertheless, to answer your question about MetadataSchema property on SimpleSyncProvider,
    you need to construct a ItemMetadataSchema, which describes item properties / attributes (i.e. metadata) .

    CustomFieldDefinition describes the properties / attributes which you will use to describe the item.
    IdentityRule specifies the primary key (field id of CustomeFieldDefinition) which uniquely identifies the item.
    ChangeUnitVersionDefinition describes change unit and associated fields which you will use to synchronize at more 
    granular level. 

    Thanks,

    Patrick

    Tuesday, February 3, 2009 6:36 PM