1. A synchronization framework for synchronizing at least one data group between a server and at least one client, comprising: a client sync provider component that interfaces to client storage independently of structure of the client storage during synchronization of the at least one data group between the server and the at least one client; a sync agent component that collects synchronization metadata maintained by the at least one client for transmission to the server during synchronization and uploads and/or downloads changes to the at least one data group to and/or from server storage; and a server sync provider component that interfaces to server storage independently of structure of the server storage during synchronization of the at least one data group between the server and the at least one client.