bemade-addons/caldav_sync/static/description/index.html
Marc Durepos 7ae6454947 [IMP] caldav_sync: Massive rework
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:

commit e537a7f7f4
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 15:47:39 2024 -0500

    caldav_sync: getting ready for launch of 0.6.0

commit 5797f8efca
Author: 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

commit 992778e353
Author: 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

commit 90d05d75a2
Author: Marc Durepos <marc@bemade.org>
Date:   Fri Nov 8 11:31:14 2024 -0500

    caldav_sync: better sync with calls to _rewrite_recurrence

commit 5ca1d56e54
Author: 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.

commit ce7b27cc65
Author: 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)

commit 421d609abd
Author: Marc Durepos <marc@bemade.org>
Date:   Thu Nov 7 08:08:35 2024 -0500

    caldav_sync: still working on recurrence

commit 0e07d42825
Author: 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

commit 14a8b6acf0
Author: 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

commit 068d1fb29f
Author: 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.

commit 0104e3897c
Author: Marc Durepos <marc@bemade.org>
Date:   Mon Nov 4 07:48:48 2024 -0500

    caldav_sync: major rework underway. This commit is broken.
2024-11-08 15:49:50 -05:00

88 lines
4.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CalDAV Synchronization</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
background-color: #000000; /* Black background */
color: #b48a1d; /* Gold color */
}
.container {
margin-top: 20px;
}
h1, h2 {
color: #b48a1d; /* Gold color */
}
p, ul, ol {
color: #ffffff; /* White color for better readability on black background */
}
</style>
</head>
<body>
<div class="container">
<h1 class="text-center">CalDAV Synchronization</h1>
<img src="images/main_screenshot.png" class="img-fluid my-4" alt="Main Screenshot">
<p><strong>Author:</strong> Bemade Inc. (Marc Durepos)</p>
<p><strong>Website:</strong> <a href="https://www.bemade.org" class="text-warning">www.bemade.org</a></p>
<p><strong>License:</strong> GNU Lesser General Public License (LGPL-3)</p>
<h2>Overview</h2>
<p>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.</p>
<h2>Warning</h2>
<p>This module is in early development stages and should not be considered stable.
Please test it on an unimportant calendar before using it with your important data.
We are working hard to make improvements based on user feedback, so please reach
out if you run into any issues or need a specific feature.</p>
<h2>Features</h2>
<ul>
<li>Synchronize Odoo calendar events with CalDAV servers.</li>
<li>Create, update, and delete events in Odoo and reflect changes on the CalDAV server.</li>
<li>Poll CalDAV server for changes and update Odoo calendar accordingly.</li>
</ul>
<h2>Configuration</h2>
<ol>
<li>Install the module in Odoo.</li>
<li>Go to the User settings in Odoo.</li>
<li>
Enter the CalDAV calendar URL, username, and password on the user settings.
In some cases, the calendar URL to use is not evident. For Apple iCloud
calendars, for example, we recommend starting with the base server url
at https://caldav.icloud.com/ and then selecting a specific calendar url
from the error given in the server logs.
</li>
</ol>
<p><strong>Note: </strong>Some calendar service providers such as
Apple iCloud require app-specific passwords to be set so that
the calendar API can bypass 2-factor authentication. Please look
into setting up app-specific passwords for your cloud calendar
provider if you're faced with authentication errors.</p>
<h2>Usage</h2>
<ol>
<li>Create a calendar event in Odoo and it will be synchronized with the CalDAV calendar.</li>
<li>Update the event in Odoo and the changes will reflect on the CalDAV server.</li>
<li>Delete the event in Odoo and it will be removed from the CalDAV server.</li>
<li>Changes made to the calendar on the CalDAV server will be polled and updated in Odoo.</li>
</ol>
<h2>Technical Details</h2>
<p>The module extends the <code>calendar.event</code> model to add CalDAV synchronization functionality. It uses the <code>icalendar</code> library to format events and the <code>caldav</code> library to interact with CalDAV servers. Polling for changes on the CalDAV server can be triggered manually by triggering the scheduled action in Odoo.</p>
<h2>Support</h2>
<p>If you have any issues with the module or feature requests, please reach out
to us by creating an issue on our Gitlab at
<a href="https://git.bemade.org/bemade/bemade-addons">
https://git.bemade.org/bemade/bemade-addons
</a>
or by submitting a request on our website at
<a href="https://www.bemade.org">
https://www.bemade.org</a>
</a>
</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>