(→Data Synchronization) |
(→Calendar Storage) |
||
| Line 11: | Line 11: | ||
'''Maemo solution''': QtMobility/QtOrganizer (API) + KCalCore (KDE) + modifications + mKCal (sqlite storage)<br> | '''Maemo solution''': QtMobility/QtOrganizer (API) + KCalCore (KDE) + modifications + mKCal (sqlite storage)<br> | ||
| - | '''EDS''': QtMobility/QtOrganizer (API) + libecal/libical (client side) + EDS (server side, stored in iCalendar 2.0 text file)<br> | + | '''EDS proposal''': QtMobility/QtOrganizer (API) + [[/KCalCore-EDS]] + libecal/libical (client side) + EDS (server side, stored in iCalendar 2.0 text file)<br> |
| - | '''Used by''': calendar app ([mailto:sirisha.muppavarapu@intel.com Sirisha Muppavarapu]), clock app (originally [mailto:todd.e.brandt@intel.com Todd Brandt] | + | '''Used by''': calendar app ([mailto:sirisha.muppavarapu@intel.com Sirisha Muppavarapu]), clock app (originally [mailto:todd.e.brandt@intel.com Todd Brandt]) |
'''Advantages of mKCal''': | '''Advantages of mKCal''': | ||
| - | * partial loading of data from sqlite ( | + | * partial loading of data from sqlite (not used by calendar app); EDS holds complete calendar in memory |
* incremental changes to database; EDS must rewrite complete file | * incremental changes to database; EDS must rewrite complete file | ||
| - | '''Disadvantages of mKCal''': | + | '''Disadvantages of mKCal (current implementation)''': |
* only provides single "database changed" signal, forces apps to reload everything (not currently done in calendar app); EDS sends add/update/delete notifications to apps watching a calendar | * only provides single "database changed" signal, forces apps to reload everything (not currently done in calendar app); EDS sends add/update/delete notifications to apps watching a calendar | ||
| - | |||
Plan: | Plan: | ||
| - | * use upstream KDE version of KCalCore | + | * use upstream KDE version of KCalCore (current MeeGo version has semantic differences in event->dtEnd()) |
| - | * write storage which uses libecal/EDS | + | * write [[/KCalCore-EDS|storage which uses libecal/EDS]] |
* [[/eds-improvements|EDS improvements]] | * [[/eds-improvements|EDS improvements]] | ||
Contents |
The architecture decision to make the transition from Nokia-supported components for contacts and calendar data (PIM) storage, email storage and transports, and sync back to the components used in MeeGo Netbook (Evolution Data Server and SyncEvolution) was announced publicly on March 7th. Planning the execution of that change is currently (end of March 2011) in progress.
This page gathers information about the PIM + mail storages and sync. Main author and point of contact is Patrick Ohly. It includes information contributed by various people, mentioned with email address below.
Information that has not been confirmed is marked with a question mark.
Maemo solution: QtMobility/QtOrganizer (API) + KCalCore (KDE) + modifications + mKCal (sqlite storage)
EDS proposal: QtMobility/QtOrganizer (API) + /KCalCore-EDS + libecal/libical (client side) + EDS (server side, stored in iCalendar 2.0 text file)
Used by: calendar app (Sirisha Muppavarapu), clock app (originally Todd Brandt)
Advantages of mKCal:
Disadvantages of mKCal (current implementation):
Plan:
Maemo solution: QtContacts (API) + QtContacts-Tracker (glue code) + Tracker (storage)
EDS: QtContacts (API) + libebook (client side) + EDS (server side, storage of vCards in Berkley DB)
Used by: libseaside/meego-app-contacts/meego-handset-people/ContactPicker.qml (Connie Berardi and [1]), SMS and Messaging apps (Ben Drucker), various parts of Tablet UX via QML binding, obexd for Phone Book Access Protocol (PBAP) plugin, libfolks)
Advantages of Tracker:
Disadvantages of Tracker:
Plan:
Opens:
Maemo solution: QtMobility/QtMessaging API + Qt Messaging Framework (QMF, actual implementation)
EDS: QMF-compatible API (?) + Camel library (part of EDS, but not running in the daemon itself yet)
Used by: mail app (Carl Wong), SMS storage plugin (Ben Drucker)
Advantages of QMF:
Plan A (details)
Plan B:
Maemo solution: Buteo Sync Framework, Buteo SyncML, Buteo Sync Plugins, Buteo Media Transfer Protocol (MTP)
Alternative: SyncEvolution, Synthesis SyncML, Buteo Media Transfer Protocol
Advantages of Buteo:
Disadvantages of Buteo:
Step 1:
Step 2:
Further improvements to SyncEvolution/MTP: