Bu özellik ayaka-notes/ayakaleaf-pro tarafından geliştirilmiştir. v6.4.0 ve sonrasında sunulmuştur. Hâlâ beta aşamasındadır. Herhangi bir sorun yaşarsanız geri bildiriminize ihtiyacımız var.
Apps/<your Dropbox app>/ içinde bir klasör olarak görünür, Overleaf’teki değişiklikler Dropbox’a gönderilir ve Dropbox’ta yapılan değişiklikler Overleaf’e geri gelir.
Dropbox Senkronizasyonunu Kurma
Uygulamanın sahibi olacak Dropbox hesabıyla oturum açarak Dropbox App Console üzerinde bir uygulama oluşturun:- Create app düğmesine tıklayın, ardından sayfayı doldurun:
- 1. Choose an API: Scoped access seçeneğini seçin.
- 2. Choose the type of access you need: Full Dropbox değil, App folder seçeneğini seçin. Overleaf yalnızca uygulamanın klasörü içinde senkronizasyon yapar.
- 3. Name your app: bir ad girin, ör.
Overleaf. Ad Dropbox’ta benzersiz olmalıdır. Her kullanıcının projeleri Dropbox’ındaApps/<name of your app>/içinde görünür ve bu ad aşağıdakiDROPBOX_APP_NAMEdeğeridir. - Create app düğmesine tıklayın. Uygulama Settings sekmesinde açılır.
- Permissions sekmesinde, Files and folders altında
files.metadata.write,files.content.writevefiles.content.readseçeneklerini işaretleyin.account_info.readvefiles.metadata.readbunlarla birlikte işaretlenir ve işaretleri kaldırılamaz. Başka izinleri işaretlemeyin. - Permissions sekmesinin altındaki çubukta Submit düğmesine tıklayın. Submit olmadan izinler kaydedilmez ve Dropbox, hesabını bağlayan kullanıcılar için dosyaları senkronize etmeyi reddeder.

Dropbox App Console: işaretlenecek izinler, Submit ile kaydedilir
- Settings sekmesinde, OAuth 2 altında Redirect URIs alanına
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackgirin, ardından Add düğmesine tıklayın. URI’yi yazmak yeterli değildir: URI ancak alanın üstündeki listede göründüğünde kaydedilmiş olur.

Dropbox App Console: yönlendirme URI'sini girin, ardından Add düğmesine tıklayın
- Settings sekmesinde, Webhooks altında Webhook URIs alanına
${OVERLEAF_SITE_URL}/dropbox/webhookgirin, ardından yine Add düğmesine tıklayın. Dropbox bu adresi doğrulamak için hemen çağırır; bu nedenle Overleaf aşağıdaki ayarlarla zaten çalışıyor ve internetten erişilebilir olmalıdır (bkz. Webhook). Doğrulama başarılı olduğunda durumu Enabled olarak görünür.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Bu, standart bir HTTP/HTTPS ileri proxy olmalı ve 127.0.0.1 kullanmamalıdır.
Webhook
Dropbox, Dropbox’taki değişiklikleri Overleaf’e bir webhook ile bildirir; böylece değişiklikler saniyeler içinde Overleaf’te görünür. Webhook sitenizin adresine, yani${OVERLEAF_SITE_URL}/dropbox/webhook adresine gider ve ek bir port gerekmez, ancak Dropbox’ın bu adrese internetten erişebilmesi gerekir. Webhook’u App Console’da eklediğinizde Dropbox onu hemen doğrular.
Webhook olmadan, örneğin Dropbox’ın erişemediği bir sunucuda, Overleaf’teki değişiklikler yine Dropbox’a gönderilir, ancak Dropbox’taki değişiklikler yalnızca bir kullanıcı düzenleyicinin Dropbox iletişim kutusunda sync this project now seçeneğine tıkladığında geri gelir.
Senkronizasyon nasıl çalışır
- Bağlama: bir kullanıcı Dropbox hesabını bağladığında, sahibi olduğu projeler Dropbox’a gönderilir. Kendisiyle paylaşılan projeler, bir sonraki değişiklikleriyle birlikte Dropbox’ta görünür.
- Overleaf’ten Dropbox’a: yeni dosyalar, yeniden adlandırmalar, taşımalar, silmeler ve proje yeniden adlandırmaları hemen gönderilir. Düzenleyicideki düzenlemeler, Overleaf bunları depolamasına kaydettiğinde, yani herkes projeden ayrıldıktan birkaç dakika sonra gönderilir. Bunları daha erken göndermek için düzenleyicinin Dropbox iletişim kutusunda sync this project now seçeneğine tıklayın (dakikada bir kez).
- Dropbox’tan Overleaf’e: bir proje klasöründeki yeni ve değiştirilmiş dosyalar, yeni klasörler ve silmeler projeye uygulanır. Uygulama klasörünün en üst düzeyindeki yeni bir klasör yeni bir proje olur. Dropbox’ta bir proje klasörünü silmek, projeyi Overleaf’te silinmiş olarak işaretler.
- Çakışmalar: bir dosya aynı anda iki yerde değiştiğinde son değişiklik geçerli olur. Dropbox diğer sürümü bir conflicted copy olarak saklayabilir.
- Ortak çalışanlar: Dropbox’ını bağlayan ortak çalışanlar, kendileriyle paylaşılan projeleri alır. Salt okunur görüntüleyiciler ve inceleyiciler projeyi alır, ancak Dropbox’taki değişiklikleri Overleaf’e geri senkronize edilmez.
- Yok sayılan dosyalar: derleme çıktısı (
.aux,.log, …),.DS_Storeveya Python sanal ortamları gibi Overleaf’in senkronize etmediği dosyalar yalnızca Dropbox’ta kalır.
Q&A
Bir kullanıcı Dropbox hesabını neden bağlayamıyor?
Bir kullanıcı Dropbox hesabını neden bağlayamıyor?
- Projeler Dropbox klasörleriyle ada göre eşleştirilir; bu nedenle aynı ada sahip iki projesi olan bir kullanıcıdan önce bunlardan birini yeniden adlandırması istenir.
- Bir Dropbox hesabı yalnızca bir Overleaf hesabına bağlanabilir.
Bir Dropbox hesabının bağlantısı neden kaldırıldı?
Bir Dropbox hesabının bağlantısı neden kaldırıldı?
Yanıt: Overleaf, Dropbox belirtecini reddettiğinde (örneğin kullanıcı uygulamayı Dropbox’ta kaldırdıktan sonra), Dropbox dolduğunda veya Dropbox hesabı askıya aldığında bir Dropbox hesabının bağlantısını kaldırır. Sorun çözüldükten sonra kullanıcı hesabı yeniden bağlayabilir.
Dropbox'ta bir proje klasörünü yeniden adlandırabilir miyim?
Dropbox'ta bir proje klasörünü yeniden adlandırabilir miyim?
Yanıt: Lütfen bunun yerine projeyi Overleaf’te yeniden adlandırın. Overleaf açısından klasörü Dropbox’ta yeniden adlandırmak, proje klasörünü silip yenisini oluşturmak anlamına gelir; bu nedenle eski proje silinmiş olarak işaretlenir ve dosyalardan yeni bir proje oluşturulur.

