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 13:56, 24 February 2015