7 | | For synchronisation with other systems, we should be able to talk in open standards, such as [wiki:BluePrintEDXL EDXL] |
8 | | |
9 | | Currently !SahanaPy data exporting module exports data in CSV (web based: not for autonomous process). We can add support for XML and JSON. JSON is a modern, light-weight alternative to XML which is appropriate to our low-bandwidth operating environment. XML export should be done using XSD stylesheets so that it's easy to export in different formats. |
| 5 | For synchronisation with other systems, we can talk in open standards, such as [wiki:BluePrintEDXL EDXL] since we use [wiki:S3XRC] to import/export data via XSLT in either XML or JSON formats (we can also handle CSV, XLS). |
| 6 | JSON is a modern, light-weight alternative to XML which is appropriate to our low-bandwidth operating environment. |
13 | | Automatic synchronization is different from manual data export / import module present in Sahana. Automatic process should run continuously as daemon. |
| 10 | Can sync data using single-table URLs like: |
| 11 | * http://localhost:8000/sahana/gis_location/create?format=xml&fetchurl=http://haiti.sahanafoundation.org/prod/gis_location.xml |
| 12 | * http://localhost:8000/sahana/pr_person/create?format=xml&fetchurl=http://haiti.sahanafoundation.org/prod/pr_person.xml |
| 13 | * http://localhost:8000/sahana/or_organisation/create?format=xml&fetchurl=http://haiti.sahanafoundation.org/prod/or_organisation.xml |
| 14 | * http://localhost:8000/sahana/or_office/create?format=xml&fetchurl=http://haiti.sahanafoundation.org/prod/or_office.xml |
| 15 | * http://localhost:8000/sahana/or_contact/create?format=xml&fetchurl=http://haiti.sahanafoundation.org/prod/or_contact.xml |
15 | | Currently we are using database dump for exporting which is definitely not optimal way for synchronization of databases. A paper written by Leslie Klieb ( http://hasanatkazmi.googlepages.com/DistributedDisconnectedDatabases.pdf ) discusses various ways for this. In the light of this research, we can implement synchronization as following: |
| 17 | We can also use Joined Component URLs like: |
| 18 | * tbc |
| 19 | |
| 20 | What we need next is: |
| 21 | * A way to do whole DB syncs which maintain full references |
| 22 | * Cron Job |
| 23 | * UI to configure this |
| 24 | |
| 25 | === Old === |
| 26 | Current Sync Implementation based on JSON-RPC can be found here: SynchronisationImplementation |
| 27 | |
| 28 | Automatic synchronization is different from the manual data export / import module present in Sahana. Automatic process should run continuously as daemon. |
| 29 | |
| 30 | Previously we were using database dump for exporting which is definitely not optimal way for synchronization of databases. A paper written by Leslie Klieb ( http://hasanatkazmi.googlepages.com/DistributedDisconnectedDatabases.pdf ) discusses various ways for this. In the light of this research, we can implement synchronization as following: |