Qt-contributors-summit-2012-QtPim: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
=Qt Pim session=


'''Session host:''' Cristiano di Flora
=Session preliminary topics.=
Please add here any topics you would like to discuss together at CS 2012 about Contacts, Organizer, or Versit <span class="caps">API</span> as well as ideas for brand new <span class="caps">API</span>s to be added to extend Qt’s Personal Information Management <span class="caps">API</span> portfolio.
* Main functionality of each <span class="caps">API</span> ([http://doc-snapshot.qt.io/5.0/qtcontacts-overview.html QtContacts] ''[doc-snapshot.qt.io]'', [http://doc-snapshot.qt.io/5.0/qtorganizer-overview.html QtOrganizer] ''[doc-snapshot.qt.io]'', [http://doc-snapshot.qt.io/5.0/versit.html QtVersit] ''[doc-snapshot.qt.io]'')
* Key differences between old QtMobility <span class="caps">API</span>s and Qt 5.0 <span class="caps">PIM</span> <span class="caps">API</span>s
* QtPim <span class="caps">API</span>s beyond 5.0 (extensions to existing <span class="caps">API</span>s, new <span class="caps">API</span>s)
=Agenda and notes from the session=
==Key differences between old QtMobility <span class="caps">API</span>s and Qt 5.0 <span class="caps">PIM</span> <span class="caps">API</span>s==
===Details / Fields system===
* From String-based representation to Enum values
* No mutable schemas anymore
* Added ExtendedDetail detail class as simpler mechanism for clients to store custom details
===ContactId===
* From String based to dedicated Class (to be specialized by engine implementors….same as in Organizer)
===QContactRelationship===
* From ID-based to QContact-based interface
===<span class="caps">QML</span> <span class="caps">API</span>s===
* Removed “dynamic properties” mechanism
* New Features added to model <span class="caps">API</span>
* Performance improvements to Contact model implementation
==Future Work==
===Organizer===
* TimeZones support(!): Coming to QtBase on 5.1. Everybody contributing to Organizer need to follow it up and there is room there for contribution from Organizer contributors as well
===Contacts===
* Improve support for social networks / social data
* Aggregated contacts / concept of “Persona”
===Common (C++ <span class="caps">API</span>s)===
* Observer / Watcher class separated from Manager (QContactManager, QOrganizerManager)
===Common (<span class="caps">QML</span> <span class="caps">API</span>s)===
* Create more narrow-scoped models
* Remove Manager logic from model elements and create new “Manager” elements for each <span class="caps">API</span>
* Add support for batch save operations
* Improve memory consumption
* Error codes from String-based to Enum values
* improve documentation
===Backends(!) needed===
* <span class="caps">OSX</span>
* <span class="caps">KDE</span> pim: Kde pim is having support for handling the opposite use case (mapping QtPim data to kde-pim). For QtProject would be beneficial to do this the other way around (having kdepim- QtContacts and QtOrganizer backend plugins). This should be discussed and designed / agreed via mailing list + gerrit + irc.

Revision as of 14:04, 25 February 2015

Qt Pim session

Session host: Cristiano di Flora

Session preliminary topics.

Please add here any topics you would like to discuss together at CS 2012 about Contacts, Organizer, or Versit API as well as ideas for brand new APIs to be added to extend Qt’s Personal Information Management API portfolio.

  • Main functionality of each API (QtContacts [doc-snapshot.qt.io], QtOrganizer [doc-snapshot.qt.io], QtVersit [doc-snapshot.qt.io])
  • Key differences between old QtMobility APIs and Qt 5.0 PIM APIs
  • QtPim APIs beyond 5.0 (extensions to existing APIs, new APIs)

Agenda and notes from the session

Key differences between old QtMobility APIs and Qt 5.0 PIM APIs

Details / Fields system

  • From String-based representation to Enum values
  • No mutable schemas anymore
  • Added ExtendedDetail detail class as simpler mechanism for clients to store custom details

ContactId

  • From String based to dedicated Class (to be specialized by engine implementors….same as in Organizer)

QContactRelationship

  • From ID-based to QContact-based interface

QML APIs

  • Removed “dynamic properties” mechanism
  • New Features added to model API
  • Performance improvements to Contact model implementation

Future Work

Organizer

  • TimeZones support(!): Coming to QtBase on 5.1. Everybody contributing to Organizer need to follow it up and there is room there for contribution from Organizer contributors as well

Contacts

  • Improve support for social networks / social data
  • Aggregated contacts / concept of “Persona”

Common (C++ APIs)

  • Observer / Watcher class separated from Manager (QContactManager, QOrganizerManager)

Common (QML APIs)

  • Create more narrow-scoped models
  • Remove Manager logic from model elements and create new “Manager” elements for each API
  • Add support for batch save operations
  • Improve memory consumption
  • Error codes from String-based to Enum values
  • improve documentation

Backends(!) needed

  • OSX
  • KDE pim: Kde pim is having support for handling the opposite use case (mapping QtPim data to kde-pim). For QtProject would be beneficial to do this the other way around (having kdepim- QtContacts and QtOrganizer backend plugins). This should be discussed and designed / agreed via mailing list + gerrit + irc.