- Timestamp:
-
02/08/10 17:38:24 (7 months ago)
- Author:
-
dread
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v1
|
v2
|
|
| 7 | 7 | * 2-way: On setup, packages from each server is copied to the other. On sync, changes on each are transferred to the other. |
| 8 | 8 | |
| 9 | | We will focus now on 1-way. |
| | 9 | We will focus now on 1-way, leaving 2-way for the future. |
| 10 | 10 | |
| 11 | 11 | == Requirements == |
| 12 | 12 | |
| 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. |
| 14 | 27 | |
| 15 | 28 | == Use cases == |
| … |
… |
|
| 23 | 36 | * Sync after package purged on B. (Package not recreated on B.) |
| 24 | 37 | |
| 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. |
| 28 | 39 | |
| 29 | 40 | * 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. |
| 30 | 41 | |
| 31 | | * Use of Server A and Server B continues undisturbed during sync. |
| 32 | | |
| 33 | 42 | * 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. |
| 42 | 43 | |
| 43 | 44 | == Operation == |
| … |
… |
|
| 75 | 76 | == Tickets == |
| 76 | 77 | |
| | 78 | * Sync set-up stored in config file (server URI). Last sync status stored in local db. |
| | 79 | |
| 77 | 80 | * Repository method 'all_revs_since'. It returns all revisions since a time/revision (or since the beginning). |
| 78 | 81 | |
| … |
… |
|
| 85 | 88 | * API access to revisions: /api/rest/revision?since=ab49f348-fd23-ae3c |
| 86 | 89 | |
| 87 | | * API access to diffs: /api/ |
| | 90 | * API access to diffs?: /api/rest/package?diff-from&diff-to=ab49f348-fd23-ae3c |
| 88 | 91 | |
| 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. |
| 90 | 95 | |
| 91 | 96 | * Object method 'merge_diffs'. It takes an original object and two diffs that apply to it and applies them both in a new revision. |
0.9.0.3 © 2008-2010
agile42 all
rights reserved
(this page was served in: 0.394202 sec.)