Difference between revisions of "Projects/PIM/Akonadi/PortingStatus"

< Projects‎ | PIM‎ | Akonadi
Jump to: navigation, search
(Akregator Port)
 
(25 intermediate revisions by 7 users not shown)
Line 16: Line 16:
  
 
=== Akregator Port ===
 
=== Akregator Port ===
'''Assigned to''': Frank, Dimitry
+
'''Assigned to''': Frank
  
Branch for porting Akregator to [[Projects/PIM/RSS_framework_for_Akonadi]]:
+
New page: [[Projects/PIM/Akregator_port]]
  
$KDESVN/branches/work/akregator/akonadi-port
+
Old page: [[Projects/PIM/RSS_framework_for_Akonadi]]
 +
 
 +
''Branches used now'':
 +
kdepim/akregator_port
 +
contains ''akregator2'' (akonadi ported version of akregator)
 +
 
 +
kdepimlibs/akregator_port
 +
contains ''krss'' (library shared among rss resources)
 +
 
 +
kdepim-runtime/akregator_port
 +
contains ''krsslocal'' (resource for local storage of rss subscriptions)
 +
 
 +
More details:
 +
[http://algorithmsforthekitchen.com/blog/?p=99 blog post 1]
 +
[http://algorithmsforthekitchen.com/blog/?p=137 blog post 2]
 +
 
 +
==== Bugs ====
 +
bugs are listed in [[Projects/PIM/Akregator_port]] and in the [https://bugs.kde.org/buglist.cgi?product=akregator&component=akonadi-port KDE bugzilla: Product Akregator, Component akonadi-port]
  
 
==== Status ====
 
==== Status ====
  
20090611: Branch created, Porting about to start
+
20120403: The porting started again!
  
 
=== KContactManager ===
 
=== KContactManager ===
Line 41: Line 58:
 
* In the properties dialog of an address book, the "Cache" tab is way too complicated for normal users
 
* In the properties dialog of an address book, the "Cache" tab is way too complicated for normal users
 
* Changing the name of an addressbook in the properties dialog earses the name and the icon
 
* Changing the name of an addressbook in the properties dialog earses the name and the icon
 +
* The name of the default addressbook is "std.vcf"
  
 
==== Needed Features ====
 
==== Needed Features ====
 
* Display additional columns in the list of contacts
 
* Display additional columns in the list of contacts
 
* LDAP
 
* LDAP
 +
* Crypto page in the editor, like in KAddressbook
 
* Settings Dialog (at least it needs to be able to be disabled from the Kontact settings dialog)
 
* Settings Dialog (at least it needs to be able to be disabled from the Kontact settings dialog)
 +
* Remove KAddressbook and the KAddressbook Kontact plugin
 +
* Port all users of the former KAddressbook D-Bus interface
 +
* Find and remove all references to KAddressbook in the kdepim directory
  
 
=== MBOX ===
 
=== MBOX ===
Line 51: Line 73:
  
 
==== Needed features ====
 
==== Needed features ====
* Implement purging of deleted messages
+
* '''[DONE]''' Implement purging of deleted messages
* '''[IN PROGRESS]'''  Port the resource to SingleFileResource
+
* '''[DONE]'''  Port the resource to SingleFileResource
 
* '''[DONE]''' Implement itemChanged()
 
* '''[DONE]''' Implement itemChanged()
* Fix the MBox locking code.
+
* '''[DONE]''' Fix the MBox locking code.
 +
* '''[IN PROGRESS]''' Find out if the file has changed since the previous time it was loaded (SingleFileResource problem?)
 +
 
 +
==== Other ====
 +
* '''[IN PROGRESS]''' Unit tests
  
 
=== POP3 ===
 
=== POP3 ===
Line 78: Line 104:
 
'''Assigned to''': Kevin
 
'''Assigned to''': Kevin
  
 
+
==== Needed Features ====
 +
* Sieve Settings in the config UI
 +
* Support for namespaces
  
 
=== Kolab ===
 
=== Kolab ===
Line 152: Line 180:
 
* Fancy tooltips
 
* Fancy tooltips
 
* Folder properties dialog with all the old stuff in it
 
* Folder properties dialog with all the old stuff in it
 +
* Folder selection dialog (used for the "jump to" function, among others)
  
 
==== Optional Features ====
 
==== Optional Features ====
Line 267: Line 296:
  
  
=== History resource ===
+
=== Migration ===
 
+
==== Needed Features ====
 
+
* Migrate KMail accounts to Akonadi resources. The Akonadi resources should  support all options of the old account pages. (-> Jon Armond)
 
+
* Migrate KMail status flags and tags from the index files
 +
* Ability to have a mixed mbox/maildir tree
 +
* Migrate the dimap cache (urgh: unsynced messages!)
  
 
== Smaller Stuff ==
 
== Smaller Stuff ==
Line 313: Line 344:
 
==== Needed Features ====
 
==== Needed Features ====
 
* Inbox, drafts and templates
 
* Inbox, drafts and templates
* So it probably needs to be moved out of OutboxInterface...
+
* Move to kdepimlibs/akonadi/kmime
* Set standard items for the collections, like in KMail
+
* Set standard <s>items</s>icons for the collections, like in KMail
  
 
==== Optional Features  ====
 
==== Optional Features  ====
Line 334: Line 365:
 
* List transport-enabled Akonadi resources directly in transport type selector, and configure them on demand
 
* List transport-enabled Akonadi resources directly in transport type selector, and configure them on demand
 
* Scrap the wizard. Since Akonadi resources can't be configured with an embeddable widget / kpart (yet?), we'll have to stick to dialogs anyway.
 
* Scrap the wizard. Since Akonadi resources can't be configured with an embeddable widget / kpart (yet?), we'll have to stick to dialogs anyway.
 +
 +
 +
 +
=== KMailCVT replacement ===
 +
 +
==== Notes ====
 +
 +
Ideally, KMailCVT should be rewritten to allow export as well, in addition to import. Also, KMailCVT could use Akonadi resources for the job, then we would need one resource per supported import/export type.
 +
This would also give us nice backup schemes, like exporting the IMAP mails to an mbox.

Latest revision as of 03:15, 15 April 2012

This page lists various pieces that are being ported to Akonadi. The intent of the page is to give a list of features and bugs.

Since many of those pieces are complete rewrites, this page lists the features that were present in the old implementation. Those need to be ported to the new Akonadi-based implementation. The list of needed features probably will grow during development and testing, as will the bug list It also lists optional features, which would be nice to have, but are not present in the old implementation Also some bugs are listed.

There is also an extremely outdated todo list at Projects/PIM/Akonadi

If you have implemented a feature or fixed a bug, please strike the item out.

Contents

[edit] Bigger Stuff

[edit] Akregator Port

Assigned to: Frank

New page: Projects/PIM/Akregator_port

Old page: Projects/PIM/RSS_framework_for_Akonadi

Branches used now:

kdepim/akregator_port

contains akregator2 (akonadi ported version of akregator)

kdepimlibs/akregator_port

contains krss (library shared among rss resources)

kdepim-runtime/akregator_port

contains krsslocal (resource for local storage of rss subscriptions)

More details: blog post 1 blog post 2

[edit] Bugs

bugs are listed in Projects/PIM/Akregator_port and in the KDE bugzilla: Product Akregator, Component akonadi-port

[edit] Status

20120403: The porting started again!

[edit] KContactManager

Assigned to: Tobias, Sebastian

[edit] Bugs

  • After creating a contact group, it doesn't show up in the left pane. Should it?
  • Editing contact groups: Should use auto-completion, drag&drop and a "Select..." button (similar to KMail's recipient picker)
  • Editing contact groups: Gives me error message that I didn't define a name, when I only entered a mail address. Note that most people don't know the syntax for this, which is "name <mail>".
  • "All Contacts" should be expanded and selected by default
  • Crashes when clicking on "Reload" on "All Contacts"
  • Deleting a contact group (and possibly a contact as well) leaves a funny empty space in the middle pane
  • Switching between "All Contacts" and my addressbook folder here has a delay of > 1s, with about 150 contacts
  • Ctrl+A should trigger select all, not add addressbook
  • In the editor, the "Coordinates" panel is completely empty
  • In the properties dialog of an address book, the "Cache" tab is way too complicated for normal users
  • Changing the name of an addressbook in the properties dialog earses the name and the icon
  • The name of the default addressbook is "std.vcf"

[edit] Needed Features

  • Display additional columns in the list of contacts
  • LDAP
  • Crypto page in the editor, like in KAddressbook
  • Settings Dialog (at least it needs to be able to be disabled from the Kontact settings dialog)
  • Remove KAddressbook and the KAddressbook Kontact plugin
  • Port all users of the former KAddressbook D-Bus interface
  • Find and remove all references to KAddressbook in the kdepim directory

[edit] MBOX

Assigned to: Bertjan

[edit] Needed features

  • [DONE] Implement purging of deleted messages
  • [DONE] Port the resource to SingleFileResource
  • [DONE] Implement itemChanged()
  • [DONE] Fix the MBox locking code.
  • [IN PROGRESS] Find out if the file has changed since the previous time it was loaded (SingleFileResource problem?)

[edit] Other

  • [IN PROGRESS] Unit tests

[edit] POP3

Assigned to: Thomas

[edit] Bugs

  • Possible mail duplication

[edit] Needed Features

  • Config dialog (Igor is working on this)
  • Default inbox (->LocalFolders)
  • Filter on server (depends on the filter framework)
  • Migration of old KMail accounts
  • Abort request
  • Precommands

[edit] Optional Features

  • Delete on server (bug 31114)


[edit] IMAP

Assigned to: Kevin

[edit] Needed Features

  • Sieve Settings in the config UI
  • Support for namespaces

[edit] Kolab

Assigned to: Andris


[edit] KMail Reader

Assigned to: Andris

[edit] Notes

Needs to be ported away from KMMessage and mimelib to KMime.

[edit] Needed Features

  • Loading attachments on demand when viewing and saving them
  • Displaying text and image attachments inline, depending on setting (attachment strategy)
  • Different header styles
  • MIME part formatters (invitations, vcards, diffs etc)
  • Context menu actions (shared with the message list)
  • Source viewer
  • MIME part tree viewer
  • Separate reader main window
  • Viewing only one selected MIME part / MIME sub-tree (e.g. encapsulated messages)
  • Separate reader window marks the message as read after some time
  • Asynchronity (reader should not block when displaying multi-megabyte mail)
  • Fallback and override options for the charset encoding
  • Crypto

[edit] Optional Features

  • New styles based on on Grantlee. Steve says he'll eventually look at that.
  • Port away from KPGP to libkleo


[edit] KMail Composer (non-GUI)

Assigned to: Constantin (gsoc)

[edit] Notes

Needs to be ported from KMMessage and mimelib to KMime.

[edit] Needed Features

  • Crypto
  • Attachments
  • Multipart/Alternative (HTML)
  • Inline images
  • Asynchronity (should not block on long composing tasks, like crypto)
  • All kind of weird charset and encoding stuff
  • Custom MIME headers from the settings
  • Compose as draft and compose as sendable message mode
  • Unit tests. This stuff has been very brittle in the past

[edit] Optional Features

  • The composer and the composer GUI both keep a "reference message" around, which is IMHO complicated and weird. Get rid of that through refactoring


[edit] KMail Folder List

Assigned to: Kevin

[edit] Notes

The current KMail folder list is unfortunately not model/view based. The new folder list should probably be based on existing Akonadi models and views.

[edit] Needed Features

  • Sort by drag & drop or automatic (controlled by setting)
  • Drag & drop support for copying and moving folders and messages
  • Context menu with all old actions
  • Total, Unread and Size column: Collapsing sums things up, unread count can be displayed with the folder name if column is hidden
  • Default icons for IMAP root collections, drafts, templates, inbox etc (can be partly handled by new LocalFolders class I guess)
  • Configurable item size
  • Favorite folder view
  • Restoring of expanded/collapsed state (and last selected folder?) after restart
  • Optional quick filter edit
  • Fancy tooltips
  • Folder properties dialog with all the old stuff in it
  • Folder selection dialog (used for the "jump to" function, among others)

[edit] Optional Features

  • Right-clicking without selecting
  • Multi selection for deleting multiple folders at once and a combined properties dialog


[edit] KMail Message List

Assigned to: Kevin

[edit] Notes

Talk to Olivier Trichet (nive), he is in the process of porting KNode to the message list framework.

The message list is fairly well abstracted into KMail-specific parts and generic parts. For porting to Akonadi, basically only the storage model needs to be rewritten, the model that does the actual work of threading and grouping can be left untouched

[edit] Needed Features

  • Fast loading of the message list. This can be tricky, the many indirections of Akonadi might make it too slow
  • Only the headers should be fetched, not the complete message
  • Setting stati and tags of mails should work

[edit] Optional Features

  • Very long term: Separate threading into an own agent and store threading information as attributes


[edit] Mail Dispatcher Agent & Outbox interface

Assigned to: Constantin (gsoc)

[edit] Notes

No big needed features added below, AFAIK everything is already implemented.

[edit] Needed Features

  • Abort requests for agents
  • Integration into KMail (more to do when the message list view is ported to Akonadi)
  • retry sending and "send queued"
  • move-to-sent-mail-collection (blocker: intra-resource moves)
  • Polishing
  • API Review

[edit] Optional Features

  • Displaying the progress and status per-item in the message list with a special outbox theme would be very cool
  • Sending by due date


[edit] KOrganizer Agenda View

Assigned to: Sebastian


[edit] KOrganizer Month View

[edit] KOrganizer Timeline View

[edit] KOrganizer Todo View

[edit] Notes

Already model-view based in old KOrganizer


[edit] KResource Bridges & Migration

Assigned to: Kevin

  • KOrganizer doesn't have any resource by default for new users (unit test for this exists)
  • Kontact is *very* crashy in the summary and todo list
  • Hierarchical todo don't work anymore

[edit] Needed Features

  • Unit tests (->Thomas)


[edit] Filtering System

Assigned to: Szymon

[edit] Needed Features

  • Pluggable filter actions and rules
  • Nice GUI editor
  • All filter actions and rules from old KMail should be implemented
  • Library should be usable outside of the agent, e.g. for POP3 on-server filtering.
  • Manual and automatic filtering
  • Filtering should be possible on incomplete mail (headers only). When a filter rule or action detects that it needs the complete body, that should be fetched on demand
  • Don't re-upload the mail when no filter action changed the mail (important for IMAP)
  • Filtering should be invisible to clients
  • Not all new items should trigger automatic filtering -> We might need a flag to explicitly make items filterable, otherwise items get filtered when they were manually added by the user
  • Filtering must not lose messages
  • Automated tests. Filtering was *very* brittle in the past, causing duplicate and lost messages
  • Migration of old filters

[edit] Optional Features

  • Make the sieve script editor for IMAP servers an actual GUI editor
  • Maybe filter rules can be re-used for searching?


[edit] Search

[edit] Notes

Nobody really knows how this should be done (if one does, please explain here how it should work!). There are server-side searches (IMAP and LDAP) and client side searches possible.

Probably should use Nepomuk.

[edit] Needed Features

  • At least local searches should be possible, like in current KMail. There should also be a search window like before.
  • Virtual search folders


[edit] Migration

[edit] Needed Features

  • Migrate KMail accounts to Akonadi resources. The Akonadi resources should support all options of the old account pages. (-> Jon Armond)
  • Migrate KMail status flags and tags from the index files
  • Ability to have a mixed mbox/maildir tree
  • Migrate the dimap cache (urgh: unsynced messages!)

[edit] Smaller Stuff

[edit] IMAP Load on Demand

Assigned to: Andris, Kevin, Volker

[edit] Notes

Related to the reader implementation. Might need changes in the mail serializer, KMime, the IMAP resource, the server(?)

[edit] Needed Features

  • Should be possible to fetch messages without fetching the big attachments.
  • When saving attachments, fetch them on demand.
  • Attachments inside signatures should not be fetched on demand

[edit] Optional Features

  • Disconnected IMAP with attachment load on demand (headers and message text cached, but not big attachments)
  • Bonus points for zero-copy streaming when saving IMAP attachments to disk


[edit] Progress Reporting

Assigned to: Constantin

[edit] Notes

The progress of the agents should be hooked up into the progress manager of libkdepim. -> AgentProgressMonitor

[edit] Needed Features

  • Tracking progress and status texts
  • Abort requests


[edit] Local Folders

Assigned to: Constantin (gsoc)

[edit] Needed Features

  • Inbox, drafts and templates
  • Move to kdepimlibs/akonadi/kmime
  • Set standard itemsicons for the collections, like in KMail

[edit] Optional Features

  • Option for volatile outbox (not stored on disk)
  • Option for no sent-mail collection



[edit] Akonadi Resource-based Mail Transport

Assigned to: Constantin

[edit] Needed Features

  • Re-design (TransportResource is probably not needed; its job can be accomplished in ResourceBase with a signal and a D-Bus adaptor. (?))
  • List transport-enabled Akonadi resources directly in transport type selector, and configure them on demand
  • Scrap the wizard. Since Akonadi resources can't be configured with an embeddable widget / kpart (yet?), we'll have to stick to dialogs anyway.


[edit] KMailCVT replacement

[edit] Notes

Ideally, KMailCVT should be rewritten to allow export as well, in addition to import. Also, KMailCVT could use Akonadi resources for the job, then we would need one resource per supported import/export type. This would also give us nice backup schemes, like exporting the IMAP mails to an mbox.


This page was last modified on 15 April 2012, at 03:15. This page has been accessed 8,023 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal