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

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
m (Categorize)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
[[Category:QtCS2012]]
=Qt Pim session=
=Qt Pim session=


Line 5: Line 7:
=Session preliminary topics.=
=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.
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]'')
* 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]'')
Line 31: Line 33:
===<span class="caps">QML</span> <span class="caps">API</span>s===
===<span class="caps">QML</span> <span class="caps">API</span>s===


* Removed “dynamic properties” mechanism
* Removed "dynamic properties" mechanism
* New Features added to model <span class="caps">API</span>
* New Features added to model <span class="caps">API</span>
* Performance improvements to Contact model implementation
* Performance improvements to Contact model implementation
Line 44: Line 46:


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


===Common (C++ <span class="caps">API</span>s)===
===Common (C++ <span class="caps">API</span>s)===
Line 53: Line 55:


* Create more narrow-scoped models
* Create more narrow-scoped models
* Remove Manager logic from model elements and create new “Manager” elements for each <span class="caps">API</span>
* Remove Manager logic from model elements and create new "Manager" elements for each <span class="caps">API</span>
* Add support for batch save operations
* Add support for batch save operations
* Improve memory consumption
* Improve memory consumption

Latest revision as of 17:12, 6 January 2017

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

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.