Denne funktion er udviklet af ayaka-notes/ayakaleaf-pro. Den er introduceret i v6.4.0 og senere. Den er stadig i betastatus. Vi har brug for din feedback, hvis du oplever problemer.
Apps/<your Dropbox app>/, ændringer i Overleaf sendes til Dropbox, og ændringer foretaget i Dropbox kommer tilbage til Overleaf.
Opsætning af Dropbox-synkronisering
Opret en app i Dropbox App Console, mens du er logget ind med den Dropbox-konto, der skal eje appen:- Klik på Create app, og udfyld derefter siden:
- 1. Choose an API: vælg Scoped access.
- 2. Choose the type of access you need: vælg App folder, ikke Full Dropbox. Overleaf synkroniserer kun inden for appens mappe.
- 3. Name your app: angiv et navn, f.eks.
Overleaf. Det skal være unikt på Dropbox. Hver brugers projekter vises iApps/<name of your app>/i brugerens Dropbox, og dette navn erDROPBOX_APP_NAMEnedenfor. - Klik på Create app. Appen åbnes på fanen Settings.
- På fanen Permissions skal du under Files and folders markere
files.metadata.write,files.content.writeogfiles.content.read.account_info.readogfiles.metadata.readmarkeres sammen med dem og kan ikke fravælges. Markér ikke andre tilladelser. - Klik på Submit i bjælken nederst på fanen Permissions. Uden Submit gemmes tilladelserne ikke, og Dropbox nægter at synkronisere filer for de brugere, der tilknytter deres konto.

Dropbox App Console: de tilladelser, der skal markeres og gemmes med Submit
- På fanen Settings skal du under OAuth 2 angive
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbacki Redirect URIs og derefter klikke på Add. Det er ikke nok at skrive URI’en: den gemmes først, når den vises i listen over feltet.

Dropbox App Console: angiv redirect-URI'en, og klik derefter på Add
- På fanen Settings skal du under Webhooks angive
${OVERLEAF_SITE_URL}/dropbox/webhooki Webhook URIs og derefter også klikke på Add. Dropbox kalder den med det samme for at kontrollere den, så Overleaf skal allerede køre med indstillingerne nedenfor og kunne nås fra internettet (se Webhook). Dens status viser Enabled, når kontrollen er bestået.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Det skal være en almindelig HTTP/HTTPS-videresendelsesproxy, og den må ikke bruge 127.0.0.1.
Webhook
Dropbox fortæller Overleaf om ændringer i Dropbox via en webhook, så de vises i Overleaf inden for få sekunder. Webhooken sendes til dit websteds adresse,${OVERLEAF_SITE_URL}/dropbox/webhook. Der kræves ingen ekstra port, men Dropbox skal kunne nå den fra internettet. Når du tilføjer den i App Console, kontrollerer Dropbox den med det samme.
Uden en webhook, for eksempel på en server som Dropbox ikke kan nå, sendes ændringer i Overleaf stadig til Dropbox, men ændringer i Dropbox kommer først tilbage, når en bruger klikker på sync this project now i editorens Dropbox-dialog.
Sådan fungerer synkronisering
- Tilknytning: når en bruger tilknytter sin Dropbox-konto, sendes de projekter, brugeren ejer, til Dropbox. Projekter, der er delt med brugeren, vises i Dropbox ved deres næste ændring.
- Overleaf til Dropbox: nye filer, omdøbninger, flytninger, sletninger og omdøbninger af projekter sendes med det samme. Redigeringer i editoren sendes, når Overleaf gemmer dem i sit lager, nogle minutter efter at alle har forladt projektet. For at sende dem tidligere skal du klikke på sync this project now i editorens Dropbox-dialog (én gang i minuttet).
- Dropbox til Overleaf: nye og ændrede filer, nye mapper og sletninger i en projektmappe anvendes på projektet. En ny mappe øverst i appmappen bliver til et nyt projekt. Hvis en projektmappe slettes i Dropbox, markeres projektet som slettet i Overleaf.
- Konflikter: når en fil ændres begge steder på samme tid, vinder den seneste ændring. Dropbox kan beholde den anden version som en conflicted copy.
- Samarbejdspartnere: samarbejdspartnere, der tilknytter deres Dropbox, får de projekter, der er delt med dem. Seere med kun læseadgang og korrekturlæsere får projektet, men deres ændringer i Dropbox synkroniseres ikke tilbage til Overleaf.
- Ignorerede filer: filer, som Overleaf ikke synkroniserer, f.eks. build-output (
.aux,.log, …),.DS_Storeeller virtuelle Python-miljøer, forbliver kun i Dropbox.
Q&A
Hvorfor kan en bruger ikke tilknytte sin Dropbox-konto?
Hvorfor kan en bruger ikke tilknytte sin Dropbox-konto?
- Projekter matches med Dropbox-mapper efter navn, så en bruger, der har to projekter med samme navn, bliver bedt om først at omdøbe et af dem.
- En Dropbox-konto kan kun tilknyttes én Overleaf-konto.
Hvorfor blev tilknytningen til en Dropbox-konto fjernet?
Hvorfor blev tilknytningen til en Dropbox-konto fjernet?
Svar: Overleaf fjerner tilknytningen til en Dropbox-konto, når Dropbox afviser dens token (for eksempel efter at brugeren har fjernet appen i Dropbox), når Dropbox er fuld, eller når Dropbox har suspenderet kontoen. Brugeren kan tilknytte den igen, når problemet er løst.
Kan jeg omdøbe en projektmappe i Dropbox?
Kan jeg omdøbe en projektmappe i Dropbox?
Svar: Omdøb i stedet projektet i Overleaf. For Overleaf betyder en omdøbning af mappen i Dropbox, at projektmappen slettes, og en ny oprettes, så det gamle projekt markeres som slettet, og et nyt projekt oprettes ud fra filerne.

