PIM Storage

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m
Line 39: Line 39:
 
* [http://www.estamos.de/projects/SyncML/ Syncevolution] can sync with [http://www.scheduleworld.com/ Scheduleworld] which can sync with Google, and other programs.
 
* [http://www.estamos.de/projects/SyncML/ Syncevolution] can sync with [http://www.scheduleworld.com/ Scheduleworld] which can sync with Google, and other programs.
 
* Hack the [http://libsyncml.opensync.org libsyncml] stack to work in OpenMoko and sync with [http://opensync.org OpenSync]. Solve the connectivity problem and move the supporting-the-other-peers to modular, plugin based OpenSync.
 
* Hack the [http://libsyncml.opensync.org libsyncml] stack to work in OpenMoko and sync with [http://opensync.org OpenSync]. Solve the connectivity problem and move the supporting-the-other-peers to modular, plugin based OpenSync.
 +
 +
== Import/Export of Calendar Data for PIM-Storage==
 +
This Import/Export can be realized by syncing an ics Calendar File (e.g. std.ics from Kontact-KDE, ...) by parsing this ICS-file (ICAL) and import the to the PIM-Storage on OpenMoko device. Make sure you have sqlite3 client installed
 +
<pre>opkg install sqlite3</pre>
 +
 +
The PIM database file on the OpenMoko device is located at
 +
<pre>/home/root/Applications/Qtopia/qtopia_db.sqlite</pre>
 +
You can handle the file with sqlite (see [[Import Vcf Contacts]]:
 +
<pre>
 +
  sqlite3 ~/Applications/Qtopia/qtopia_db.sqlite
 +
</pre>
  
 
== Questions and Answers ==
 
== Questions and Answers ==

Revision as of 09:07, 19 January 2009

Contents

Overview

PIM storage describes a means of storing data in an extensible and cross-referencable way.

Goals & Objectives

  • Method to exchange data between all applications completely transparent
  • Personal data security / encryption
  • Great bidirectional sync of personal data
  • Easy method for backup (ideally this should be automatic)
  • Real-time incremental search
  • Autocomplete of personal data information

Use Cases

  • I would like to attach arbitrary data to a contact (AKA: custom fields)
  • I would like some level of integration with automatic switching of profiles. For example, it would be cool to automatically backup my personal data to my desktop PC when I get home.
  • I want to type the first few numbers of a phone number and be presented a list of matching contacts.
    • I'd rather take a person, choose home/work, choose land-line/mobile and not bother with numbers anymore. Useful when I'm on my way to meet that person, or the person has his/her birthday, i.e. the person is already listed on my screen!
  • I want to add a contact to multiple groups (AKA: categories)
  • I want to be able to send my contact info to other Openmoko devices over bluetooth
  • I want to be able to two-way sync all calendar, contacts (and tasks) with a GroupDAV server (e.g. Citadel) over-the-air

Constraints

(TBD)

Implementation Recommendations

  • This will be based on Embedded EDS, this way we will can directly use Evolution data, get OpenSync for free, and eventually be able to talk to a Microsoft Exchange Server using the Novell Connector.
  • Alternatively: Go for a radically different approach: Use Topic Maps to store PIM data, use Topic Map's integrated merging features for syncing. --xbaldauf
    • Topic Maps allow multi-way sync, storage of arbitrary data (including categories, and even a hierarchy of categories), integration of PIM data which is separated otherwise (calendar, addressbook, personal notes, representing networks who knows whom and who works for whom and on which project, ...), multiple entries for each field (e.g. multiple addresses, multiple names, multiple phone numbers, ...)

Interactions

  • Embedded EDS needs libglade2, D-Bus, and libdb.

Unresolved Issues

  • Synchronizing w/ Outlook
  • Synchronizing w/ MacOS X - most Macs have bluetooth builtin and OSX addressbook supports BT sync.
  • Synchronizing w/ Google services

Possible solutions:

  • mokod - An Openmoko daemon to run on host operating systems
  • Syncevolution can sync with Scheduleworld which can sync with Google, and other programs.
  • Hack the libsyncml stack to work in OpenMoko and sync with OpenSync. Solve the connectivity problem and move the supporting-the-other-peers to modular, plugin based OpenSync.

Import/Export of Calendar Data for PIM-Storage

This Import/Export can be realized by syncing an ics Calendar File (e.g. std.ics from Kontact-KDE, ...) by parsing this ICS-file (ICAL) and import the to the PIM-Storage on OpenMoko device. Make sure you have sqlite3 client installed

opkg install sqlite3

The PIM database file on the OpenMoko device is located at

/home/root/Applications/Qtopia/qtopia_db.sqlite

You can handle the file with sqlite (see Import Vcf Contacts:

  sqlite3 ~/Applications/Qtopia/qtopia_db.sqlite

Questions and Answers

  • Q: When will an Embedded EDS specification be available? i.e. How I can get applications to store and retrieve data from in it, in a compatible way?
  • Q: Will it out of the box synchronize with the Kontact PIM suite (KDE)?
Personal tools

Overview

PIM storage describes a means of storing data in an extensible and cross-referencable way.

Goals & Objectives

  • Method to exchange data between all applications completely transparent
  • Personal data security / encryption
  • Great bidirectional sync of personal data
  • Easy method for backup (ideally this should be automatic)
  • Real-time incremental search
  • Autocomplete of personal data information

Use Cases

  • I would like to attach arbitrary data to a contact (AKA: custom fields)
  • I would like some level of integration with automatic switching of profiles. For example, it would be cool to automatically backup my personal data to my desktop PC when I get home.
  • I want to type the first few numbers of a phone number and be presented a list of matching contacts.
    • I'd rather take a person, choose home/work, choose land-line/mobile and not bother with numbers anymore. Useful when I'm on my way to meet that person, or the person has his/her birthday, i.e. the person is already listed on my screen!
  • I want to add a contact to multiple groups (AKA: categories)
  • I want to be able to send my contact info to other Openmoko devices over bluetooth
  • I want to be able to two-way sync all calendar, contacts (and tasks) with a GroupDAV server (e.g. Citadel) over-the-air

Constraints

(TBD)

Implementation Recommendations

  • This will be based on Embedded EDS, this way we will can directly use Evolution data, get OpenSync for free, and eventually be able to talk to a Microsoft Exchange Server using the Novell Connector.
  • Alternatively: Go for a radically different approach: Use Topic Maps to store PIM data, use Topic Map's integrated merging features for syncing. --xbaldauf
    • Topic Maps allow multi-way sync, storage of arbitrary data (including categories, and even a hierarchy of categories), integration of PIM data which is separated otherwise (calendar, addressbook, personal notes, representing networks who knows whom and who works for whom and on which project, ...), multiple entries for each field (e.g. multiple addresses, multiple names, multiple phone numbers, ...)

Interactions

  • Embedded EDS needs libglade2, D-Bus, and libdb.

Unresolved Issues

  • Synchronizing w/ Outlook
  • Synchronizing w/ MacOS X - most Macs have bluetooth builtin and OSX addressbook supports BT sync.
  • Synchronizing w/ Google services

Possible solutions:

  • mokod - An Openmoko daemon to run on host operating systems
  • Syncevolution can sync with Scheduleworld which can sync with Google, and other programs.
  • Hack the libsyncml stack to work in OpenMoko and sync with OpenSync. Solve the connectivity problem and move the supporting-the-other-peers to modular, plugin based OpenSync.

Questions and Answers

  • Q: When will an Embedded EDS specification be available? i.e. How I can get applications to store and retrieve data from in it, in a compatible way?
  • Q: Will it out of the box synchronize with the Kontact PIM suite (KDE)?