akonadi_akademy2006

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

Upload: dahs

Post on 30-May-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 1/21

AkonadiThe KDE4 PIM Framework

Tobias Koenig

KDE Akademy 2006 – p.

Page 2: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 2/21

Overview

• Why a new PIM Framework

• Akonadi

⊲ History⊲ Concepts

⊲ Current State

⊲ The Future

• Questions & Answers

KDE Akademy 2006 – p.

Page 3: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 3/21

Problems with old Framework

• Bad Performance

• Synchronous Access

• Memory Consumption

• Missing Notifications

Missing Locking

KDE Akademy 2006 – p.

Page 4: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 4/21

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.

Page 5: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 5/21

History

• First ideas of a PIM daemon at Osnabrück meeting2005

• Sample code for address book daemon• General agreement for PIM service at Osnabrück

meeting 2006

• ’Akonadi’ was born

KDE Akademy 2006 – p.

Page 6: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 6/21

Concepts

KDE Akademy 2006 – p.

Page 7: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 7/21

Concepts

Storage

 Agent (Resource)

 Agent (Resource)

Control

 DBus-Interface

 Akonadi Server

 IMAP-Interface

Search- Provider

Search-

 Provider

       l       i       b     a       k     o     n     a       d

       i

       l       i       b       k     c     a       l

       l       i       b       k     a       b     c

 Application

Component

KDE Akademy 2006 – p.

Page 8: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 8/21

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 toSearchProviders

KDE Akademy 2006 – p.

Page 9: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 9/21

The Resources

• Applications which synchronize data between theStorage and an external data source

(e.g. groupware server or file)• Asynchronous communication

• Profiles for grouping Resources together

KDE Akademy 2006 – p.

Page 10: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 10/21

The Control

• Starts and monitors the Storage and resourceprocesses

• Provides D-Bus API for managing resources andprofiles

KDE Akademy 2006 – p.

Page 11: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 11/21

The SearchProviders

• External applications which process more complexsearch queries

• One SearchProvider for every PIM item type• Store search results in collections inside the Storage

KDE Akademy 2006 – p.

Page 12: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 12/21

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.

Page 13: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 13/21

Current State

KDE Akademy 2006 – p.

C S

Page 14: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 14/21

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.

Page 15: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 15/21

Demo...

KDE Akademy 2006 – p.

TO DO

Page 16: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 16/21

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.

Page 17: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 17/21

The Future

KDE Akademy 2006 – p.

The Future

Page 18: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 18/21

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.

Page 19: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 19/21

We need developers!

KDE Akademy 2006 – p.

Page 20: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 20/21

Questions?

KDE Akademy 2006 – p.

Page 21: akonadi_aKademy2006

8/14/2019 akonadi_aKademy2006

http://slidepdf.com/reader/full/akonadiakademy2006 21/21

Thank you

KDE Akademy 2006 – p.