> ## 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.

# Synchronizace s Dropboxem

<Info>
  Tuto funkci vyvinul projekt [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). Je k dispozici od verze v6.4.0. Stále je ve stavu beta. Pokud narazíte na jakýkoli problém, uvítáme vaši zpětnou vazbu.
</Info>

Synchronizace s Dropboxem udržuje projekty uživatele synchronizované s jeho Dropboxem, stejně jako v Overleaf Cloud: jakmile uživatel propojí svůj účet Dropbox, každý jeho projekt se objeví jako složka v `Apps/<your Dropbox app>/`, změny v Overleafu se odesílají do Dropboxu a změny provedené v Dropboxu se vracejí do Overleafu.

### Nastavení synchronizace s Dropboxem

<Warning>
  Nejprve musíte povolit [git-bridge](/cs/on-premises/configuration/overleaf-toolkit/git-integration): bez něj nastavení účtu skryje sekci synchronizace projektů.

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

Vytvořte aplikaci v [Dropbox App Console](https://www.dropbox.com/developers/apps), přihlášeni účtem Dropbox, který bude aplikaci vlastnit:

1. Klikněte na **Create app** a poté vyplňte stránku:
   * **1. Choose an API**: zvolte **Scoped access**.
   * **2. Choose the type of access you need**: zvolte **App folder**, nikoli **Full Dropbox**. Overleaf synchronizuje pouze uvnitř složky aplikace.
   * **3. Name your app**: zadejte název, např. `Overleaf`. Musí být v rámci Dropboxu jedinečný. Projekty každého uživatele se objeví v jeho Dropboxu v `Apps/<name of your app>/` a tento název je níže uvedená hodnota `DROPBOX_APP_NAME`.
   * Klikněte na **Create app**. Aplikace se otevře na kartě **Settings**.
2. Na kartě **Permissions** v části **Files and folders** zaškrtněte `files.metadata.write`, `files.content.write` a `files.content.read`. Oprávnění `account_info.read` a `files.metadata.read` se zaškrtnou spolu s nimi a nelze je odškrtnout. Žádná další oprávnění nezaškrtávejte.
3. Klikněte na **Submit** v liště v dolní části karty **Permissions**. **Bez kliknutí na Submit se oprávnění neuloží** a Dropbox odmítne synchronizovat soubory uživatelům, kteří svůj účet propojí.

<Frame caption="Dropbox App Console: oprávnění, která je třeba zaškrtnout a uložit pomocí Submit">
  <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. Na kartě **Settings** v části **OAuth 2** zadejte do pole **Redirect URIs** hodnotu `${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback` a poté **klikněte na Add**. Pouhé napsání URI nestačí: uloží se teprve ve chvíli, kdy se zobrazí v seznamu nad polem.

<Frame caption="Dropbox App Console: zadejte redirect URI a poté klikněte na Add">
  <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. Na kartě **Settings** v části **Webhooks** zadejte do pole **Webhook URIs** hodnotu `${OVERLEAF_SITE_URL}/dropbox/webhook` a poté rovněž **klikněte na Add**. Dropbox ji okamžitě zavolá, aby ji ověřil, takže Overleaf už musí běžet s níže uvedeným nastavením a musí být dostupný z internetu (viz [Webhook](#webhook)). Po úspěšném ověření se zobrazí stav **Enabled**.

Zkopírujte **App key** a **App secret** (klikněte na **Show**) z karty **Settings** a poté přidejte následující nastavení do souborů s proměnnými prostředí Overleafu. Webhook (krok 5) můžete přidat, až bude Overleaf s tímto nastavením spuštěný.

```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>
  * Před konfigurací redirect URI a webhooku se ujistěte, že je `OVERLEAF_SITE_URL` nastaveno správně.
  * Dropbox stanoví oprávnění tokenu ve chvíli, kdy uživatel propojí svůj účet: odeslání oprávnění nemění již existující tokeny. Uživatelé, kteří účet propojili dříve, než byla oprávnění odeslána nebo než jste je změnili, musí propojení svého účtu Dropbox zrušit a propojit jej znovu.
  * Nová aplikace je ve stavu **Development**. Pokud je u položky **Development users** na kartě **Settings** uvedeno **Only you**, lze propojit pouze váš účet Dropbox: kliknutím na **Enable additional users** umožníte propojení i ostatním uživatelům. Poté se zobrazuje, kolik uživatelů je propojeno, např. `1 / 500`: **aplikace ve stavu Development pojme nejvýše 500 uživatelů**. Pro více uživatelů klikněte na **Apply for production** a Dropbox aplikaci posoudí.
</Warning>

Pokud se nacházíte v regionu s omezeným přístupem k síti, možná budete muset pro přístup k Dropboxu nakonfigurovat proxy. Nastavte následující proměnnou prostředí: `DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808`. Musí jít o standardní dopřednou HTTP/HTTPS proxy a nesmí používat `127.0.0.1`.

### Webhook

Dropbox informuje Overleaf o změnách v Dropboxu pomocí webhooku, takže se v Overleafu projeví během několika sekund. Webhook směřuje na adresu vašeho webu, `${OVERLEAF_SITE_URL}/dropbox/webhook`, a není potřeba žádný další port, ale **Dropbox se k němu musí dostat z internetu**. Když jej přidáte v App Console, Dropbox jej okamžitě ověří.

Bez webhooku, například na serveru, ke kterému se Dropbox nedostane, se změny v Overleafu do Dropboxu stále odesílají, ale změny v Dropboxu se vrátí pouze tehdy, když uživatel klikne na *sync this project now* v dialogu Dropboxu v editoru.

### Jak synchronizace funguje

* **Propojení**: když uživatel propojí svůj účet Dropbox, projekty, které vlastní, se odešlou do Dropboxu. Projekty s ním sdílené se v Dropboxu objeví při své další změně.
* **Z Overleafu do Dropboxu**: nové soubory, přejmenování, přesuny, smazání a přejmenování projektů se odesílají okamžitě. Úpravy v editoru se odešlou, jakmile je Overleaf uloží do svého úložiště, tedy několik minut poté, co všichni projekt opustí. Chcete-li je odeslat dříve, klikněte na *sync this project now* v dialogu Dropboxu v editoru (jednou za minutu).
* **Z Dropboxu do Overleafu**: nové a změněné soubory, nové složky a smazání ve složce projektu se v projektu použijí. Nová složka v nejvyšší úrovni složky aplikace se stane novým projektem. Smazání složky projektu v Dropboxu označí projekt v Overleafu jako smazaný.
* **Konflikty**: když se soubor změní na obou místech současně, platí poslední změna. Dropbox může druhou verzi ponechat jako *conflicted copy*.
* **Spolupracovníci**: spolupracovníci, kteří propojí svůj Dropbox, získají projekty, které s nimi byly sdíleny. Čtenáři s oprávněním pouze ke čtení a recenzenti projekt získají, ale jejich změny v Dropboxu se do Overleafu nesynchronizují.
* **Ignorované soubory**: soubory, které Overleaf nesynchronizuje, jako výstupy sestavení (`.aux`, `.log`, …), `.DS_Store` nebo virtuální prostředí Pythonu, zůstávají pouze v Dropboxu.

### Q\&A

<Accordion title="Proč uživatel nemůže propojit svůj účet Dropbox?">
  <strong>Odpověď:</strong>

  * Projekty se se složkami v Dropboxu párují podle názvu, takže uživatel, který má dva projekty se stejným názvem, je vyzván, aby jeden z nich nejprve přejmenoval.
  * Účet Dropbox lze propojit pouze s jedním účtem Overleaf.
</Accordion>

<Accordion title="Proč bylo propojení účtu Dropbox zrušeno?">
  <strong>Odpověď:</strong> Overleaf zruší propojení účtu Dropbox, když Dropbox odmítne jeho token (například poté, co uživatel aplikaci v Dropboxu odebral), když je Dropbox plný nebo když Dropbox účet pozastavil. Po vyřešení problému může uživatel účet znovu propojit.
</Accordion>

<Accordion title="Mohu v Dropboxu přejmenovat složku projektu?">
  <strong>Odpověď:</strong> Přejmenujte prosím místo toho projekt v Overleafu. Pro Overleaf znamená přejmenování složky v Dropboxu smazání složky projektu a vytvoření nové, takže starý projekt se označí jako smazaný a ze souborů se vytvoří nový projekt.
</Accordion>


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