GSoC/2020/StatusReports/ShashwatJolly
Project summary
The Akonadi framework is responsible for providing KDE PIM applications with a centralized database to store, index and retrieve the user's personal information. The data can be stored either in local files or can be synced via a host of services like Google Calendar, Microsoft Exchange WebServer (EWS) or a number of Groupware servers like Nextcloud, DAV etc.
The proposed project is to add to this list a secure, end-to-end encrypted, FLOSS sync solution for your contacts, calendars and tasks, called EteSync. EteSync clients are available for Android, iOS, the desktop (Cal/CardDAV bridge) and the web, and a Thunderbird plugin is in the works. The server too is open-source and can be self-hosted.
The idea is to implement an Akonadi backend resource to enable KDE users to use EteSync to easily end-to-end encrypt and sync their contacts, calendars and tasks.
Mentors
Deliverables
- A new backend resource for EteSync in Akonadi
- A configuration dialog to take as input an Encryption Password required by EteSync to properly integrate the module with Akonadi
- Rigorous testing as personal user data is being handled
- Adding relevant documentation for testing and using the resource
Progress Updates
The new EteSync resource in Akonadi
- Made a new subdirectory for the resource
- Added the EteSync dependency to KDEPIM Runtime
- Got project to build successfully
Adding EteSync address books to Kontact
- Implemented relevant functions to get EteSync address books and contacts to show up in Kontact
Adding EteSync calendars and tasks to Kontact
- Implemented relevant functions to get EteSync calendars and tasks to show up in Kontact
- Complete implementation of a two-way client for EteSync in Kontact
Implementing the EteSync configuration dialog
- Implemented a two-step configuration dialog for the user to enter their username, password, server URL and encryption password.
Period updates
- Week 1: https://www.thejollyblog.tech/posts/KDE/gsoc-part-1-lets-get-started
- Week 2-3: https://www.thejollyblog.tech/posts/KDE/gsoc-part-2-the-coding-period-starts
- Week 4-5: https://www.thejollyblog.tech/posts/KDE/gsoc-part-3-adding-etesync-addressbooks
- Week 6-7: https://www.thejollyblog.tech/posts/KDE/gsoc-part-4-adding-etesync-calendars-tasks
- Week 8-10: https://www.thejollyblog.tech/posts/KDE/gsoc-part-5-call-for-beta-testers
Communication on the kde-pim mailing list
Sorted chronologically:
- GSoC 2020 | Introducing myself (sjolly)
- Sharing my progress (EteSync sync backend for Akonadi, GSoC '20)
- Questions regarding code design choices for Akonadi resource
- Questions regarding Akonadi resource development
- Questions regarding KDE PIM resource development
Relevant links
Blog
https://thejollyblog.tech/tag/kde/
Repository
https://invent.kde.org/sjolly/kdepim-runtime/-/tree/etesyncResource
Project proposal
https://drive.google.com/file/d/1nWU5yaG_Anpl6L_QvMal0Vf2g_sQtC56/view
Personal info
Name: Shashwat Jolly
Email: [email protected]
Invent: https://invent.kde.org/sjolly
IRC: sjolly on Freenode