------ Original Message ------
From: "Patrick Ohly" <[email protected]>
To: "Emiliano Heyns" <[email protected]>
Cc: "Ove Kåven" <[email protected]>; "SyncEvolution" <[email protected]>
Sent: 16-4-2014 21:30:58
Subject: Re: [SyncEvolution] Getting the concepts clear (Was: Configuring a target)

Hello!

It's getting more accurate, but it's still not 100% there.

On Wed, 2014-04-16 at 08:12 +0000, Emiliano Heyns wrote:
On 15/04/2014 12:14:15, "Patrick Ohly" <[email protected]> wrote:
 The target-config specifies a faux syncml server,

It's more like a client in a server-initiated sync.
So the 'sync config' the target-config is talking to is considered the server, and it is this server that initiates the sync. And it's called a target-config because this server 'points itself' at this target to initiate sync.

  which (conceptually) awaits the incoming connection. This incoming
server must know what data stores it has available; this is registered
 in its Xmn entries,

"it" and "its" is ambiguous. I think you mean the right thing: "This
incoming server must know what data stores the target config has
available; this is registered in the incoming server's Xmn entries".
The newer text already clarifies this somewhat. The updated text, which still has the apparently false concept of the faux server, lives at http://reichenhack.github.io/syncevolution.html ; it is a lot more structured than the message I posted earlier, which was mostly to see whether I had gotten the concepts roughly correct. The document is mostly written out, a lot more structured, and includes examples.


The SyncML client chooses which sources it wants to sync with. This is
 what SyncEvolution as SyncML client does via the "uri" property,

"client" has to be "server" here if you want to be technically correct,
and consistent with the user-visible "peerIsClient" property.

This has also been updated in the document at the URL I mentioned for sure. That document still swaps around the server and client ends, I'll try to get that corrected later tonight.

Correct, except that client and server need to be swapped again.

I am not sure how much it helps to explain local sync in terms of
SyncML. It helped Graham, but one either has to be intentionally
imprecise (swap client and server) or explain about server initiated
SyncML syncs.

This certainly is an interesting point. My document intends to explain to an end-user what is going on, conceptually, referring to the artifacts of implementation only where necessary. If the swapped terminology is conceptually correct (unlikely, but not impossible), I would not see that as problematic; I do not intend these documents to be 100% technically accurate, but 100% useful. But it cannot conflict with the technical implementation to the point that it becomes a "leaky abstraction", because that is guaranteed to bring new confusion down the line.

So it sounds to me like server initiated syncs will have to be part of the explanation. If a server initiated sync is conceptually different from:

Server: Let's see if I can find Client... Oy, Client! I have contacts and memos for you!
Client: Bring it!
Server: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Client: OK, got that. Bye!
Server: You still here?

then I'd appreciate it if you could point me to some reading that explains it. Simple preferred, technical OK.

Regards,
Emile

_______________________________________________
SyncEvolution mailing list
[email protected]
https://lists.syncevolution.org/mailman/listinfo/syncevolution

Reply via email to