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

List:       kde-devel
Subject:    Re: KDE PIM Roadmap (Call to action)
From:       Mirko Boehm <mirko.boehm () home ! com>
Date:       2001-06-14 22:48:49
[Download RAW message or body]

Mike Pilone wrote:
> 
> Hello All,
> 
> I was recently talking with Greg Stern (of abbrowser conduit fame) about the
> state of KDE PIM. In our discussions, we started to through around some ideas
> of redesigning the entire KDE PIM API.

Mike Pilone wrote:
> 
> Hello All,
> 
> I was recently talking with Greg Stern (of abbrowser conduit fame) about the
> state of KDE PIM. In our discussions, we started to through around some ideas
> of redesigning the entire KDE PIM API.

Hi guys,

first, let me clarify some points regarding the intentions and the
history of the KDE PIM code I contributed so far.

I am very happy to see Mikes efforts and his draft of a new PIM API
design. I agree that a lot has to be done.

When I started to write kab, XML was just invented, and korganizer was
not ready to be included into the KDE distribution. kab was added to
kdeutils shortly after the release of KDE 1.0. A few days before KDE
1.1, Preston, the former korganizer developer, asked me to provide
access to the addressbook. Since there was very limited time left, we
decided to just split the kab application
sources in a part to access the database file and the user interface.
That is how libkab was born. We knew its approach was limited and weak,
but it worked out for the time being.

After the release of KDE 1.1 I refurbished the API and the data
structures stored according to a lot of user requests, but the basic
idea behind it stayed the same.

Again shortly before the release of KDE 2, Rik proposed a new approach
for an API using more advanced technology and ideas. Since I agreed that
the approach was more powerful, I declared the KABAPI to be finished.
>From that point, the only thing done to it was fixing of bugs. This is
the reason why the API was not adapted to powerful techniques like DCOP.

Since the new API has not been finished, this is also the current status
of the KABAPI: it is - as far as I know - free of bugs in its limited
functionality, but has not evolved along with the other KDE
technologies.

So far for history. Now for a few comments on Mike's draft.

There are some points or experiences from the KABAPI that should be
taken into concern when designing a new one:

   The API was designed to be extendable without breaking downwards
   compatibility (this is a point Mike pointed out, too). To achieve
this,
   it used a structured text-based data file with some similarity to
XML.
   There is only one limitation in that approach - the size of the
contents
   of the data fields in the records is usually not limited. This make
   using real table-based databases rather complicated.
   Lessons learned: Use an extendable data structure. 
                    Ensure backward compatibility. 
                    Limit record and field sizes appropriatly.

   Users expect their PIM data to be useable independantly. KAB did not 
   provide a way to mark an entry exported somewhere else for a later
   update in the database.
   Lessons learned: Give all records a unique key so that it is
                    distinguishable from other records in the same or
                    other databases.

   The following topics are the features requested by kab users most
often
   in replies to me:
   - the possibility to order entries in a hierarchy
     (not just groups), to be able to follow, for example, a corporate
     structure
   - the possibility to assign entries to categories
   - the possibility to share the whole or parts of
     the database with others
   - simplicity
   - security
   Lessons learned: Give the records a hierarchy.
                    Implement categories. 
                    Let the API be accessable from within a KDE session
(not
                    requiring any assistance from a database or an
                    internet connection), but also work for groups of
people. 
                    Keep it simple.
                    Implement strong encryption features etc to ensure
no 
                    personal information is spread to others EVEN ON
                    NETWORKED SERVERS.


To Mike's draft, I would like to add one more thing (see his drawing on
the web page):

The new API should be partened into one half that is supposed to run
inside
a KDE session (like most applications), and the other part that might on
the same host or on another, independant system (basicly the right half
of
the new PIM API). This would allow to access the PIM data either in work
groups or via the internet from another place.

This are my points so far. I was working on a server design to
interconnect
KDE sessions. This might be one of the starting points for the new
system.

Byebye,
--Mirko.
-- 
I am wrong.
 
>> Visit http://master.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

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

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