akonadi the kde4 pim framework
play

Akonadi The KDE4 PIM Framework Tobias Koenig KDE Akademy 2006 p. - PowerPoint PPT Presentation

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


  1. Akonadi The KDE4 PIM Framework Tobias Koenig KDE Akademy 2006 – p. 1

  2. Overview • Why a new PIM Framework • Akonadi ⊲ History ⊲ Concepts ⊲ Current State ⊲ The Future • Questions & Answers KDE Akademy 2006 – p. 2

  3. Problems with old Framework • Bad Performance • Synchronous Access • Memory Consumption • Missing Notifications • Missing Locking KDE Akademy 2006 – p. 3

  4. 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

  5. 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

  6. Concepts KDE Akademy 2006 – p. 6

  7. 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

  8. 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

  9. 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

  10. The Control • Starts and monitors the Storage and resource processes • Provides D-Bus API for managing resources and profiles KDE Akademy 2006 – p. 10

  11. 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

  12. 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

  13. Current State KDE Akademy 2006 – p. 13

  14. 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

  15. Demo... KDE Akademy 2006 – p. 15

  16. 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

  17. The Future KDE Akademy 2006 – p. 17

  18. 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

  19. We need developers! KDE Akademy 2006 – p. 19

  20. Questions? KDE Akademy 2006 – p. 20

  21. Thank you KDE Akademy 2006 – p. 21

Recommend


More recommend