Skip to main content
Bu özellik ayaka-notes/ayakaleaf-pro tarafından geliştirilmiştir. v6.3.1 sürümünde erken önizleme olarak sunulmuştur ve v6.4.0 sürümünde resmi olarak yayınlanacaktır; bu nedenle yapılandırması ve davranışı hâlâ değişebilir. 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.

Veritabanı dizinlerini oluşturma

Bunu, kullanıcılar Dropbox hesaplarını bağlamadan önce bir kez çalıştırın. Dropbox senkronizasyonunun kullandığı dizinler otomatik olarak oluşturulmaz; bu nedenle bunlar olmadan her senkronizasyon araması koleksiyonun tamamını tarar. Toolkit kullanıcıları: bin/mongo komutunu çalıştırın. Docker Compose kullanıcıları: docker compose exec mongo mongosh sharelatex komutunu çalıştırın. Ardından şunu yapıştırın:
Yeniden çalıştırmak zararsızdır: MongoDB zaten var olan dizinleri atlar.
Bunun yerine tools/migrations içindeki dropboxEntities geçişlerini çalıştırmayın: 20220825160708_recreate_dropboxEntities koleksiyonu siler ve bu da her kullanıcının senkronizasyon durumunu siler.

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

  • Overleaf’in henüz tanımadığı bir Dropbox klasörü bir projeyle adına göre eşleştirilir; bu nedenle projeleri aynı adı paylaşan bir kullanıcıdan önce bunları yeniden adlandırması istenir. Adlar büyük/küçük harf ayrımı yapılmadan karşılaştırılır ve arşivlenmiş ve çöp kutusuna taşınmış projeler de hesaba katılır.
  • 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. Proje listesindeki bir bildirim, kullanıcı hesabı yeniden bağlayana kadar bunlardan hangisinin gerçekleştiğini ona bildirir. Sorun çözüldükten sonra kullanıcı hesabı yeniden bağlayabilir.
Yanıt: Lütfen bunun yerine projeyi Overleaf’te yeniden adlandırın: Dropbox’taki klasörü de yeniden adlandırılır. 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.
Yanıt: İki projenin adı aynı olsa bile her projenin kendine ait bir klasörü vardır. Dropbox aynı ada sahip iki klasörü barındıramaz; bu nedenle sonradan oluşturulan klasöre bir numara ekler. Numara, projelerden hangisinin daha eski olduğuna değil, o anda Dropbox’ta hangi adların boş olduğuna bağlıdır. Overleaf her projenin klasörünü bilir; bu nedenle değişiklikler asla aynı ada sahip başka bir projenin klasörüne gitmez.Adı zaten kullanılan, yüklenmiş bir proje de Overleaf’te bir numarayla adlandırılır, örneğin “Thesis (1)”.
  • Başka hiçbir proje klasörün adını taşımıyorsa proje Overleaf’te silinmiş olarak işaretlenir. Dosyaları ve geçmişi korunur.
  • Bu adı taşıyan birden fazla proje varsa Overleaf klasörün hangisine ait olduğunu anlayamaz. Dropbox hesabının bağlantısını kaldırır ve projeleri yeniden adlandırmayı isteyen bir bildirim gösterir. Klasörlerini Dropbox’ta silmeden önce projelere farklı adlar verin.
  • “Thesis (1)” gibi numaralandırılmış bir klasör hiçbir proje adıyla eşleşmez; bu nedenle onu silmek Overleaf’teki projeyi değiştirmez. Projeyi Dropbox’a yeniden göndermek için düzenleyicinin Dropbox iletişim kutusunda sync this project now seçeneğine tıklayın.
Yanıt: Hiçbir şey; klasörü Dropbox’ta kalır. Artık ihtiyacınız yoksa klasörü Dropbox’ta silin.
Yanıt: Projeye uygulanmazlar ve projeyi geri yüklemek de onları getirmez. Geri yüklemeden sonra Overleaf, bu arada Dropbox’ta değiştirilen dosyalardaki kendi değişikliklerini göndermeyi durdurur; böylece iki taraf birbirinden farklı olur.Böyle bir dosyayı yeniden senkronize etmek için onu Dropbox’ta bir kez daha kaydedin. Overleaf bunun üzerine Dropbox sürümünü alır: geri yüklemeden bu yana dosyada Overleaf’te yapılan değişikliklerin yerini bu sürüm alır ve bu değişiklikler proje geçmişinde kalır. Bir projeyi Dropbox’ta değiştirmeden önce geri yükleyin.
Yanıt: Bağlantı, Overleaf Cloud’da olduğu gibi dropbox.com üzerindeki Apps/<app folder>/<project> adresine gider. Dropbox Apps klasörünü çevrilmiş bir adla gösterdiğinde, örneğin Çincede 应用, bağlantı klasörü bulamaz ve Dropbox bunun yerine ana sayfasını açar. Proje klasörünü Dropbox’taki çevrilmiş Apps klasöründen açın.
Yanıt: Senkronizasyon hizmeti çalışmıyorken, örneğin yeniden başlatılırken yapılan değişiklikler daha sonra Dropbox’a gönderilmez. Düzenleyicinin Dropbox iletişim kutusunda sync this project now seçeneğine tıklayın: tüm projeyi yeniden gönderir.
Son değiştirilme tarihi 2 Kasım 2026