implementing kde-pim support for google calendar and …...implementing kde-pim support for google...
TRANSCRIPT
![Page 1: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/1.jpg)
Implementing KDE-pim support for google calendar and contacts
Adenilson Cavalcanti da Silva Bsc. Msc.Senior [email protected]
![Page 2: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/2.jpg)
why?
![Page 3: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/3.jpg)
Why google and KDE?
- beautiful!
- documentation
- PoC
- KDE: community
![Page 4: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/4.jpg)
What is community?
![Page 5: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/5.jpg)
![Page 6: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/6.jpg)
![Page 7: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/7.jpg)
Good community: where is easy for new coders, designers, usersto contribute.
![Page 8: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/8.jpg)
Video: gcontacts + KAddressbook
![Page 9: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/9.jpg)
Video: gcalendar + Kontact
![Page 10: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/10.jpg)
http://techbase.kde.org/Schedules/KDE4/4.3_Feature_Plan#kdepim
KDE + libgcal
Akonadi resource
KDE planet and commits digest!
http://www.kdedevelopers.org/node/3931
![Page 11: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/11.jpg)
Gcalendar and contacts
*rip off from EA...
![Page 12: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/12.jpg)
Top 10 bugs: 2009-06-16
![Page 13: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/13.jpg)
Top 10 bugs: 2009-06-16
![Page 14: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/14.jpg)
Top 10 bugs: 2009-06-16
![Page 15: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/15.jpg)
Top 10 bugs: 2009-06-16
![Page 16: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/16.jpg)
Tip: be open to newcomers
![Page 17: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/17.jpg)
![Page 18: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/18.jpg)
How google data protocol works?
- REST + atom (i.e. HTTP + XML)
- Allows: get all, add/edit/delete, query, others
- Sync: tricky!
![Page 19: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/19.jpg)
Authentication
- HTTPS POST to feed (clientlogin)
- You get:
![Page 20: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/20.jpg)
Add
![Page 21: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/21.jpg)
Edit
![Page 22: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/22.jpg)
Delete
![Page 23: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/23.jpg)
Who implements gdata protocol?
![Page 24: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/24.jpg)
libgcal
- dependencies: libxml, libcurl
- BSD license
- features
- origin: opensync python plugin by Ehabkost
![Page 25: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/25.jpg)
Syncml + libgcal
![Page 26: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/26.jpg)
Libgcal: unit tests
![Page 27: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/27.jpg)
Libgcal: unit tests
![Page 28: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/28.jpg)
Libgcal: unit tests
![Page 29: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/29.jpg)
Look mom! libgcal on google blog!
![Page 30: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/30.jpg)
KDE4 + PIM = akonadi
![Page 31: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/31.jpg)
Akonadi support
protocol supportIMAP ++POP3 +++vcard +++ical +++googledata +++Exchange ++Kolab ++
GSoC: Syncml.
![Page 32: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/32.jpg)
Akonadi (mis)features
good:: D-BUS, LGPL, asynchronous, Qt
BAD: mysql
branch/akonadimobile has support for sqlite!
![Page 33: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/33.jpg)
How difficult is akonadi?
Coding:
- Gcontacts: 3 weeks
- gcalendar: 3 days
question? ALT+F2
![Page 34: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/34.jpg)
KDE devel
- distro really up-to-date (e.g. OpenSuse)
- run the trunk! YMMV
![Page 35: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/35.jpg)
Sync considerations
![Page 36: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/36.jpg)
What time is it?
![Page 37: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/37.jpg)
Inclusive query
![Page 38: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/38.jpg)
Added or edited? Cant' tell!
![Page 39: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/39.jpg)
Bugs X Programmers
![Page 40: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/40.jpg)
How to add?
![Page 41: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/41.jpg)
Written: If you received the redirect, then send the same POST request again, with the same Authorization header and the same content, but with the gsessionid parameter appended.
Should be: When you receive the redirect, send the same POST request, with the same Authorization header, to the location specified in the response location.
Documentation may be wrong...
![Page 42: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/42.jpg)
Parsing is the root of evil...
result = org.xml.sax.SAXParseException: The processing instructiontarget matching "[xX][mM][lL]" is not allowed.
![Page 43: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/43.jpg)
Parsing is the root of evil...
![Page 44: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/44.jpg)
Sync or Async?
![Page 45: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/45.jpg)
Sync or Async?
![Page 46: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/46.jpg)
Sync or Async?
![Page 47: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/47.jpg)
Rant1: is XML or iCalendar?
![Page 48: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/48.jpg)
Rant2: dichotomy cal x contacts
![Page 49: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/49.jpg)
Rant3: is 2.0 == 2.1?
![Page 50: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/50.jpg)
Rant4: Pessimization
![Page 51: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/51.jpg)
Rant4: Pessimisation
![Page 52: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/52.jpg)
Rant4: Pessimisation
![Page 53: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/53.jpg)
Rant4: Pessimisation
![Page 54: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/54.jpg)
The end?
![Page 55: Implementing KDE-pim support for google calendar and …...Implementing KDE-pim support for google calendar and contacts Adenilson Cavalcanti da Silva Bsc. Msc. Senior Developer adenilson.silva@indt.org.br](https://reader036.vdocuments.us/reader036/viewer/2022071502/61220328d7bcf54f1d4b6e69/html5/thumbnails/55.jpg)
Special thanks
- Kevin Krammer, Igor Trindade, Mike Arthur
- Friends
- INdT