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

akonadi the kde4 pim framework
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Akonadi The KDE4 PIM Framework

Tobias Koenig

KDE Akademy 2006 – p. 1

slide-2
SLIDE 2

Overview

  • Why a new PIM Framework
  • Akonadi

⊲ History ⊲ Concepts ⊲ Current State ⊲ The Future

  • Questions & Answers

KDE Akademy 2006 – p. 2

slide-3
SLIDE 3

Problems with old Framework

  • Bad Performance
  • Synchronous Access
  • Memory Consumption
  • Missing Notifications
  • Missing Locking

KDE Akademy 2006 – p. 3

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 6

Concepts

KDE Akademy 2006 – p. 6

slide-7
SLIDE 7

Concepts

Storage Agent (Resource) Agent (Resource) Control DBus-Interface Akonadi Server IMAP-Interface Search- Provider Search- Provider libakonadi libkcal libkabc Application Component KDE Akademy 2006 – p. 7

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 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

slide-11
SLIDE 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

slide-12
SLIDE 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

slide-13
SLIDE 13

Current State

KDE Akademy 2006 – p. 13

slide-14
SLIDE 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

slide-15
SLIDE 15

Demo...

KDE Akademy 2006 – p. 15

slide-16
SLIDE 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

slide-17
SLIDE 17

The Future

KDE Akademy 2006 – p. 17

slide-18
SLIDE 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

slide-19
SLIDE 19

We need developers!

KDE Akademy 2006 – p. 19

slide-20
SLIDE 20

Questions?

KDE Akademy 2006 – p. 20

slide-21
SLIDE 21

Thank you

KDE Akademy 2006 – p. 21