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.
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.
Create the database indexes
Jalankan ini sekali, sebelum pengguna menautkan akun Dropbox mereka. Indeks yang digunakan oleh sinkronisasi Dropbox tidak dibuat secara otomatis, sehingga tanpa indeks tersebut setiap pencarian sinkronisasi akan memindai seluruh koleksi. Pengguna Toolkit: jalankanbin/mongo. Pengguna Docker Compose: jalankan docker compose exec mongo mongosh sharelatex. Lalu tempelkan:
dropboxEntities dari tools/migrations sebagai gantinya: 20220825160708_recreate_dropboxEntities menghapus koleksi tersebut, yang akan menghapus status sinkronisasi setiap pengguna.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?
- Folder Dropbox yang belum dikenal Overleaf dicocokkan dengan proyek berdasarkan namanya, sehingga pengguna yang proyek-proyeknya memiliki nama yang sama akan diminta untuk mengganti namanya terlebih dahulu. Nama dibandingkan tanpa memperhatikan huruf besar/kecil, dan proyek yang diarsipkan maupun yang ada di tempat sampah juga diperhitungkan.
- Satu akun Dropbox hanya dapat ditautkan ke satu akun Overleaf.
Mengapa tautan akun Dropbox diputus?
Mengapa tautan akun Dropbox diputus?
Bisakah saya mengganti nama folder proyek di Dropbox?
Bisakah saya mengganti nama folder proyek di Dropbox?
Mengapa beberapa folder proyek diberi nomor, seperti 'Thesis (1)'?
Mengapa beberapa folder proyek diberi nomor, seperti 'Thesis (1)'?
Apa yang terjadi ketika saya menghapus folder proyek di Dropbox?
Apa yang terjadi ketika saya menghapus folder proyek di Dropbox?
- Jika tidak ada proyek lain yang memiliki nama folder tersebut, proyek ditandai sebagai terhapus di Overleaf. File dan riwayatnya tetap disimpan.
- Jika beberapa proyek memiliki nama tersebut, Overleaf tidak dapat mengetahui proyek mana pemilik folder itu. Overleaf memutuskan tautan akun Dropbox dan menampilkan notifikasi yang meminta Anda mengganti nama proyek-proyek tersebut. Berikan nama yang berbeda pada proyek sebelum menghapus foldernya di Dropbox.
- Folder bernomor, seperti “Thesis (1)”, tidak cocok dengan nama proyek mana pun, sehingga menghapusnya tidak mengubah proyek di Overleaf. Klik sync this project now di dialog Dropbox pada editor untuk mengirim proyek ke Dropbox lagi.
Apa yang terjadi di Dropbox ketika saya menghapus proyek di Overleaf?
Apa yang terjadi di Dropbox ketika saya menghapus proyek di Overleaf?
Apa yang terjadi pada perubahan di Dropbox saat proyek diarsipkan atau berada di tempat sampah?
Apa yang terjadi pada perubahan di Dropbox saat proyek diarsipkan atau berada di tempat sampah?
Mengapa tautan Dropbox di editor membuka halaman beranda Dropbox?
Mengapa tautan Dropbox di editor membuka halaman beranda Dropbox?
Apps/<app folder>/<project> di dropbox.com, seperti di Overleaf Cloud. Ketika Dropbox menampilkan folder Apps dengan nama terjemahan, misalnya 应用 dalam bahasa Tionghoa, tautan tidak menemukan folder tersebut dan Dropbox membuka halaman berandanya sebagai gantinya. Buka folder proyek dari folder Apps yang telah diterjemahkan di Dropbox.Mengapa beberapa file proyek tidak ada di Dropbox?
Mengapa beberapa file proyek tidak ada di Dropbox?

