Kalender dan penjadwalan
Control Center terhubung ke Google Calendar agar hari Anda berdampingan dengan armada Anda. Ia menyinkronkan acara Anda, menampilkannya dalam tampilan bulan, minggu, hari dan agenda, memperingatkan Anda sebelum rapat dimulai dan mengubah acara apa pun menjadi rapat yang direkam dan diringkas.
Apa yang diubahnya di Google
Bagian berjudul “Apa yang diubahnya di Google”Hampir tidak ada. Integrasi ini menarik acara masuk lalu merendernya. Ia tidak
membuat, mengubah, menghapus, atau menanggapi undangan. Setiap koneksi kode
perangkat, baik bawaan maupun milik Anda sendiri, meminta calendar.readonly
plus openid email.
Acara disinkronkan ke basis data milik ruang kerja itu sendiri di server
(<dataDir>/<workspaceId>/workspace.db) dan dirender oleh setiap klien melalui
RPC. Tidak ada klien yang memegang kredensial Google.
Akun per ruang kerja
Bagian berjudul “Akun per ruang kerja”Akun kalender dibatasi per ruang kerja, seperti semua hal lain di Control Center. Setiap ruang kerja menghubungkan akun Google-nya sendiri (atau beberapa akun) dan acara serta token satu ruang kerja tidak pernah terlihat dari ruang kerja lain. Berpindah ruang kerja berarti berpindah kalender yang Anda lihat.
Sebuah ruang kerja dapat menghubungkan beberapa akun Google, misalnya akun kantor dan akun pribadi, dan acara keduanya digabungkan ke tampilan yang sama.
Mengapa proses masuk memakai kode perangkat
Bagian berjudul “Mengapa proses masuk memakai kode perangkat”cc_server headless tidak punya peramban untuk menangkap pengalihan OAuth.
Karena itu ia tidak memakainya: ia mengotorisasi dengan hibah kode perangkat
(RFC 8628). Server menampilkan kode pengguna yang pendek dan URL Google, Anda
menyetujuinya di perangkat mana pun yang memiliki peramban dan server melakukan
polling sampai Anda menyetujuinya. Instalasi headless dapat menghubungkan akun
justru karena tidak ada endpoint pengalihan yang perlu dihosting.
Konsekuensi yang perlu Anda ketahui sebelum membawa kredensial sendiri: jenis
klien harus “TV and Limited Input devices” milik Google. Google hanya memberikan
sekumpulan scope yang ada di daftar izin kepada jenis klien itu dan proyek yang
tidak mengizinkan Calendar untuknya akan gagal dengan invalid_scope — Anda
malah memerlukan klien loopback atau web sebagai gantinya.
Token tidak pernah meninggalkan server. Token ditulis ke secrets.json milik
server di direktori datanya, dengan kunci google_google:<workspaceId>:<email>,
berdampingan dengan basis data dan di bawah batas kepercayaan sistem berkas host
yang sama. Server menyegarkan akses secara otomatis dan, ketika Google
membatalkan sebuah akun secara permanen (sesi yang dicabut atau sudah lama
kedaluwarsa), ia menerbitkan CalendarAuthExpired dan menampilkan banner
hubungkan ulang alih-alih gagal secara diam-diam.
Build dari sumber sama sekali tidak menyertakan kredensial Google — Anda
memasok client id dan secret milik Anda sendiri. Build rilis resmi menyematkan
klien kode perangkat non-konfidensial agar alur koneksi langsung berfungsi;
server hanya menyimpan penanda yang merujuknya, tidak pernah salinannya.
GOOGLE_OAUTH_CLIENT_ID (beserta secret-nya) di lingkungan selalu diutamakan
di atas pasangan yang disematkan. Sengaja tidak ada flag --google-client-id:
flag yang tidak dikenal akan diabaikan, dan secret pada baris perintah dapat
dibaca melalui ps.
Untuk menjalankan proyek Google Anda sendiri, lihat Hubungkan Google Calendar.
Sinkronisasi
Bagian berjudul “Sinkronisasi”Server menarik jendela bergulir berisi acara setiap akun yang terhubung — setiap kalender pada akun itu, bukan hanya kalender utama — setiap dua menit, plus saat diminta (mulai, menghubungkan, penyegaran manual). Irama yang singkat ini terjangkau karena penyapuannya bersifat inkremental: setiap kalender membawa token sinkronisasinya sendiri, sehingga kalender yang tidak berubah hanya memerlukan satu respons yang hampir kosong alih-alih mengambil ulang jendela lima bulan.
Acara berulang dijabarkan di sisi server, sehingga tidak ada klien yang mengurai aturan pengulangan. Menavigasi ke bulan di luar jendela saat ini memuat rentang itu hanya saat dibutuhkan. Acara yang dihapus atau dipindahkan ke luar rentang direkonsiliasi pada sinkronisasi berikutnya.
Tampilan
Bagian berjudul “Tampilan”| Tampilan | Isinya |
|---|---|
| Bulan | Kisi sebulan penuh (ditenagai oleh paket kalender) |
| Minggu | Acara berjadwal seminggu dalam kisi waktu |
| Hari | Acara berjadwal satu hari dalam kisi waktu |
| Agenda | Daftar acara mendatang yang dapat digulir |
Buka kalender di /calendar; memilih acara akan membuka detailnya di
/calendar/:eventId. Tampilan yang Anda pilih disimpan di preferensi klien itu
sendiri, jadi ia tidak mengikuti Anda ke perangkat lain.
Peringatan rapat
Bagian berjudul “Peringatan rapat”Penjadwal per menit memindai acara yang mulai dalam jendela pendahulu yang dapat
dikonfigurasi dan memicu notifikasi “rapat segera dimulai” (sebuah
peristiwa domain
MeetingStartingSoon). Notifikasi membawa URL bergabung bila ada dan
mengkliknya akan membuka detail acara. Peringatan dideduplikasi terhadap
alertedAt milik acara, sehingga rapat yang sama tidak pernah memberi peringatan
dua kali, bahkan setelah mulai ulang, dan acara yang waktu mulainya sudah lewat
saat aplikasi ditutup tidak pernah diputar ulang.
Ada dua batas yang mudah membuat Anda keliru. Penjadwal berjalan di sisi klien pada desktop dan hanya untuk ruang kerja yang sedang Anda buka — ruang kerja yang tidak Anda buka tidak memunculkan peringatan. Dan build web sama sekali tidak memiliki pipeline notifikasi OS, jadi ia juga tidak memunculkan peringatan.
Rekam dan tautkan
Bagian berjudul “Rekam dan tautkan”Dari acara kalender Anda dapat memulai rekaman rapat yang diisi dengan judul acara. Control Center menyimpan tautan satu-ke-satu antara rekaman dan acara, sehingga catatan rapat dan entri kalender tetap terhubung tanpa salah satu fitur bergantung pada yang lain.
Mulai rekaman & tautkan hanya tersedia di desktop. Pada klien web, tindakan itu melaporkan bahwa perekaman tidak tersedia — padahal alur perekaman di layar rapat sendiri memang berfungsi di peramban.
Lihat juga
Bagian berjudul “Lihat juga”- Rapat dan transkripsi: apa yang terjadi setelah Anda memulai rekaman
- Ruang kerja dan isolasi: mengapa akun kalender bersifat per ruang kerja
- Peristiwa domain:
MeetingStartingSoondanCalendarAuthExpired - Hubungkan Google Calendar
- Rekam dan ringkas rapat