locked
Customizable Sync Scope/Schema at run time RRS feed

  • Question

  • I am curious about if and how to go about creating a SyncScope that would be changeable by the end user.

    For example I want the Base Sync Scope to have entities and properties but some of those entities will be customized with more fields on the server side, is there a way to on the server side "add to" the Base Sync Scope at run time from some type of config, so this data is send to the client. its almost like we would need an SDK into the Sync scope creation stuff.

    I understand that the fields would have to exist on the mobile so I guess its a two part question, how does the server tell the mobile that the schema has been changed, "new Bit/bool Field added Named:bitSomeFlag"

    I would like this to work with custom providers and Non MS Sync FW cleints. The iPhones CoreData System can have schema defined at runtime so if MS SyncFW 4.0 can tell me the scheam and pass the data, I can do the rest.

    Jeremy


    Jeremy Wesley MCSE+I, MCP+I, MCSD, MCDBA Act!CC, ACT!PT, iPhone Dev
    Thursday, January 13, 2011 5:23 PM

Answers

  • What you are asking for is column filtering at the service level. The server filters out certain fields/columns from entities it gets before it applies updates and then adds them when they are being downloaded. As you correctly guessed this is something the service has to fake via the use of upload/download interceptors. The underlying SqlProvider and hence as an extension the SyncScope has no such first class support. This has to be compeletely managed by the service. Regarding the schema question, today the service does not allow you to intercept the request for the $metadata action so this means the schema requirements has to manually managed by the client during its bootstrap process. Hope this helps.


    Maheshwar Jayaraman - http://blogs.msdn.com/mahjayar
    Thursday, January 13, 2011 6:18 PM