Apps/<your Dropbox app>/, worden wijzigingen in Overleaf naar Dropbox gestuurd en komen wijzigingen in Dropbox terug in Overleaf.
Dropbox-synchronisatie instellen
Maak een app aan in de Dropbox App Console, aangemeld met het Dropbox-account dat eigenaar van de app wordt:- 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 inApps/<name of your app>/in zijn Dropbox, en deze naam isDROPBOX_APP_NAMEhieronder. - Klik op Create app. De app opent op het tabblad Settings.
- Vink op het tabblad Permissions onder Files and folders
files.metadata.write,files.content.writeenfiles.content.readaan.account_info.readenfiles.metadata.readworden daarmee ook aangevinkt en kunnen niet worden uitgevinkt. Vink geen andere rechten aan. - 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.

Dropbox App Console: de aan te vinken rechten, opgeslagen met Submit
- Voer op het tabblad Settings onder OAuth 2
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackin 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.

Dropbox App Console: voer de redirect-URI in en klik op Add
- Voer op het tabblad Settings onder Webhooks
${OVERLEAF_SITE_URL}/dropbox/webhookin 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). De status toont Enabled zodra de controle is geslaagd.
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.
De database-indexen aanmaken
Voer dit eenmalig uit, voordat gebruikers hun Dropbox-account koppelen. De indexen die Dropbox-synchronisatie gebruikt, worden niet automatisch aangemaakt, dus zonder deze indexen doorzoekt elke synchronisatie-opzoeking de hele collectie. Toolkit-gebruikers: voerbin/mongo uit. Docker Compose-gebruikers: voer docker compose exec mongo mongosh sharelatex uit. Plak daarna:
dropboxEntities-migraties van tools/migrations uit: 20220825160708_recreate_dropboxEntities verwijdert de collectie, waardoor de synchronisatiestatus van elke gebruiker wordt gewist.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_Storeof virtuele Python-omgevingen, blijven alleen in Dropbox.
Q&A
Waarom kan een gebruiker zijn Dropbox-account niet koppelen?
Waarom kan een gebruiker zijn Dropbox-account niet koppelen?
- Een Dropbox-map die Overleaf nog niet kent, wordt op naam aan een project gekoppeld, dus een gebruiker van wie projecten dezelfde naam hebben, wordt gevraagd ze eerst te hernoemen. Namen worden zonder onderscheid tussen hoofdletters en kleine letters vergeleken, en gearchiveerde projecten en projecten in de prullenbak tellen ook mee.
- Een Dropbox-account kan maar aan één Overleaf-account worden gekoppeld.
Waarom is de koppeling van een Dropbox-account verbroken?
Waarom is de koppeling van een Dropbox-account verbroken?
Kan ik een projectmap in Dropbox hernoemen?
Kan ik een projectmap in Dropbox hernoemen?
Waarom zijn sommige projectmappen genummerd, zoals ‘Thesis (1)’?
Waarom zijn sommige projectmappen genummerd, zoals ‘Thesis (1)’?
Wat gebeurt er als ik een projectmap in Dropbox verwijder?
Wat gebeurt er als ik een projectmap in Dropbox verwijder?
- Als geen ander project de naam van de map heeft, wordt het project in Overleaf als verwijderd gemarkeerd. De bestanden en de geschiedenis blijven bewaard.
- Als meerdere projecten die naam hebben, kan Overleaf niet bepalen bij welk project de map hoorde. Het verbreekt de koppeling van het Dropbox-account en toont een melding met het verzoek de projecten te hernoemen. Geef projecten verschillende namen voordat je hun mappen in Dropbox verwijdert.
- Een genummerde map, zoals “Thesis (1)”, komt met geen enkele projectnaam overeen, dus het verwijderen ervan verandert niets aan het project in Overleaf. Klik op sync this project now in het Dropbox-dialoogvenster van de editor om het project opnieuw naar Dropbox te sturen.
Wat gebeurt er in Dropbox als ik een project in Overleaf verwijder?
Wat gebeurt er in Dropbox als ik een project in Overleaf verwijder?
Wat gebeurt er met wijzigingen in Dropbox terwijl een project is gearchiveerd of in de prullenbak staat?
Wat gebeurt er met wijzigingen in Dropbox terwijl een project is gearchiveerd of in de prullenbak staat?
Waarom opent de Dropbox-link van de editor de startpagina van Dropbox?
Waarom opent de Dropbox-link van de editor de startpagina van Dropbox?
Apps/<app folder>/<project> op dropbox.com, zoals op Overleaf Cloud. Wanneer Dropbox de map Apps onder een vertaalde naam toont, bijvoorbeeld 应用 in het Chinees, vindt de link de map niet en opent Dropbox in plaats daarvan de startpagina. Open de projectmap vanuit de vertaalde map Apps in Dropbox.Waarom ontbreken sommige bestanden van een project in Dropbox?
Waarom ontbreken sommige bestanden van een project in Dropbox?

