[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-pim
Subject:    Re: [Kde-pim] RFC ideas for syncing with mobile units
From:       Cornelius Schumacher <schumacher () kde ! org>
Date:       2001-12-03 16:51:18
[Download RAW message or body]

On Thursday 29 November 2001 20:20, Holger Freyther wrote:
> Am Donnerstag, 29. November 2001 15:42 schrieb Cornelius Schumacher:
> Hi Cornelius, all,
>
> > On Tuesday 27 November 2001 15:11, Holger Freyther wrote:
> > > Hi kdepim people,
> > > hi all I bought a vr3 from agenda computing. And now I'm thinking of a
> > > common way of syncing with apps. I saw kitchensync but I think the
> > > design got some problems.
> > > I came up with my own design. It's attached at this email. It's
> > > currently just a rough draft but I'm going to develop it.
> >
> > Did you have a look at ksync (see http://pim.kde.org and kdepim/ksync in
> > CVS)? This aims at providing a general architecture for syncing. I think
> > at least parts of your proposal are already covered by this.
>
> I looked at it and yes some parts are really the way I wan't it to be.
> Specially the syncing stuff ( merging, duplicated check..). I also like the
> way with the xml files. Even if I currently don't know how to do this. I
> thought plugins could export its' one functions over dcop. So there would
> be a way for plugins to have non standards methods.

Which XML files do you mean?

Regarding plugins: Usually the meaning of "plugin" is something like "an 
implementation of an abstract interface loaded dynamically at run-time". That 
means that a plugin is becoming part of the process it is plugged into. So 
DCOP will not work, because DCOP is about interprocess communication. What 
you need is something like the editor framework in kdevelop, where a class 
has functions to tell what kind of interfaces it supports.

> > To have one single application (you shouldn't call it libsync, if it
> > isn't a library, by the way) for communicating with all kind of devices
> > is very ambitious, even with the plugin concept. I think the first step
> > would be to use the existing apps like kpilot and kandy and make them
> > work together with ksync. More integration can come later, when this
> > works.
>
> true. This was because of historical reason.

You would it make it easier for us to get your concept, if you would change 
the name :-)

> Actually I want to go for the big thing. I think it won't fit in kde3.0 but
> maybe it'll be finished for kde3.1 or even later. It think it's the best
> way. It's better than trying to extend some stuff with the need of not
> breaking bic during it's lifetime ( reminds me to get something like the
> interfaces from com+ ). I think my approach will be a lot cleaner when it's
> finished. Currently I'm creating container classes for todo, schedule...
> and trying to get the dcop sending to work. And I'm also learning how to
> synchronize with my agenda (it's using rsync over ppp as far as I know ).
> I'm trying to reduce code duplicity in kde-pim along with syncing and other
> stuff. As a side effect we would gain a common format to synchronize
> todo... between apps.

Binary compatibility is currently not an issue. It might become important, if 
we have stable syncing libs, which are also used outside of KDE, but as long 
as we provide syncing functionality within kdepim, we don't have to care 
about this.

What's so bad about the current stuff, that you want to throw it away and 
start from scratch? I think it makes much more sense to build on the existing 
code. Having something, which is at least basically running, is essential to 
allow collaborative work on this stuff and I think it's very important that 
we all work together to achieve a decent syncing infrastructure for KDE. A 
single person on its own will not succeed, I'm sure.

The agenda comes with a tool, which syncs with existing vCalendar files. The 
missing part of synchronisation is the communication with the KDE apps like 
KOrganizer or the KDE addressbook. Rewriting the stuff communicating with the 
agenda is, in my opinion, a waste of time. Let's first get syncing working 
and then improve it. Rewriting existing stuff, will not bring us further.

There already is a common format for todos. It's iCalendar. There a classes 
in libkcal to handle todos and more. There is no need to rewrite these 
classes. If there is missing something, we should fix the existing code, not 
writing new code, which will be broken in other areas.

> > Another comment: Using DCOP to exchange all the data, which has to be
> > synchronized, might not be a good idea. DCOP is not meant for exchanging
> > large volumes of data, this will not be very efficient.
>
> Maybe true. I read the dcop manuals and they note that sending QByteArrays
> larger than 2mb was really poor but they solved this problem. But what
> we're talking about 20-40 notes max, to-do at a time maybe twenty too? That
> really isn't much. Syncing is not really a time critical task.

Ok, you might be right, that perofrmance is not the problem, but what's the 
advantage of using DCOP to exchange data over direct function calls in a 
single program or using files?

> With my approach someday there could be a program that syncs knewsticker
> entries with the pda.

Yes, syncing should become much more general. That's t he basic idea behind 
ksync.

> PS: I would like to know which parts do you like, dislike. And what will
> happen if I get it working. Is there a possibility of integration in
> kdepim?

You could integrate it from the beginning on by working on the existing stuff 
instead of doing a parallel implementation of what already is there. The code 
is already there. Just use it.

Don't get me wrong. I'm not saying that you shouldn't work on your project, 
but I think that it is very similar to what we already have planned and 
started in kdepim, so I would be happy, if you would join us in developing 
the KDE syncing architecture.

-- 
Cornelius Schumacher <schumacher@kde.org>
_______________________________________________
kde-pim mailing list
kde-pim@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-pim

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic