> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Dropbox Senkronizasyonu

<Info>
  Bu özellik [ayaka-notes/ayakaleaf-pro](https://github.com/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.
</Info>

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

<Warning>
  Önce [git-bridge](/tr/on-premises/configuration/overleaf-toolkit/git-integration) özelliğini etkinleştirmeniz gerekir: bu olmadan hesap ayarları proje senkronizasyonu bölümünü gizler.

  ```dotenv title="config/overleaf.rc" theme={null}
  GIT_BRIDGE_ENABLED=true
  ```
</Warning>

Uygulamanın sahibi olacak Dropbox hesabıyla oturum açarak [Dropbox App Console](https://www.dropbox.com/developers/apps) ü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.

<Frame caption="Dropbox App Console: işaretlenecek izinler, Submit ile kaydedilir">
  <img src="https://mintcdn.com/ayakaleaf-pro/34P8O6kHo91beEvQ/images/on-premises/dropbox-app-permissions.png?fit=max&auto=format&n=34P8O6kHo91beEvQ&q=85&s=8e99711b1fcf03d3d1655f65fea3a6b8" alt="" width="2302" height="1444" data-path="images/on-premises/dropbox-app-permissions.png" />
</Frame>

4. **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.

<Frame caption="Dropbox App Console: yönlendirme URI'sini girin, ardından Add düğmesine tıklayın">
  <img src="https://mintcdn.com/ayakaleaf-pro/34P8O6kHo91beEvQ/images/on-premises/dropbox-app-redirect-uri.png?fit=max&auto=format&n=34P8O6kHo91beEvQ&q=85&s=d980dc4dec22a90b5bf1f7e147cfc7c0" alt="" width="2788" height="1450" data-path="images/on-premises/dropbox-app-redirect-uri.png" />
</Frame>

5. **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](#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.

```dotenv title="config/variables.env" wrap theme={null}
# used to encrypt the user's Dropbox refresh token.
# How to generate: `openssl rand -hex 32`
DROPBOX_TOKEN_CIPHER_PASSWORD=0123456789ABCDEFG # changed to yours

# Dropbox Sync Settings
DROPBOX_ENABLED=true
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=
# the name of your Dropbox app (step 1), which is the folder name in Apps/
DROPBOX_APP_NAME=Overleaf

# OAuth callback is: ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback
# Webhook is: ${OVERLEAF_SITE_URL}/dropbox/webhook
# (Optional) DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808
```

<Warning>
  * 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.
</Warning>

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

<Accordion title="Bir kullanıcı Dropbox hesabını neden bağlayamıyor?">
  <strong>Yanıt:</strong>

  * 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.
</Accordion>

<Accordion title="Bir Dropbox hesabının bağlantısı neden kaldırıldı?">
  <strong>Yanıt:</strong> 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.
</Accordion>

<Accordion title="Dropbox'ta bir proje klasörünü yeniden adlandırabilir miyim?">
  <strong>Yanıt:</strong> 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.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.