Akonadi The KDE4 PIM Framework Tobias Koenig KDE Akademy 2006 – p. 1
Overview • Why a new PIM Framework • Akonadi ⊲ History ⊲ Concepts ⊲ Current State ⊲ The Future • Questions & Answers KDE Akademy 2006 – p. 2
Problems with old Framework • Bad Performance • Synchronous Access • Memory Consumption • Missing Notifications • Missing Locking KDE Akademy 2006 – p. 3
Akonadi • A general storage for PIM data • Aims to solve the problems of kabc/kcal • Modular design for robustness and easy integration KDE Akademy 2006 – p. 4
History • First ideas of a PIM daemon at Osnabrück meeting 2005 • Sample code for address book daemon • General agreement for PIM service at Osnabrück meeting 2006 • ’Akonadi’ was born KDE Akademy 2006 – p. 5
Concepts KDE Akademy 2006 – p. 6
Concepts Control DBus-Interface libkcal Agent (Resource) libakonadi Agent (Resource) libkabc IMAP-Interface Storage Search- Provider Application Search- Provider Component Akonadi Server KDE Akademy 2006 – p. 7
The Storage • Accessible via extended IMAP => high performance on data delivery • Caches all PIM items of the resources (depending on the policy) • Informs the Control about changes • Provides basic search features (IMAP) • Delegates extended search requests to SearchProviders KDE Akademy 2006 – p. 8
The Resources • Applications which synchronize data between the Storage and an external data source (e.g. groupware server or file) • Asynchronous communication • Profiles for grouping Resources together KDE Akademy 2006 – p. 9
The Control • Starts and monitors the Storage and resource processes • Provides D-Bus API for managing resources and profiles KDE Akademy 2006 – p. 10
The SearchProviders • External applications which process more complex search queries • One SearchProvider for every PIM item type • Store search results in collections inside the Storage KDE Akademy 2006 – p. 11
Collections • Virtual containers inside the Storage • Contain PIM items/references • Root collection ’/’ • Every Resource provides at least one collection • Easy to realize virtual folders / /resource1 /resource1/calendar /resource1/addressbook /resource2 /search KDE Akademy 2006 – p. 12
Current State KDE Akademy 2006 – p. 13
Current State • Storage ⊲ Provides all needed IMAP commands ⊲ Stores items in Collections • Control ⊲ Lifetime management for Storage and Resources ⊲ D-Bus API nearly completed • Resources ⊲ Simple iCalendar file ⊲ Dummy resource ’Knut’ KDE Akademy 2006 – p. 14
Demo... KDE Akademy 2006 – p. 15
TO DO • Implementing SearchProviders (mail, calendar, address book) • Defining asynchronous client library • Implementing full featured resources (remote and local file) • Writing documentation!!! KDE Akademy 2006 – p. 16
The Future KDE Akademy 2006 – p. 17
The Future • Goal: Components based PIM library • Components as standalone views and editors of PIM data • Plasma applets for calendar and address book KDE Akademy 2006 – p. 18
We need developers! KDE Akademy 2006 – p. 19
Questions? KDE Akademy 2006 – p. 20
Thank you KDE Akademy 2006 – p. 21
Recommend
More recommend