Skip to main content
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.
Dropbox Senkronizasyonu, Overleaf Cloud’da olduğu gibi bir kullanıcının projelerini Dropbox’ıyla senkronize tutar: kullanıcı Dropbox hesabını bağladığında, projelerinin her biri 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

Önce git-bridge özelliğini etkinleştirmeniz gerekir: bu olmadan hesap ayarları proje senkronizasyonu bölümünü gizler.
config/overleaf.rc
Uygulamanın sahibi olacak Dropbox hesabıyla oturum açarak Dropbox App Console üzerinde bir uygulama oluşturun:
  1. 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’ında Apps/<name of your app>/ içinde görünür ve bu ad aşağıdaki DROPBOX_APP_NAME değeridir.
    • Create app düğmesine tıklayın. Uygulama Settings sekmesinde açılır.
  2. Permissions sekmesinde, Files and folders altında files.metadata.write, files.content.write ve files.content.read seçeneklerini işaretleyin. account_info.read ve files.metadata.read bunlarla birlikte işaretlenir ve işaretleri kaldırılamaz. Başka izinleri işaretlemeyin.
  3. 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

  1. Settings sekmesinde, OAuth 2 altında Redirect URIs alanına ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback girin, 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

  1. Settings sekmesinde, Webhooks altında Webhook URIs alanına ${OVERLEAF_SITE_URL}/dropbox/webhook girin, 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.
Settings sekmesinden App key ve App secret (Show düğmesine tıklayın) değerlerini kopyalayın, ardından aşağıdaki ayarları Overleaf ortam değişkeni dosyalarınıza ekleyin. Webhook’u (5. adım), Overleaf bu ayarlarla çalıştıktan sonra ekleyebilirsiniz.
config/variables.env
  • Yönlendirme URI’sini ve webhook’u yapılandırmadan önce OVERLEAF_SITE_URL değerinin doğru ayarlandığından emin olun.
  • Dropbox, bir belirtecin izinlerini kullanıcı hesabını bağladığı anda sabitler: izinleri göndermek mevcut belirteçleri değiştirmez. İzinler gönderilmeden veya siz bunları değiştirmeden önce hesabını bağlamış kullanıcıların Dropbox hesaplarının bağlantısını kaldırıp yeniden bağlamaları gerekir.
  • Yeni bir uygulama Development durumundadır. Settings sekmesindeki Development users alanı Only you gösteriyorsa yalnızca sizin Dropbox hesabınız bağlanabilir: diğer kullanıcıların da kendi hesaplarını bağlayabilmesi için Enable additional users düğmesine tıklayın. Ardından kaç kullanıcının bağlandığı gösterilir, ör. 1 / 500: Development durumundaki bir uygulama en fazla 500 kullanıcı alır. Daha fazla kullanıcı için Apply for production düğmesine tıklayın; Dropbox uygulamayı inceler.
Ağ erişiminin kısıtlı olduğu bir bölgedeyseniz, Dropbox’a erişmek için bir proxy yapılandırmanız gerekebilir. Şu ortam değişkenini ayarlayın: 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_Store veya Python sanal ortamları gibi Overleaf’in senkronize etmediği dosyalar yalnızca Dropbox’ta kalır.

Q&A

  • 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.
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.
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.
Son değiştirilme tarihi 17 Ekim 2026