• Skip to content
  • Skip to link menu
KDE PIM
  • KDE PIM • Community • Meetings • Osnabrück 5 • Development • General
 
 

Akonadi Results

Akonadi results of the Osnabrück 5 meeting

Server

  • mysql/embedded problem no longer reproducable, backup solution with per-application network-less mysqld exists but is not implemented yet
  • check licensing implications of mysql
  • Simon promised to fix D-Bus calls from threads (which is needed to use strigi/nepomuk as well)

Change notifications / update loops

  • solved and implemented for write operations (very important for resources)
  • not implemented for FETCH, solution is complex: extension of the delivery queue, notification blacklists, session id vs. resource id in notification blacklists

Synchronous server operations for "online" resources

  • needed for FETCH/LIST (really??), implemented expect notification loop prevention
  • two options: do it for all other operations as well vs. do all other operations async
  • a complete sync implementation would be too complex (same problems as with FETCH for every command, resource D-Bus API would be the same as the IMAP command API), consider the online case as a special case of a offline resource instead (ie. a cached resource that syncs immediately)

Error and Status Notification

  • identify jobs via a session identifier and a job identifier
  • send status and error notification via D-Bus signals
  • has similar problems as change notifications, depends on sync/async semantics of write operations

PIM Item Data Structure

  • Use a strictly increasing revision number for optimistic locking
  • Split data into a tree-like structure where appropriate (think IMAP BODYSTRUCTURE)
  • Add extra fields for special FETCH responses (think ENVELOPE)
  • No type-specific code in the backend required for partial data retrieval, all item parsing happens in the resource
  • XML or MIME based format for communication between storage and resources/agents
  • Store bodyparts separately in the database, the raw data optioanlly in the filesystem (requires extra work for transaction safety)

Search

  • Akonadi does not search itself
  • we feed every data we get into strigi/nepomuk, eg. by writing stand-alone feeder apps (formerly known as search providers) or by writing/extending the corresponding strigi/nepomuk plugin
  • Akonadi should support self-updating virtual folders (if necessary storing the result ids), by sending the query to all involved resources and strigi/nepomuk and merging the results
  • updating virtual folders need still to be discussed

Server-Side Collection Handling

  • switch from path with user visible to unique ids for identifying collections
  • do not store complete path but a pointer to parent collection
  • will completly break the IMAP LIST command -> rename and keep the option for a IMAP-compatible LIST command

Model/View

  • our models contain still lots of stuff which Till told us we shouldn't do, ie. use QModelIndex only for the QAbstractItemView model, solve everything else via data()

General

  • KDE dependencies are allowed for now to safe work, but avoid KDE dependencies where possible
  • next Akonadi meeting in Berlin in April

[ Edit ]

Information

Skip menu "Information"
  • Home
  • Mission
  • News
  • Contact

Community

Skip menu "Community"
  • Meetings
    • Osnabrück 6
    • Akonadi Berlin
    • Osnabrück 5
      • Schedule
      • Group Photo
    • Osnabrück 4
    • aKademy 2005
    • NLPIM
    • Osnabrück 3
    • Chemnitz 1
    • Osnabrück 2
    • Osnabrück 1
  • History
  • People
  • Team

Development

Skip menu "Development"
  • General
  • Coding Style
  • Bug Reports
  • Architecture
  • Akonadi
  • Tutorials
  • Applications
  • Glossary

Website

Skip menu "Website"
  • Contribute

Global navigation links

  • KDE Home
  • KDE Accessibility Home
  • Description of Access Keys
  • Back to content
  • Back to menu

Search:


Maintained by pim.kde.org Webmaster
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal