THIS IS 1810
[jgroupdav.git] / ponderings-on-storage.txt
blob61d584eafa2cb0f874d34d105a0c195dad38c9b2
1 This is some jotting down i did while pondering what to do with with connector.\r
2 Section 3 doesn't apply - adds by the client will be added to the server\r
3 and store as required.\r
4 -------------------------------------------\r
5 New GroupDAV Connector model\r
6 \r
7 1. Loading cycle\r
8 1.1 Pull objects from server\r
9 1.2 Save complete ical or vcard collection to disk as a cache for debugging\r
10 1.3 Get names, UIDs and etags of all objects not in cache\r
11 1.3.1 Add those objects to the "send to client" queue\r
12 1.4 Update objects that have changed\r
13 1.4.1 Add those objects to the "send to client->merge" queue\r
15 2. Client comes in\r
16 Update, delete, add items to the server as client gives us them.\r
18 3. End of sync\r
19 3.1 Pull a new copy of objects from server\r
20 3.2 Update the stuff we create in 1.2\r
22 Store decisions:\r
23 Should it be SQL?\r
24 File based would be easier but all hell can break lose either way\r
25 -> SmallSQL looks ideal\r
27 SQL table structure:\r
28 objlist:\r
29 varchar(255) obj_uid\r
31 etag_list:\r
32 varchar(255) obj_uid\r
33 varchar(255) obj_etag\r
35 name_list:\r
36 varchar(255) obj_uid\r
37 varchar(255) obj_name\r
39 objects:\r
40 varchar(255) obj_uid\r
41 varchar(8388608) obj_contents (base64 up to 1mb should be enough for anybody....)