Significant improvements to the code around synchronizing events, especially recurring ones. Too much has changed to explain fully here, so read the changelog in README.rst or read the code. Squashed commit of the following: commite537a7f7f4Author: Marc Durepos <marc@bemade.org> Date: Fri Nov 8 15:47:39 2024 -0500 caldav_sync: getting ready for launch of 0.6.0 commit5797f8efcaAuthor: Marc Durepos <marc@bemade.org> Date: Fri Nov 8 12:41:13 2024 -0500 fixup! caldav_sync: all seems good. further testing to come before merging into 17.0 commit992778e353Author: Marc Durepos <marc@bemade.org> Date: Fri Nov 8 12:41:02 2024 -0500 caldav_sync: all seems good. further testing to come before merging into 17.0 commit90d05d75a2Author: Marc Durepos <marc@bemade.org> Date: Fri Nov 8 11:31:14 2024 -0500 caldav_sync: better sync with calls to _rewrite_recurrence commit5ca1d56e54Author: Marc Durepos <marc@bemade.org> Date: Thu Nov 7 16:13:31 2024 -0500 caldav_sync: recurrence working from Odoo to CalDAV. Need further testing for the other direction. commitce7b27cc65Author: Marc Durepos <marc@bemade.org> Date: Thu Nov 7 10:33:26 2024 -0500 caldav_sync: updating recurrences in the middle with future works, but it breaks singled out events before it (brings them back into the rrule chain) commit421d609abdAuthor: Marc Durepos <marc@bemade.org> Date: Thu Nov 7 08:08:35 2024 -0500 caldav_sync: still working on recurrence commit0e07d42825Author: Marc Durepos <marc@bemade.org> Date: Wed Nov 6 16:06:43 2024 -0500 caldav_sync: moving a single event in a recurrence is synchronizing well commit14a8b6acf0Author: Marc Durepos <marc@bemade.org> Date: Wed Nov 6 13:53:23 2024 -0500 caldav_sync: CRUD fully functional, recurring events working with exceptions around changes in mid-sequence with rrule updates commit068d1fb29fAuthor: Marc Durepos <marc@bemade.org> Date: Tue Nov 5 16:42:42 2024 -0500 caldav_sync: all CRUD operations working. Recurrences working to some degree but not fully. commit0104e3897cAuthor: Marc Durepos <marc@bemade.org> Date: Mon Nov 4 07:48:48 2024 -0500 caldav_sync: major rework underway. This commit is broken.
89 lines
3.1 KiB
ReStructuredText
89 lines
3.1 KiB
ReStructuredText
CalDAV Synchronization
|
|
======================
|
|
|
|
Bemade Inc.
|
|
|
|
Copyright (C) 2023-June Bemade Inc. (https://www.bemade.org).
|
|
Author: Marc Durepos (Contact : marc@bemade.org)
|
|
|
|
This program is under the terms of the GNU Lesser General Public License (LGPL-3)
|
|
For details, visit https://www.gnu.org/licenses/lgpl-3.0.en.html
|
|
|
|
Overview
|
|
--------
|
|
|
|
The CalDAV Synchronization module for Odoo allows users to synchronize their
|
|
calendar events with CalDAV servers. This enables seamless integration of Odoo
|
|
calendar with external applications like Apple Calendar or Thunderbird.
|
|
|
|
Features
|
|
--------
|
|
|
|
- Synchronize Odoo calendar events with CalDAV servers.
|
|
- Create, update, and delete events in Odoo and reflect changes on the CalDAV
|
|
server.
|
|
- Poll CalDAV server for changes and update Odoo calendar accordingly.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
1. Install the module in Odoo.
|
|
2. Go to the User settings in Odoo.
|
|
3. Enter the CalDAV calendar URL, username, and password on the user settings.
|
|
|
|
Usage
|
|
-----
|
|
|
|
1. Create a calendar event in Odoo and it will be synchronized with the CalDAV
|
|
calendar.
|
|
2. Update the event in Odoo and the changes will reflect on the CalDAV server.
|
|
3. Delete the event in Odoo and it will be removed from the CalDAV server.
|
|
4. Changes made to the calendar on the CalDAV server (other email apps) will be
|
|
polled and updated in Odoo.
|
|
|
|
Technical Details
|
|
-----------------
|
|
|
|
* The module extends the `calendar.event` model to add CalDAV synchronization
|
|
functionality.
|
|
* It uses the `icalendar` library to format events and the `caldav` library to
|
|
interact with CalDAV servers.
|
|
* Polling for changes on the CalDAV server can be triggered manually by
|
|
triggering the scheduled action in Odoo.
|
|
|
|
Change Log
|
|
----------
|
|
|
|
17.0.0.6.0
|
|
^^^^^^^^^^
|
|
|
|
* Fixed an issue where synchronizing events created duplicate events on every sync.
|
|
* Completely revamped and synchronization of recurring events in both directions.
|
|
|
|
* Making a recurring event in Odoo correctly creates the recurring event on the server.
|
|
* Modifying the base event of a recurrence with "all events" or "future events" in
|
|
Odoo reflects correctly on the server.
|
|
* Modifying a non-base event correctly updates on the server in all 3 modes (this
|
|
event only, all events, future events).
|
|
* Modifying a base recurring event on the CalDAV server correctly updates the events
|
|
on Odoo after a synchronization.
|
|
* Deleting a whole recurring sequence from Odoo correctly deletes the sequence from
|
|
the CalDAV server.
|
|
* Deleting a single event or a whole recurring sequence on the CalDAV server
|
|
correctly synchronizes to Odoo after a synchronization.
|
|
|
|
* CalDAV (iCalendar) UIDs are now correctly shared among events of a same recurrence in
|
|
Odoo. This corrects a number of issues around updating and deleting events from both
|
|
the Odoo and CalDAV server side.
|
|
|
|
Issues & Requests
|
|
-----------------
|
|
|
|
Please submit issues on Bemade's Gitlab at https://git.bemade.org/bemade/bemade-addons
|
|
or via our website at https://www.bemade.org.
|
|
|
|
License
|
|
-------
|
|
|
|
This program is under the terms of the GNU Lesser General Public License (LGPL-3)
|
|
For details, visit https://www.gnu.org/licenses/lgpl-3.0.en.html
|