D7775: Initial submission of Akonadi EWS Resource to KDE PIM

Krzysztof Nowicki noreply at phabricator.kde.org
Mon Sep 11 21:43:15 BST 2017


nowicki created this revision.
Restricted Application added a project: KDE PIM.

REVISION SUMMARY
  This change adds the Akonadi EWS resource, which allows connecting to a Microsoft Exchange mailbox using the Exchange Web Services (EWS) protocol. The resource has been developed on GitHub <https://github.com/KrissN/akonadi-ews>. In its current state it is able to:
  
  - Send and receive e-mail
  - Provide read-only access to the calendar (with some known issues related to timezone conversion).
  - Provide read-only access to the personal address book.
  
  From day one I have developed this resource with future inclusion into KDE in mind, however the original idea was to have it more feature complete before that. Given the demand for a working Exchange solution I have decided to make an attempt to submit it now in hope to be able to gain more traction.
  
  The submitted code is a flat copy of the latest GitHub master with necessary integration changes. Full history (including the adaptation changes) can be examined on the for-kdepim-runtime <https://github.com/KrissN/akonadi-ews/tree/for-kdepim-runtime> branch.

REPOSITORY
  R44 KDE PIM Runtime

REVISION DETAIL
  https://phabricator.kde.org/D7775

AFFECTED FILES
  resources/CMakeLists.txt
  resources/ews/CHANGELOG
  resources/ews/CMakeLists.txt
  resources/ews/README.md
  resources/ews/abchperson/ewsabchpersonhandler.cpp
  resources/ews/abchperson/ewsabchpersonhandler.h
  resources/ews/abchperson/ewscreateabchpersonjob.cpp
  resources/ews/abchperson/ewscreateabchpersonjob.h
  resources/ews/abchperson/ewsfetchabchpersondetailjob.cpp
  resources/ews/abchperson/ewsfetchabchpersondetailjob.h
  resources/ews/abchperson/ewsmodifyabchpersonjob.cpp
  resources/ews/abchperson/ewsmodifyabchpersonjob.h
  resources/ews/calendar/ewscalendarhandler.cpp
  resources/ews/calendar/ewscalendarhandler.h
  resources/ews/calendar/ewscreatecalendarjob.cpp
  resources/ews/calendar/ewscreatecalendarjob.h
  resources/ews/calendar/ewsfetchcalendardetailjob.cpp
  resources/ews/calendar/ewsfetchcalendardetailjob.h
  resources/ews/calendar/ewsmodifycalendarjob.cpp
  resources/ews/calendar/ewsmodifycalendarjob.h
  resources/ews/config.h.cmake
  resources/ews/configdialog.cpp
  resources/ews/configdialog.h
  resources/ews/configdialog.ui
  resources/ews/contact/ewscontacthandler.cpp
  resources/ews/contact/ewscontacthandler.h
  resources/ews/contact/ewscreatecontactjob.cpp
  resources/ews/contact/ewscreatecontactjob.h
  resources/ews/contact/ewsfetchcontactdetailjob.cpp
  resources/ews/contact/ewsfetchcontactdetailjob.h
  resources/ews/contact/ewsmodifycontactjob.cpp
  resources/ews/contact/ewsmodifycontactjob.h
  resources/ews/ewsautodiscoveryjob.cpp
  resources/ews/ewsautodiscoveryjob.h
  resources/ews/ewsclient/CMakeLists.txt
  resources/ews/ewsclient/ewsattachment.cpp
  resources/ews/ewsclient/ewsattachment.h
  resources/ews/ewsclient/ewsattendee.cpp
  resources/ews/ewsclient/ewsattendee.h
  resources/ews/ewsclient/ewsclient.cpp
  resources/ews/ewsclient/ewsclient.h
  resources/ews/ewsclient/ewsclient_debug.cpp
  resources/ews/ewsclient/ewsclient_debug.h
  resources/ews/ewsclient/ewscreatefolderrequest.cpp
  resources/ews/ewsclient/ewscreatefolderrequest.h
  resources/ews/ewsclient/ewscreateitemrequest.cpp
  resources/ews/ewsclient/ewscreateitemrequest.h
  resources/ews/ewsclient/ewsdeletefolderrequest.cpp
  resources/ews/ewsclient/ewsdeletefolderrequest.h
  resources/ews/ewsclient/ewsdeleteitemrequest.cpp
  resources/ews/ewsclient/ewsdeleteitemrequest.h
  resources/ews/ewsclient/ewseffectiverights.cpp
  resources/ews/ewsclient/ewseffectiverights.h
  resources/ews/ewsclient/ewseventrequestbase.cpp
  resources/ews/ewsclient/ewseventrequestbase.h
  resources/ews/ewsclient/ewsfindfolderrequest.cpp
  resources/ews/ewsclient/ewsfindfolderrequest.h
  resources/ews/ewsclient/ewsfinditemrequest.cpp
  resources/ews/ewsclient/ewsfinditemrequest.h
  resources/ews/ewsclient/ewsfolder.cpp
  resources/ews/ewsclient/ewsfolder.h
  resources/ews/ewsclient/ewsfoldershape.cpp
  resources/ews/ewsclient/ewsfoldershape.h
  resources/ews/ewsclient/ewsgeteventsrequest.cpp
  resources/ews/ewsclient/ewsgeteventsrequest.h
  resources/ews/ewsclient/ewsgetfolderrequest.cpp
  resources/ews/ewsclient/ewsgetfolderrequest.h
  resources/ews/ewsclient/ewsgetitemrequest.cpp
  resources/ews/ewsclient/ewsgetitemrequest.h
  resources/ews/ewsclient/ewsgetstreamingeventsrequest.cpp
  resources/ews/ewsclient/ewsgetstreamingeventsrequest.h
  resources/ews/ewsclient/ewsid.cpp
  resources/ews/ewsclient/ewsid.h
  resources/ews/ewsclient/ewsitem.cpp
  resources/ews/ewsclient/ewsitem.h
  resources/ews/ewsclient/ewsitembase.cpp
  resources/ews/ewsclient/ewsitembase.h
  resources/ews/ewsclient/ewsitembase_p.h
  resources/ews/ewsclient/ewsitemshape.cpp
  resources/ews/ewsclient/ewsitemshape.h
  resources/ews/ewsclient/ewsjob.cpp
  resources/ews/ewsclient/ewsjob.h
  resources/ews/ewsclient/ewsmailbox.cpp
  resources/ews/ewsclient/ewsmailbox.h
  resources/ews/ewsclient/ewsmovefolderrequest.cpp
  resources/ews/ewsclient/ewsmovefolderrequest.h
  resources/ews/ewsclient/ewsmoveitemrequest.cpp
  resources/ews/ewsclient/ewsmoveitemrequest.h
  resources/ews/ewsclient/ewsoccurrence.cpp
  resources/ews/ewsclient/ewsoccurrence.h
  resources/ews/ewsclient/ewspoxautodiscoverrequest.cpp
  resources/ews/ewsclient/ewspoxautodiscoverrequest.h
  resources/ews/ewsclient/ewspropertyfield.cpp
  resources/ews/ewsclient/ewspropertyfield.h
  resources/ews/ewsclient/ewsrecurrence.cpp
  resources/ews/ewsclient/ewsrecurrence.h
  resources/ews/ewsclient/ewsrequest.cpp
  resources/ews/ewsclient/ewsrequest.h
  resources/ews/ewsclient/ewsserverversion.cpp
  resources/ews/ewsclient/ewsserverversion.h
  resources/ews/ewsclient/ewssubscriberequest.cpp
  resources/ews/ewsclient/ewssubscriberequest.h
  resources/ews/ewsclient/ewssyncfolderhierarchyrequest.cpp
  resources/ews/ewsclient/ewssyncfolderhierarchyrequest.h
  resources/ews/ewsclient/ewssyncfolderitemsrequest.cpp
  resources/ews/ewsclient/ewssyncfolderitemsrequest.h
  resources/ews/ewsclient/ewstypes.cpp
  resources/ews/ewsclient/ewstypes.h
  resources/ews/ewsclient/ewsunsubscriberequest.cpp
  resources/ews/ewsclient/ewsunsubscriberequest.h
  resources/ews/ewsclient/ewsupdatefolderrequest.cpp
  resources/ews/ewsclient/ewsupdatefolderrequest.h
  resources/ews/ewsclient/ewsupdateitemrequest.cpp
  resources/ews/ewsclient/ewsupdateitemrequest.h
  resources/ews/ewsclient/ewsxml.cpp
  resources/ews/ewsclient/ewsxml.h
  resources/ews/ewscreateitemjob.cpp
  resources/ews/ewscreateitemjob.h
  resources/ews/ewsfetchfoldersincrjob.cpp
  resources/ews/ewsfetchfoldersincrjob.h
  resources/ews/ewsfetchfoldersjob.cpp
  resources/ews/ewsfetchfoldersjob.h
  resources/ews/ewsfetchitemdetailjob.cpp
  resources/ews/ewsfetchitemdetailjob.h
  resources/ews/ewsfetchitemsjob.cpp
  resources/ews/ewsfetchitemsjob.h
  resources/ews/ewsitemhandler.cpp
  resources/ews/ewsitemhandler.h
  resources/ews/ewsmodifyitemflagsjob.cpp
  resources/ews/ewsmodifyitemflagsjob.h
  resources/ews/ewsmodifyitemjob.cpp
  resources/ews/ewsmodifyitemjob.h
  resources/ews/ewsmtaresource.cpp
  resources/ews/ewsmtaresource.desktop
  resources/ews/ewsmtaresource.h
  resources/ews/ewsmtaresource.kcfg
  resources/ews/ewsresource.cpp
  resources/ews/ewsresource.desktop.cmake
  resources/ews/ewsresource.h
  resources/ews/ewsresource.kcfg
  resources/ews/ewsresource_debug.cpp
  resources/ews/ewsresource_debug.h
  resources/ews/ewssubscribedfoldersjob.cpp
  resources/ews/ewssubscribedfoldersjob.h
  resources/ews/ewssubscriptionmanager.cpp
  resources/ews/ewssubscriptionmanager.h
  resources/ews/ewssubscriptionwidget.cpp
  resources/ews/ewssubscriptionwidget.h
  resources/ews/icons/akonadi-ews-128.png
  resources/ews/icons/akonadi-ews-16.png
  resources/ews/icons/akonadi-ews-22.png
  resources/ews/icons/akonadi-ews-24.png
  resources/ews/icons/akonadi-ews-32.png
  resources/ews/icons/akonadi-ews-48.png
  resources/ews/icons/akonadi-ews-64.png
  resources/ews/icons/akonadi-ews-72.png
  resources/ews/icons/akonadi-ews-96.png
  resources/ews/icons/akonadi-ews.svg
  resources/ews/mail/ewscreatemailjob.cpp
  resources/ews/mail/ewscreatemailjob.h
  resources/ews/mail/ewsfetchmaildetailjob.cpp
  resources/ews/mail/ewsfetchmaildetailjob.h
  resources/ews/mail/ewsmailhandler.cpp
  resources/ews/mail/ewsmailhandler.h
  resources/ews/mail/ewsmodifymailjob.cpp
  resources/ews/mail/ewsmodifymailjob.h
  resources/ews/mtaconfigdialog.cpp
  resources/ews/mtaconfigdialog.h
  resources/ews/mtaconfigdialog.ui
  resources/ews/mtasettings.kcfgc
  resources/ews/progressdialog.cpp
  resources/ews/progressdialog.h
  resources/ews/settings.cpp
  resources/ews/settings.h
  resources/ews/settingsbase.kcfgc
  resources/ews/tags/ewsakonaditagssyncjob.cpp
  resources/ews/tags/ewsakonaditagssyncjob.h
  resources/ews/tags/ewsglobaltagsreadjob.cpp
  resources/ews/tags/ewsglobaltagsreadjob.h
  resources/ews/tags/ewsglobaltagswritejob.cpp
  resources/ews/tags/ewsglobaltagswritejob.h
  resources/ews/tags/ewstagstore.cpp
  resources/ews/tags/ewstagstore.h
  resources/ews/tags/ewsupdateitemstagsjob.cpp
  resources/ews/tags/ewsupdateitemstagsjob.h
  resources/ews/task/ewscreatetaskjob.cpp
  resources/ews/task/ewscreatetaskjob.h
  resources/ews/task/ewsfetchtaskdetailjob.cpp
  resources/ews/task/ewsfetchtaskdetailjob.h
  resources/ews/task/ewsmodifytaskjob.cpp
  resources/ews/task/ewsmodifytaskjob.h
  resources/ews/task/ewstaskhandler.cpp
  resources/ews/task/ewstaskhandler.h
  resources/ews/test/CMakeLists.txt
  resources/ews/test/basictest.cpp
  resources/ews/test/fakeserver/CMakeLists.txt
  resources/ews/test/fakeserver/fakeewsconnection.cpp
  resources/ews/test/fakeserver/fakeewsconnection.h
  resources/ews/test/fakeserver/fakeewsserver.cpp
  resources/ews/test/fakeserver/fakeewsserver.h
  resources/ews/test/fakeserver/fakeewsserver_debug.cpp
  resources/ews/test/fakeserver/fakeewsserver_debug.h
  resources/ews/test/fakeserver/fakeewsserverthread.cpp
  resources/ews/test/fakeserver/fakeewsserverthread.h
  resources/ews/test/fakeserver/test/CMakeLists.txt
  resources/ews/test/fakeserver/test/ewsfakesrv_test.cpp
  resources/ews/test/isolatedtestbase.cpp
  resources/ews/test/isolatedtestbase.h
  resources/ews/test/isolatedtestcommon.qrc
  resources/ews/test/resources/getfolder-inbox-msgroot.xq
  resources/ews/test/resources/getfolder-specialfolders.xq
  resources/ews/test/resources/getfolder-subscribedfolders.xq
  resources/ews/test/resources/getfolder-tags.xq
  resources/ews/test/resources/subscribe-streaming.xq
  resources/ews/test/resources/syncfolderhierarhy-emptystate.xq
  resources/ews/test/resources/unsubscribe.xq
  resources/ews/test/statemonitor.cpp
  resources/ews/test/statemonitor.h
  resources/ews/test/testenv/config.xml.cmake
  resources/ews/test/testenv/kdehome/share/apps/.keep
  resources/ews/test/testenv/kdehome/share/config/akonadi-firstrunrc
  resources/ews/test/testenv/kdehome/share/config/kdebugrc
  resources/ews/test/testenv/xdgconfig/akonadi/akonadiserverrc
  resources/ews/test/testenv/xdglocal/.keep
  resources/ews/test/unittests/CMakeLists.txt
  resources/ews/test/unittests/ewsattachment_ut.cpp
  resources/ews/test/unittests/ewsdeleteitemrequest_ut.cpp
  resources/ews/test/unittests/ewsgetitemrequest_ut.cpp
  resources/ews/test/unittests/ewsmoveitemrequest_ut.cpp
  resources/ews/test/unittests/ewsunsubscriberequest_ut.cpp
  resources/ews/test/unittests/fakehttppost.h
  resources/ews/test/unittests/faketransferjob.cpp
  resources/ews/test/unittests/faketransferjob.h

To: nowicki, #kde_pim, dvratil, mlaurent
Cc: kde-pim, dvasin, winterz, vkrause, mlaurent, knauss, dvratil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20170911/1a853abe/attachment.html>


More information about the kde-pim mailing list