Changes between Version 1 and Version 2 of SyncingInstances


Ignore:
Timestamp:
02/08/10 17:38:24 (4 years ago)
Author:
dread
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SyncingInstances

    v1 v2  
    77 * 2-way: On setup, packages from each server is copied to the other. On sync, changes on each are transferred to the other. 
    88 
    9 We will focus now on 1-way. 
     9We will focus now on 1-way, leaving 2-way for the future. 
    1010 
    1111== Requirements == 
    1212 
    13 Merging of changes from both machines. If there is a conflict then it is logged and a result is chosen. 
     13 * Merging of changes from both machines. If there is a conflict then it is logged and a result is chosen. 
     14 
     15 * Use of Server A and Server B continues undisturbed during sync. 
     16 
     17 
     18== Issues == 
     19 
     20 * Clashes of package/tag/group names. 
     21 
     22 * Sync between CKAN instances of different versions of ckan & vdm. 
     23 
     24 * Unversioned objects - make versioned? User, Group, Authz, Rating. 
     25 
     26 * How to test system. 
    1427 
    1528== Use cases == 
     
    2336 * Sync after package purged on B. (Package not recreated on B.) 
    2437 
    25  * Sync between CKAN instances of different versions of ckan & vdm. 
    26  
    27  * Server B syncs at different times from Server C. 
     38 * Server B syncs at different times from a third server. 
    2839 
    2940 * Package/Tag/Group name on Server A clashes with an existing one on Server B. Log all of them. Merge tag and group. Not sure about package. 
    3041 
    31  * Use of Server A and Server B continues undisturbed during sync. 
    32  
    3342 * Objects on Server A with restricted authz are by default editable on Server B. 
    34  
    35 == Issues == 
    36  
    37  * Unversioned objects - make versioned? User, Group, Authz, Rating. 
    38  
    39  * How to test system. 
    40  
    41  * Clashes of package names. 
    4243 
    4344== Operation == 
     
    7576== Tickets == 
    7677 
     78 * Sync set-up stored in config file (server URI). Last sync status stored in local db. 
     79 
    7780 * Repository method 'all_revs_since'. It returns all revisions since a time/revision (or since the beginning). 
    7881 
     
    8588 * API access to revisions: /api/rest/revision?since=ab49f348-fd23-ae3c 
    8689 
    87  * API access to diffs: /api/ 
     90 * API access to diffs?: /api/rest/package?diff-from&diff-to=ab49f348-fd23-ae3c 
    8891 
    89  * Repository method 'import_revisions'. It takes serialised revisions and diffs and creates  
     92 * API access to unrevisioned objects? 
     93 
     94 * Repository method 'import_revisions'. It takes serialised revisions and diffs and creates revision objects exactly matching spec. 
    9095 
    9196 * Object method 'merge_diffs'. It takes an original object and two diffs that apply to it and applies them both in a new revision.