Pengantar
- Bagian pertama dari seri tentang memiliki sendiri data dan teknologi, yang menjelaskan cara mengintegrasikan solusi kalender self-hosted.
- Karena sering bepergian, pengelolaan jadwal menjadi rumit, dan untuk mengatasi ketidaknyamanan sistem kalender yang ada, dibangunlah solusi sendiri.
Persyaratan
- Jadwal ditampilkan sebagai blokir pada kalender kerja.
- Istri dapat berlangganan kalender.
- Acara hanya perlu dimasukkan satu kali.
- Dapat diedit dari beberapa perangkat.
- Dapat mengendalikan data sepenuhnya.
- Masalah ini tidak dapat diselesaikan dengan membagikan kalender kerja kepada istri.
Solusi sebelumnya
- Solusi berbagi kalender yang ada mengharuskan platform yang sama atau hanya menyediakan fitur terbatas.
- Awalnya dimulai dengan menulis acara kalender menggunakan file YAML dan mengubahnya menjadi file ICS untuk dibagikan, tetapi pemeliharaannya menjadi sulit.
Arsitektur
- Membangun solusi menggunakan server CalDAV agar kalender dapat dikelola dari beberapa perangkat.
- Menghubungkan berbagai sumber data untuk memperbarui acara secara otomatis, lalu menyediakannya sebagai file ICS.
Pengaturan Baïkal
- Menyiapkan server CalDAV menggunakan Baïkal dan menerapkannya dengan mudah melalui Docker Compose.
- Menggunakan reverse proxy nginx agar dapat diakses melalui web.
Menyiapkan skema klasifikasi acara
- Memanfaatkan properti CATEGORIES di iCalendar untuk mengklasifikasikan acara, dan menulis model data menggunakan Python enum.
- Dengan ini, acara dapat dengan mudah dicari atau dibedakan berdasarkan warna.
Kompilasi dan berbagi kalender
- Mengambil acara secara otomatis melalui IMAP, API, file ICS, dan lainnya, menambahkannya ke Baïkal, lalu mengubahnya menjadi file ICS untuk dibagikan di web.
- Diatur agar diperbarui setiap 15 menit melalui pekerjaan cron.
Berbagi dengan kalender kerja
- Menggunakan Google Script Engine untuk menyalin acara ke kalender kerja dan menerapkan color coding berdasarkan properti CATEGORIES.
Kesimpulan
- Melalui pengujian selama 6 bulan, sistem ini terbukti bekerja dengan baik dan sangat membantu dalam mengelola jadwal perjalanan.
- Biaya server sebesar $100 per bulan memang diperlukan, tetapi dinilai sangat sepadan dengan kemudahan pengelolaan jadwal.
1 komentar
Opini Hacker News
CalDAV rumit dan tidak intuitif. Pernah mencoba Radicale tetapi tidak puas. Secara pribadi sempat ingin mengimplementasikan server CalDAV, tetapi menyerah
Radicale layak direkomendasikan sebagai server CalDAV modular yang ditulis dalam Python
Menggunakan Mailcow(SoGO) dan Fastmail di server pribadi. Kedua kalender tidak tersinkronisasi dengan baik
Pada awal 2000-an menggunakan Mozilla Sunbird untuk meng-host kalender di server Win2k. Sepertinya saat itu belum ada CardDAV
Sudah menggunakan Baikal selama beberapa tahun dan stabil. Terhubung menggunakan Thunderbird, DAVx5, dan Fossify Calendar
Ingin membuat sesuatu untuk foto. Ingin lepas dari Dropbox dan Google
Menyinkronkan Outlook dan Google Calendar lewat HTTP tidak andal
Baikal terlihat menarik. Dulu menggunakan DAViCal, tetapi setelah versi iOS berubah, jadinya tidak andal
Baru-baru ini sedang mencoba lepas dari cloud. Migrasi data memakan waktu dua minggu dan hasilnya bekerja lebih baik dari perkiraan
Ada juga cara tanpa server menggunakan DecSync