< PIM | AkonadiRevision as of 18:28, 3 April 2012 by Cosenal (talk | contribs) (→Akregator Port)(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff) 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 PIM/Akonadi If you have implemented a feature or fixed a bug, please strike the item out. Contents 1 Bigger Stuff 1.1 Akregator Port 1.1.1 Status 1.2 KContactManager 1.2.1 Bugs 1.2.2 Needed Features 1.3 MBOX 1.3.1 Needed features 1.3.2 Other 1.4 POP3 1.4.1 Bugs 1.4.2 Needed Features 1.4.3 Optional Features 1.5 IMAP 1.5.1 Needed Features 1.6 Kolab 1.7 KMail Reader 1.7.1 Notes 1.7.2 Needed Features 1.7.3 Optional Features 1.8 KMail Composer (non-GUI) 1.8.1 Notes 1.8.2 Needed Features 1.8.3 Optional Features 1.9 KMail Folder List 1.9.1 Notes 1.9.2 Needed Features 1.9.3 Optional Features 1.10 KMail Message List 1.10.1 Notes 1.10.2 Needed Features 1.10.3 Optional Features 1.11 Mail Dispatcher Agent & Outbox interface 1.11.1 Notes 1.11.2 Needed Features 1.11.3 Optional Features 1.12 KOrganizer Agenda View 1.13 KOrganizer Month View 1.14 KOrganizer Timeline View 1.15 KOrganizer Todo View 1.15.1 Notes 1.16 KResource Bridges & Migration 1.16.1 Needed Features 1.17 Filtering System 1.17.1 Needed Features 1.17.2 Optional Features 1.18 Search 1.18.1 Notes 1.18.2 Needed Features 1.19 Migration 1.19.1 Needed Features 2 Smaller Stuff 2.1 IMAP Load on Demand 2.1.1 Notes 2.1.2 Needed Features 2.1.3 Optional Features 2.2 Progress Reporting 2.2.1 Notes 2.2.2 Needed Features 2.3 Local Folders 2.3.1 Needed Features 2.3.2 Optional Features 2.4 Akonadi Resource-based Mail Transport 2.4.1 Needed Features 2.5 KMailCVT replacement 2.5.1 Notes Bigger Stuff Akregator Port Assigned to: Frank Old page: 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 Status 20120403: Porting started again. KContactManager Assigned to: Tobias, Sebastian 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" 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 MBOX Assigned to: Bertjan 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?) Other [IN PROGRESS] Unit tests POP3 Assigned to: Thomas Bugs Possible mail duplication 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 Optional Features Delete on server (bug 31114) IMAP Assigned to: Kevin Needed Features Sieve Settings in the config UI Support for namespaces Kolab Assigned to: Andris KMail Reader Assigned to: Andris Notes Needs to be ported away from KMMessage and mimelib to KMime. 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 Optional Features New styles based on on Grantlee. Steve says he'll eventually look at that. Port away from KPGP to libkleo KMail Composer (non-GUI) Assigned to: Constantin (gsoc) Notes Needs to be ported from KMMessage and mimelib to KMime. 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 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 KMail Folder List Assigned to: Kevin 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. 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) Optional Features Right-clicking without selecting Multi selection for deleting multiple folders at once and a combined properties dialog KMail Message List Assigned to: Kevin 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 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 Optional Features Very long term: Separate threading into an own agent and store threading information as attributes Mail Dispatcher Agent & Outbox interface Assigned to: Constantin (gsoc) Notes No big needed features added below, AFAIK everything is already implemented. 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 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 KOrganizer Agenda View Assigned to: Sebastian KOrganizer Month View KOrganizer Timeline View KOrganizer Todo View Notes Already model-view based in old KOrganizer 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 Needed Features Unit tests (->Thomas) Filtering System Assigned to: Szymon 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 Optional Features Make the sieve script editor for IMAP servers an actual GUI editor Maybe filter rules can be re-used for searching? Search 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. 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 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 IMAP Load on Demand Assigned to: Andris, Kevin, Volker Notes Related to the reader implementation. Might need changes in the mail serializer, KMime, the IMAP resource, the server(?) 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 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 Progress Reporting Assigned to: Constantin Notes The progress of the agents should be hooked up into the progress manager of libkdepim. -> AgentProgressMonitor Needed Features Tracking progress and status texts Abort requests Local Folders Assigned to: Constantin (gsoc) Needed Features Inbox, drafts and templates Move to kdepimlibs/akonadi/kmime Set standard itemsicons for the collections, like in KMail Optional Features Option for volatile outbox (not stored on disk) Option for no sent-mail collection Akonadi Resource-based Mail Transport Assigned to: Constantin 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. 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. Retrieved from "https://community.kde.org/index.php?title=PIM/Akonadi/PortingStatus&oldid=53696" Content is available under Creative Commons License SA 4.0 unless otherwise noted.