From kde-pim Mon Feb 04 23:12:40 2008 From: Volker Krause Date: Mon, 04 Feb 2008 23:12:40 +0000 To: kde-pim Subject: [Kde-pim] Osnabrueck Meeting Notes: Akonadi Message-Id: <200802050012.40977.vkrause () kde ! org> X-MARC-Message: https://marc.info/?l=kde-pim&m=120216697126489 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1795488064==" --===============1795488064== Content-Type: multipart/signed; boundary="nextPart5647443.u5kk83kL49"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart5647443.u5kk83kL49 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, here is the second part of the meeting notes from Osnabrueck, covering most= of=20 the Akonadi related discussions: Plans for 4.1 =2D------------ Move libakonadi and at least libakonadi_kmime to kdepimlibs. We'll probably have a meeting in March to do API reviewing/fixing for that. See also Cornelius' mail. =46eedback by current users =2D------------------------ =2D Cache policies are missing, only a complete fetch of all folders is currently possible, see below. =2D There is no way to set and retrieve the size of an item, neither for the current item size nor for the full item size reported from the backend (supported eg. by IMAP, POP3). Proposed solution: Add generic item property to set/get the size, unless an extra item part this allows server side support for eg. determining the folder size. =2D Item internal add date: Hm, I don't remember why this was needed, but it's basically there already in the server and just needs to be exported in the client API. =2D Support item streaming in itemsync.cpp to avoid keeping all items in memory, which is especially a problem for non-incremental snycing. =2D Add API for type-safe access to additional item parts (those not covered by the payload), similar to what we have for collection attributes. =2D Configuration handling. Currently resource agents show their own config dialog on request, there is no way of integrating this into an application dialog or eg. implement a wizard. Proposed solution: Embedding of resrouce/account configuration is not used by any current application, all use separate dialogs. So, we don't need to change that part, except for adding a parameter for the parent window id to the method to fix the usual window management problems with out of process dialogs. Additionally we'll add an interface to set and retrieve single config settings from the resource, using a string key and a variant value. ResourceBase will implement those methods and map them to a KConfigSkeleton (KConfigXT generated code) for convenience. This will allow configuring resources from external applications such as wizards or migration tools. =2D Showing additional dialogs (eg. password request) from resources: Add a method to ResourceBase to request a parent window id for them. Additionally add a systray icon (eg. to akonadi_control) to have a hook into the GUI for the background processes to show status, progress or error messages etc. =2D Limiting ItemFetchJob to data in the local cache is still not possible, causing a full download of everything if any search index feeder is running. =2D Conflict detection: We might need a convenience API for resources to remember the last seen revision to be able to detect conflicts when writing changes from the backend to Akonadi. =2D The API for collection and item modification jobs is really broken, telling the job again is way to cumbersome. Cache policy requirements =2D------------------------ Cache policies are supposed to specify which data is kept locally, for how long and how/when it is downloaded. We came up with the following requirements which should cover everything we have up to now: There is one cache policy per collection, it can either define to inherit all properties of the policy of the parent collection (the default) or specify the following values: =2D The item parts that should be permanently kept locally and are download= ed during a collection sync (eg. full mail vs. just the headers). =2D A time up to which non-permantly cached item parts have to be kept at least (0 - infinity). [Do we also need a size limit for the cache as well?] =2D Wether or not a collection sync is triggered on demand, ie. as soon as it is accessed by a client. =2D An optional time interval for regular collection sync (aka interval mail check). This has been mostly implemented during the meeting, together with the necessary interface to only sync a single collection. Nepomuk integration =2D------------------ Tobias, could you fill that in please? Did I miss anything? Comments? regards Volker --nextPart5647443.u5kk83kL49 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQBHp5vof5bM1k0S0kcRAkP2AKCfl3B0wl5bVV5fJjCtAZqXCoyGzQCffcDt esnKZ+jFlK6f1XjQ3bC4EFA= =lDzn -----END PGP SIGNATURE----- --nextPart5647443.u5kk83kL49-- --===============1795488064== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ KDE PIM mailing list kde-pim@kde.org https://mail.kde.org/mailman/listinfo/kde-pim KDE PIM home page at http://pim.kde.org/ --===============1795488064==--