[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: Re: [Kde-pim] Re: ClientInterface (was Re: Fwd: [PATCH] kernel / UI
From: Ingo =?iso-8859-1?q?Kl=F6cker?= <kloecker () kde ! org>
Date: 2003-07-18 21:51:26
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
On Tuesday 15 July 2003 22:02, Andreas Gungl wrote:
> I recommend to think over the targets to be worked for before any
> further technical discussion continues. Is it to have different UIs?
No. At least not in the foreseeable future. There are already very
capable text MUAs. IMO it doesn't make sense to even think about
writing a text KMail client.
> Is it to allow many other applications (perhaps still unknown today)
> to interact with KMail's core?
Definitely. The most important apps here are the KO and KAB parts in
Kontact. If Kontact is used as Kolab client then currently the KM part
has to run to allow KO and KAB to access the data which is stored on
the IMAP server (which is part of Kolab).
> Is it "only" a cleanup to separate core and UI code in the current
> codebase?
No. It's definitely more than a cleanup (see above).
I'd like to see the following (in decreasing priority):
a) We separate the backend in a (lightweight) library which will be used
by the KMail GUI and also by KO and KAB.
b) We finally make KMail work with other applications (including several
KMails) that access ~/Mail. So we need to add proper folder locking and
we need to watch the folders for changes.
c) We kpartify the Composer and the ReaderWin so that they can be used
inside other applications.
I don't think that a complete separation of KMail into a server daemon
and a client is a good idea. Some reasons:
- Communication via DCOP causes much overhead because every little piece
of data has to be put into a stream and has then to be read again from
the stream. With a) this isn't necessary.
- We would have to add a whole lot of error handling code for each DCOP
communication. Again with a) this isn't necessary.
- We would have to add scheduling code to the server to make it work
with concurrent clients. With a) and b) this isn't necessary.
- DCOP can only be used to exchange messages on the local machine. So if
the user wants to run multiple KMails on different machines accessing
the same ~/Mail directory (e. g. via NFS) the server/client separation
doesn't help at all. b) solves this problem.
BTW, a simple solution for the callback stuff is the usage of signals
and slots. I don't think it's necessary to add C-style callback
functions just to be able to get some error messages from the kernel on
the screen.
Regards,
Ingo
[Attachment #5 (application/pgp-signature)]
_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic