次の状況を想定します。
- CalDAV / CardDAVサーバーは、さまざまなクライアントによって使用されます。
- 各クライアントはデータをローカルに保持し、定期的に同期します。
- サーバーがダウンし、古いバックアップから復元されます。
- クライアントはローカルバックアップを行った後にローカルで変更を加えてサーバーに同期していたため、復元されたサーバーはそれらを認識しません。これには、新しいエントリの追加、バックアップの前に同期されたエントリの変更(復元されたサーバーが古いバージョンになる)、およびエントリの削除が含まれます。
最後のバックアップ後に行われた変更はどうなりますか?
- クライアントはサーバーへの更新を単に再同期しますか?
- または、クライアントはそれらの変更をローカルに保持しますが、さらに変更がない限り、サーバーに同期しません(サーバーに既に変更がある場合)。
- または、サーバーは、最後のバックアップ後にクライアントで行われたすべての変更を取り消しますか?
- それとも、トランスポートプロトコルはこれについて完全に不可知論者であり、クライアントとサーバーにこれをどのように扱うかを任せていますか?
製品が問題になる場合、私が興味を持っている特定のセットアップは、Android上でDAVx⁵を実行するクライアントとCardBookおよびLightning拡張機能を備えたLinux用Thunderbirdを実行するDAViCalサーバーです。