Fitur ini dikembangkan oleh ayaka-notes/ayakaleaf-pro. Fitur ini diperkenalkan sejak v6.4.0 dan versi selanjutnya, dan masih berstatus beta. Kami membutuhkan masukan Anda jika Anda mengalami masalah.
Apps/<your Dropbox app>/, perubahan di Overleaf dikirim ke Dropbox, dan perubahan yang dibuat di Dropbox kembali ke Overleaf.
Menyiapkan Sinkronisasi Dropbox
Buat aplikasi di Dropbox App Console, dengan masuk menggunakan akun Dropbox yang akan menjadi pemilik aplikasi:- Klik Create app, lalu isi halaman tersebut:
- 1. Choose an API: pilih Scoped access.
- 2. Choose the type of access you need: pilih App folder, bukan Full Dropbox. Overleaf hanya melakukan sinkronisasi di dalam folder aplikasi.
- 3. Name your app: masukkan nama, misalnya
Overleaf. Nama ini harus unik di Dropbox. Proyek setiap pengguna muncul diApps/<name of your app>/di Dropbox mereka, dan nama ini adalahDROPBOX_APP_NAMEdi bawah. - Klik Create app. Aplikasi akan terbuka pada tab Settings.
- Pada tab Permissions, di bawah Files and folders, centang
files.metadata.write,files.content.write, danfiles.content.read.account_info.readdanfiles.metadata.readikut tercentang bersamanya dan tidak dapat dihapus centangnya. Jangan centang izin lainnya. - Klik Submit di bilah bagian bawah tab Permissions. Tanpa Submit, izin tidak akan tersimpan, dan Dropbox akan menolak menyinkronkan file bagi pengguna yang menautkan akun mereka.

Dropbox App Console: izin yang harus dicentang, disimpan dengan Submit
- Pada tab Settings, di bawah OAuth 2, masukkan
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackdi Redirect URIs, lalu klik Add. Mengetik URI saja tidak cukup: URI baru tersimpan setelah muncul di daftar di atas kolom tersebut.

Dropbox App Console: masukkan redirect URI, lalu klik Add
- Pada tab Settings, di bawah Webhooks, masukkan
${OVERLEAF_SITE_URL}/dropbox/webhookdi Webhook URIs, lalu klik Add juga. Dropbox langsung memanggilnya untuk memeriksa, sehingga Overleaf harus sudah berjalan dengan pengaturan di bawah dan dapat dijangkau dari internet (lihat Webhook). Statusnya akan menampilkan Enabled setelah pemeriksaan berhasil.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Proxy tersebut harus berupa forward proxy HTTP/HTTPS standar, dan tidak boleh menggunakan 127.0.0.1.
Webhook
Dropbox memberi tahu Overleaf tentang perubahan di Dropbox melalui webhook, sehingga perubahan tersebut muncul di Overleaf dalam hitungan detik. Webhook mengarah ke alamat situs Anda,${OVERLEAF_SITE_URL}/dropbox/webhook, tanpa memerlukan port tambahan, tetapi Dropbox harus dapat menjangkaunya dari internet. Saat Anda menambahkannya di App Console, Dropbox langsung memeriksanya.
Tanpa webhook, misalnya pada server yang tidak dapat dijangkau Dropbox, perubahan di Overleaf tetap dikirim ke Dropbox, tetapi perubahan di Dropbox hanya kembali saat pengguna mengklik sync this project now di dialog Dropbox pada editor.
Cara kerja sinkronisasi
- Penautan: saat pengguna menautkan akun Dropbox mereka, proyek yang mereka miliki dikirim ke Dropbox. Proyek yang dibagikan kepada mereka muncul di Dropbox pada perubahan berikutnya.
- Overleaf ke Dropbox: file baru, penggantian nama, pemindahan, penghapusan, dan penggantian nama proyek langsung dikirim. Suntingan di editor dikirim setelah Overleaf menyimpannya ke penyimpanannya, beberapa menit setelah semua orang meninggalkan proyek. Untuk mengirimnya lebih awal, klik sync this project now di dialog Dropbox pada editor (sekali per menit).
- Dropbox ke Overleaf: file baru dan yang diubah, folder baru, serta penghapusan di dalam folder proyek diterapkan ke proyek. Folder baru di tingkat teratas folder aplikasi menjadi proyek baru. Menghapus folder proyek di Dropbox akan menandai proyek tersebut sebagai terhapus di Overleaf.
- Konflik: jika sebuah file berubah di kedua tempat pada saat yang sama, perubahan terakhir yang berlaku. Dropbox mungkin menyimpan versi lainnya sebagai conflicted copy.
- Kolaborator: kolaborator yang menautkan Dropbox mereka mendapatkan proyek yang dibagikan kepada mereka. Peninjau dan pengguna dengan akses hanya-lihat mendapatkan proyek tersebut, tetapi perubahan mereka di Dropbox tidak disinkronkan kembali ke Overleaf.
- File yang diabaikan: file yang tidak disinkronkan Overleaf, seperti hasil build (
.aux,.log, …),.DS_Store, atau virtual environment Python, hanya tetap berada di Dropbox.
Q&A
Mengapa pengguna tidak dapat menautkan akun Dropbox mereka?
Mengapa pengguna tidak dapat menautkan akun Dropbox mereka?
- Proyek dicocokkan dengan folder Dropbox berdasarkan nama, sehingga pengguna yang memiliki dua proyek dengan nama yang sama akan diminta untuk mengganti nama salah satunya terlebih dahulu.
- Satu akun Dropbox hanya dapat ditautkan ke satu akun Overleaf.
Mengapa tautan akun Dropbox diputus?
Mengapa tautan akun Dropbox diputus?
Jawaban: Overleaf memutuskan tautan akun Dropbox ketika Dropbox menolak tokennya (misalnya setelah pengguna menghapus aplikasi di Dropbox), ketika Dropbox penuh, atau ketika Dropbox menangguhkan akun tersebut. Pengguna dapat menautkannya kembali setelah masalah teratasi.
Bisakah saya mengganti nama folder proyek di Dropbox?
Bisakah saya mengganti nama folder proyek di Dropbox?
Jawaban: Sebaiknya ganti nama proyek di Overleaf. Bagi Overleaf, mengganti nama folder di Dropbox berarti menghapus folder proyek dan membuat folder baru, sehingga proyek lama ditandai sebagai terhapus dan proyek baru dibuat dari file-file tersebut.

