This page hosts the detailed specification for the [https://blueprints.launchpad.net/sahana3/+spec/synchronisation Blueprint for the Synchronisation]. We need to be able to support synchronising data between instances: * http://wiki.sahana.lk/doku.php?id=doc:sync:english In S2 this is done by record ids being UUIDs (Universally Unique IDs) built from each instance's 'base_uuid' There is a sync_instance table: {{{ CREATE TABLE sync_instance ( base_uuid VARCHAR(4) NOT NULL, -- Instance id owner VARCHAR(100), -- Instance owner's name contact TEXT, -- Contact details of the instance owner url VARCHAR(100) DEFAULT NULL, -- Server url if exists last_update TIMESTAMP NOT NULL, -- Last Time sync with the instance sync_count INT DEFAULT 0, -- Number of times synchronized PRIMARY KEY(base_uuid) ); }}} Web2Py users have tried to solve the same issue: * http://groups.google.com/group/web2py/browse_thread/thread/af3f7ad5271a10c6/c5e96141c13a29ad Inc through UUIDs: * http://groups.google.com/group/web2py/browse_thread/thread/7d639c98b5b8dcd2/c0fe17ccbdd12eb7 {{{ import uuid SQLField('uuid',default=str(uuid.uuid4())) }}} There is a simple 1-table example appliance which has the ability to do syncs via XML-RPC: * http://mdp.cti.depaul.edu/appliances/default/download/app.source.312926207134.txt We can use CSV to do database synchronization: * http://groups.google.com/group/web2py/browse_thread/thread/be927ccf4d9745d2/637e45ccc2cf2583 * http://groups.google.com/group/web2py/browse_thread/thread/55d923a51eca2c90