gtg-contributors team mailing list archive
-
gtg-contributors team
-
Mailing list archive
-
Message #00172
Re: 1 task/x backends
On Tue, Jun 01, 2010 at 10:22:54AM -0400, Paul Natsuo Kishimoto wrote:
> Luca's first point is probably the most important. Working offline with
> tasks from any online source will only work with some sort of caching.
> We could pretend to ourselves that "caching" and a "local backend" are
> different things, but that would mostly be a lie :)
>
> I have user cases to work on this week, and I will mostly focus on
> other applications on the desktop, but with your permission Luca I will
> include these as well on a wiki page.
sure!
>
> Some thoughts: Any "transforms" of task data should be REVERSIBLE and
> BACKEND-AGNOSTIC. By REVERSIBLE I mean that:
> Task A (Backend X) -> Task A (Local File) -> Task A (Backend X)
> ...should result in an identical object in Backend X.
>
> Obviously this only applies where Backend X has a *less* sophisticated
> task model than GTG—but there are lots of such cases (RTM, iCalendar...
> did everyone see my spreadsheet?
> http://spreadsheets.google.com/ccc?key=0AhRkDXhnjLt8dHM3MmZ0YmJnMm1UM1hySFNlaDBVc1E&hl=en_GB)
>
> By BACKEND-AGNOSTIC, I mean that if you have Backend X and Backend Y
> that both support the same subset of the GTG data model, then:
> Task A (Local File) -> Task A (Backend X)
> Task A (Local File) -> Task A (Backend Y)
> ...should produce the same result, *unless* there is some very good
> reason to do otherwise.
>
> Or suppose you also have Backend Z, which contains a set of
> information that is a superset of what X & Y hold, but still not the
> full GTG model. Then:
> Task A (Local File) -> Task A (Backend Z) -> Task A (Backend X)
> Task A (Local File) -> Task A (Backend Z) -> Task A (Backend Y)
> ...should ALSO produce the same result.
>
> I.e. as the task information degrades or is lost, it degrades in a
> similar manner for similar backends. This helps ensure that it is
> possible to determine Task A (Backend X) == Task A (Backend Y) == Task A
> (Backend Z).
>
Yes, this is a possible issue. I think a solution to that is to sync always
against the tasks loaded from the (default) localfile backend.
No direct communication between backends will be possible.
Attachment:
signature.asc
Description: Digital signature
References