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

<Info>
  Deze functie is ontwikkeld door [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). Ze is geïntroduceerd in v6.4.0 en latere versies. Ze bevindt zich nog in de bètafase. We horen graag je feedback als je problemen hebt.
</Info>

Dropbox-synchronisatie houdt de projecten van een gebruiker gesynchroniseerd met zijn Dropbox, zoals op Overleaf Cloud: zodra een gebruiker zijn Dropbox-account koppelt, verschijnt elk van zijn projecten als map in `Apps/<your Dropbox app>/`, worden wijzigingen in Overleaf naar Dropbox gestuurd en komen wijzigingen in Dropbox terug in Overleaf.

### Dropbox-synchronisatie instellen

<Warning>
  Je moet eerst [git-bridge](/nl/on-premises/configuration/overleaf-toolkit/git-integration) inschakelen: zonder git-bridge verbergen de accountinstellingen het onderdeel voor projectsynchronisatie.

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

Maak een app aan in de [Dropbox App Console](https://www.dropbox.com/developers/apps), aangemeld met het Dropbox-account dat eigenaar van de app wordt:

1. Klik op **Create app** en vul de pagina in:
   * **1. Choose an API**: selecteer **Scoped access**.
   * **2. Choose the type of access you need**: selecteer **App folder**, niet **Full Dropbox**. Overleaf synchroniseert alleen binnen de map van de app.
   * **3. Name your app**: voer een naam in, bijvoorbeeld `Overleaf`. Deze moet uniek zijn op Dropbox. De projecten van elke gebruiker verschijnen in `Apps/<name of your app>/` in zijn Dropbox, en deze naam is `DROPBOX_APP_NAME` hieronder.
   * Klik op **Create app**. De app opent op het tabblad **Settings**.
2. Vink op het tabblad **Permissions** onder **Files and folders** `files.metadata.write`, `files.content.write` en `files.content.read` aan. `account_info.read` en `files.metadata.read` worden daarmee ook aangevinkt en kunnen niet worden uitgevinkt. Vink geen andere rechten aan.
3. Klik op **Submit** in de balk onderaan het tabblad **Permissions**. **Zonder Submit worden de rechten niet opgeslagen**, en weigert Dropbox bestanden te synchroniseren voor de gebruikers die hun account koppelen.

<Frame caption="Dropbox App Console: de aan te vinken rechten, opgeslagen met 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. Voer op het tabblad **Settings** onder **OAuth 2** `${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback` in bij **Redirect URIs** en **klik op Add**. Alleen de URI typen is niet genoeg: deze wordt pas opgeslagen zodra hij in de lijst boven het veld verschijnt.

<Frame caption="Dropbox App Console: voer de redirect-URI in en klik op 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. Voer op het tabblad **Settings** onder **Webhooks** `${OVERLEAF_SITE_URL}/dropbox/webhook` in bij **Webhook URIs** en **klik** ook hier **op Add**. Dropbox roept de URI meteen aan om hem te controleren, dus Overleaf moet al draaien met de onderstaande instellingen en bereikbaar zijn vanaf het internet (zie [Webhook](#webhook)). De status toont **Enabled** zodra de controle is geslaagd.

Kopieer de **App key** en het **App secret** (klik op **Show**) van het tabblad **Settings** en voeg vervolgens de volgende instellingen toe aan je Overleaf-omgevingsvariabelenbestanden. Je kunt de webhook (stap 5) toevoegen nadat Overleaf met deze instellingen draait.

```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>
  * Zorg ervoor dat `OVERLEAF_SITE_URL` correct is ingesteld voordat je de redirect-URI en de webhook configureert.
  * Dropbox legt de rechten van een token vast wanneer de gebruiker zijn account koppelt: het indienen van rechten wijzigt bestaande tokens niet. Gebruikers die hun account hebben gekoppeld voordat de rechten werden ingediend, of voordat je ze hebt gewijzigd, moeten de koppeling van hun Dropbox-account verbreken en het opnieuw koppelen.
  * Een nieuwe app heeft de status **Development**. Als **Development users** op het tabblad **Settings** **Only you** toont, kan alleen jouw Dropbox-account worden gekoppeld: klik op **Enable additional users** zodat andere gebruikers hun account kunnen koppelen. Daarna wordt getoond hoeveel gebruikers hebben gekoppeld, bijvoorbeeld `1 / 500`: **een Development-app staat maximaal 500 gebruikers toe**. Klik voor meer gebruikers op **Apply for production**, waarna Dropbox de app beoordeelt.
</Warning>

Als je je in een regio met beperkte netwerktoegang bevindt, moet je mogelijk een proxy configureren om Dropbox te bereiken. Stel de volgende omgevingsvariabele in: `DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808`. Dit moet een standaard HTTP/HTTPS-forwardproxy zijn en mag geen `127.0.0.1` gebruiken.

### Webhook

Dropbox meldt wijzigingen in Dropbox aan Overleaf via een webhook, zodat ze binnen enkele seconden in Overleaf verschijnen. De webhook gaat naar het adres van je site, `${OVERLEAF_SITE_URL}/dropbox/webhook`. Er is geen extra poort nodig, maar **Dropbox moet hem vanaf het internet kunnen bereiken**. Wanneer je hem toevoegt in de App Console, controleert Dropbox hem meteen.

Zonder webhook, bijvoorbeeld op een server die Dropbox niet kan bereiken, worden wijzigingen in Overleaf nog steeds naar Dropbox gestuurd, maar komen wijzigingen in Dropbox pas terug wanneer een gebruiker op *sync this project now* klikt in het Dropbox-dialoogvenster van de editor.

### Hoe synchroniseren werkt

* **Koppelen**: wanneer een gebruiker zijn Dropbox-account koppelt, worden de projecten waarvan hij eigenaar is naar Dropbox gestuurd. Projecten die met hem zijn gedeeld, verschijnen in Dropbox bij hun volgende wijziging.
* **Overleaf naar Dropbox**: nieuwe bestanden, hernoemingen, verplaatsingen, verwijderingen en hernoemde projecten worden meteen verstuurd. Bewerkingen in de editor worden verstuurd zodra Overleaf ze in zijn opslag bewaart, enkele minuten nadat iedereen het project heeft verlaten. Om ze eerder te versturen, klik je op *sync this project now* in het Dropbox-dialoogvenster van de editor (eenmaal per minuut).
* **Dropbox naar Overleaf**: nieuwe en gewijzigde bestanden, nieuwe mappen en verwijderingen in een projectmap worden op het project toegepast. Een nieuwe map op het hoogste niveau van de app-map wordt een nieuw project. Als je een projectmap in Dropbox verwijdert, wordt het project in Overleaf als verwijderd gemarkeerd.
* **Conflicten**: wanneer een bestand op beide plaatsen tegelijk wordt gewijzigd, wint de laatste wijziging. Dropbox kan de andere versie bewaren als *conflicted copy*.
* **Medewerkers**: medewerkers die hun Dropbox koppelen, krijgen de projecten die met hen zijn gedeeld. Kijkers met alleen leesrechten en reviewers krijgen het project, maar hun wijzigingen in Dropbox worden niet teruggesynchroniseerd naar Overleaf.
* **Genegeerde bestanden**: bestanden die Overleaf niet synchroniseert, zoals build-uitvoer (`.aux`, `.log`, …), `.DS_Store` of virtuele Python-omgevingen, blijven alleen in Dropbox.

### Q\&A

<Accordion title="Waarom kan een gebruiker zijn Dropbox-account niet koppelen?">
  <strong>Antwoord:</strong>

  * Projecten worden op naam aan Dropbox-mappen gekoppeld, dus een gebruiker met twee projecten met dezelfde naam wordt gevraagd eerst een ervan te hernoemen.
  * Een Dropbox-account kan maar aan één Overleaf-account worden gekoppeld.
</Accordion>

<Accordion title="Waarom is de koppeling van een Dropbox-account verbroken?">
  <strong>Antwoord:</strong> Overleaf verbreekt de koppeling van een Dropbox-account wanneer Dropbox het token weigert (bijvoorbeeld nadat de gebruiker de app in Dropbox heeft verwijderd), wanneer de Dropbox vol is of wanneer Dropbox het account heeft opgeschort. De gebruiker kan het account opnieuw koppelen zodra het probleem is opgelost.
</Accordion>

<Accordion title="Kan ik een projectmap in Dropbox hernoemen?">
  <strong>Antwoord:</strong> Hernoem het project liever in Overleaf. Voor Overleaf betekent het hernoemen van de map in Dropbox dat de projectmap wordt verwijderd en een nieuwe wordt aangemaakt. Het oude project wordt dus als verwijderd gemarkeerd en er wordt een nieuw project gemaakt op basis van de bestanden.
</Accordion>


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