Lightning Offline Sync: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 173: Line 173:


== Efficient model for state updates during offline operations  ==
== Efficient model for state updates during offline operations  ==


{| width="600" border="1" cellpadding="1" cellspacing="1"
{| width="600" border="1" cellpadding="1" cellspacing="1"

Revision as of 20:28, 7 June 2011

This page is for tracking the Lightning Offline Sync Feature to be completed as part of the Google Summer of Code 2011 programme.

TODOs

Item Name

   Priority

Owner

Deadline

Progress

Comments

Adapt schema initialization and versioning code (calCalendarManager)

mohit

Create "offline journal" columns

Add search flags "ITEM_FILTER_OFFLINE_DELETED", "ITEM_FILTER_OFFLINE_CREATED" and "ITEM_FILTER_OFFLINE_UPDATED"

wolfgang

done

Check whether "ITEM_FILTER_ALL_ITEMS" is used in the views, if so, we need to create "ITEM_FILTER_ALL_ONLINE_ITEMS" ("ITEM_FILTER_ALL_ITEMS" & ~ITEM_FILTER_OFFLINE_DELETED)

wolfgang

done Not needed since ALL_ITEMS = 0xffff and our flags are = [29..31]

Adapt getItems in calStorageCalendar with the above and the GUI code if required

mohit

Adepte mSelectNonRecurringEventsByRange and this.mSelectNonRecurringTodosByRange queries

mohit

Write offline write method (calCachedCalendar, calStorageCalendar)

To be discussed

Write offline delete method

Write offline update method

mohit

Test the above

Write replay method

wolfgang/mohit

testing steps should be discussed

Write "switch code" in calCachedCalendar

switch code = offline to online mode and back

test the above

wolfgang/mohit

Testing steps shud be discussed

Adapt code from Lightning 1.0b2 to HEAD

mohit


Efficient model for state updates during offline operations

From/To Created Modified Deleted
(without state) Mark as "created" Mark as "modified" Mark as "deleted"
Created (none) Keep as "created" Delete record
Modified (none) Keep as "modified" Mark as deleted
Deleted (none) (none) (none)