Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
foundation:gsoc_tahir [2010/06/03 14:12] amertahir |
foundation:gsoc_tahir [2010/07/07 19:47] (current) amertahir |
||
---|---|---|---|
Line 3: | Line 3: | ||
**This project is part of [[http:// | **This project is part of [[http:// | ||
- | == Executive Summary == | + | ===== Executive Summary |
*Abstract: Automatic sync between Sahana instances has received much attention from Sahana community. It aims to sync resources between multiple Sahana instances. I will work on resolving its current issues and adding new features: | *Abstract: Automatic sync between Sahana instances has received much attention from Sahana community. It aims to sync resources between multiple Sahana instances. I will work on resolving its current issues and adding new features: | ||
- | - Make sync peer discovery work over WANs & LANs by combining ZeroConf with Beacon Service (an online directory of Sahana instances) | ||
- Modifying sync process to work with S3XRC resources instead of DB tables to maintain full references | - Modifying sync process to work with S3XRC resources instead of DB tables to maintain full references | ||
- Offline Sync facility (USB) | - Offline Sync facility (USB) | ||
+ | - Add the facility to schedule multiple custom sync jobs (custom - weekly/ | ||
+ | - Make sync peer discovery work over WANs & LANs by combining ZeroConf with Beacon Service (an online directory of Sahana instances) | ||
* Student: Amer Tahir | * Student: Amer Tahir | ||
* Mentor(s): Fran Boon and Michael Howden | * Mentor(s): Fran Boon and Michael Howden | ||
- | == Code == | + | ===== Code ===== |
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
- | * Demo instance (to be done) | + | * [[http:// |
+ | * [[http:// | ||
+ | |||
+ | ===== How To Use ===== | ||
+ | == Downloading and Installation == | ||
+ | Do "bzr checkout lp: | ||
+ | |||
+ | NOTE: the demo instances (specified above) could also be used to test out sync (use username: admin@example.com and password: admin to login) | ||
+ | |||
+ | == Getting Started == | ||
+ | After setting up the instance, you have to first Register (or Login with administrative account) and specify a few settings for sync. For this, open Administration page and then click Sync > Sync Settings from the menu. You will see the settings page for sync. Here you have to specify you instance URL (e.g. http:// | ||
+ | |||
+ | Then proceed to the Synchronisation main page. From there you can sync manually (click "Sync Now"), add sync partners, subscribe to sync pools, resolve sync conflicts and so on. The page is self-explanatory. | ||
+ | |||
+ | == How to Sync? == | ||
+ | Synchronisation process works automatically in the background (as Cron jobs) and you can use the Sync Scheduler to manage sync jobs. However, if you wish to bypass that and manually perform sync, you can click "Sync Now" button to start syncing with sync partners that you have specified. | ||
+ | |||
+ | == Sync Partners == | ||
+ | Sync Partners are instances that you wish to sync with. They could be deployed on SahanaEden, SahanaAgasti, | ||
+ | |||
+ | Before you can start syncing, you need to define sync partners. This can be done by going to the Sync Partners page. You can either search for partners or add them manually (right now only manual additions are supported). Every sync partner has a UUID (0 for non-Eden instances), instance URL (e.g. http:// | ||
+ | |||
+ | == Sync Schedules == | ||
+ | To automate the sync process, you can define sync jobs. Sync Jobs are individual syncing processes with sync partners that you like. So, if I want to sync " | ||
+ | |||
+ | You can define multiple sync jobs for a particular sync partner, specifying resources to sync and sync policies individually for each of the sync jobs. By default, only resources modified after the last sync operation (new data) are synced. This is similar to differential backups. However, if you want to sync all data, you can specify " | ||
+ | |||
+ | \\ | ||
+ | ** This section is a work in progress and would be updated as development is carried out on this project ** | ||
+ | |||
+ | ===== Progress ===== | ||
+ | == Weekly Meetings == | ||
+ | * Thursdays at 1400 UTC [[http:// | ||
+ | |||
+ | == Progress Reports == | ||
+ | * Every Friday on the [[http:// | ||
+ | |||
+ | == Project Plan and Timeline == | ||
+ | Following are the chosen [[http:// | ||
+ | |||
+ | ^Midterm Evaluation Milestones: 24 May - 12 July^^^^ | ||
+ | ^Goal^Measure^Due Date^Status^ | ||
+ | |Modify the existing sync process to work with S3XRC import/ | ||
+ | |Incorporate automatic conflict resolution policies in the sync system|Demo of a working (possibly buggy) implementation|06/ | ||
+ | |Finalizing conflict resolution policies after bug fixing and preparation of test scenarios to verify it|Demo of the sync system with conflict resolution including Test Plan and Test Report that would be approved after review by the mentor(s)|06/ | ||
+ | |Finalize the sync system with bug fixing and changes suggested by the mentor(s) along with testing of the entire system|Demo of the sync system with testing procedures defined (Test Plan); approval by the mentor(s)|07/ | ||
+ | |||
+ | \\ | ||
- | ...more details | + | ^Final Evaluation Milestones: 13 July - 9 August^^^^ |
+ | ^Goal^Measure^Due Date^Status^ | ||
+ | |Implement the Offline Sync (USB flash sync) functionality in the sync system|Prototype demo of the offline sync (possibly buggy)|07/ | ||
+ | |Incorporating Beacon service into the sync implementation | ||
+ | |Implementation of multiple sync pools with automatic discovery of sync partners using Beacon service and ZeroConf|Demo of the working system along with approval from the mentor(s)|08/ | ||
+ | |Bug fixing of the offline sync and other components of the sync system|Progress report submitted to the mentor(s), then reviewed and approved by them|08/ | ||
+ | |Final integration of the entire system, preparing it for the demo|Demo of the entire sync system, approval by the mentor(s)|08/ |