Den här funktionen är utvecklad av ayaka-notes/ayakaleaf-pro. Den introducerades i v6.4.0 och finns i senare versioner. Den är fortfarande i betastatus. Vi behöver din återkoppling om du stöter på problem.
Apps/<your Dropbox app>/, ändringar i Overleaf skickas till Dropbox och ändringar som görs i Dropbox kommer tillbaka till Overleaf.
Konfigurera Dropbox-synkronisering
Skapa en app i Dropbox App Console, inloggad med det Dropbox-konto som ska äga appen:- Klicka på Create app och fyll sedan i sidan:
- 1. Choose an API: välj Scoped access.
- 2. Choose the type of access you need: välj App folder, inte Full Dropbox. Overleaf synkroniserar bara inuti appens mapp.
- 3. Name your app: ange ett namn, t.ex.
Overleaf. Det måste vara unikt på Dropbox. Varje användares projekt visas iApps/<name of your app>/i användarens Dropbox, och det här namnet ärDROPBOX_APP_NAMEnedan. - Klicka på Create app. Appen öppnas på fliken Settings.
- På fliken Permissions, under Files and folders, markerar du
files.metadata.write,files.content.writeochfiles.content.read.account_info.readochfiles.metadata.readmarkeras tillsammans med dem och kan inte avmarkeras. Markera inga andra behörigheter. - Klicka på Submit i fältet längst ned på fliken Permissions. Utan Submit sparas inte behörigheterna, och Dropbox vägrar då att synkronisera filer för de användare som länkar sitt konto.

Dropbox App Console: behörigheterna som ska markeras, sparade med Submit
- På fliken Settings, under OAuth 2, anger du
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbacki Redirect URIs och klickar sedan på Add. Det räcker inte att skriva in URI:n: den sparas först när den visas i listan ovanför fältet.

Dropbox App Console: ange redirect-URI:n och klicka sedan på Add
- På fliken Settings, under Webhooks, anger du
${OVERLEAF_SITE_URL}/dropbox/webhooki Webhook URIs och klickar sedan på Add även här. Dropbox anropar den direkt för att kontrollera den, så Overleaf måste redan köras med inställningarna nedan och vara nåbar från internet (se Webhook). Dess status visar Enabled när kontrollen har godkänts.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Det måste vara en vanlig HTTP/HTTPS-framåtproxy och får inte använda 127.0.0.1.
Webhook
Dropbox meddelar Overleaf om ändringar i Dropbox via en webhook, så att de syns i Overleaf inom några sekunder. Webhooken går till din webbplats adress,${OVERLEAF_SITE_URL}/dropbox/webhook, och ingen extra port behövs, men Dropbox måste kunna nå den från internet. När du lägger till den i App Console kontrollerar Dropbox den direkt.
Utan webhook, till exempel på en server som Dropbox inte kan nå, skickas ändringar i Overleaf fortfarande till Dropbox, men ändringar i Dropbox kommer bara tillbaka när en användare klickar på sync this project now i Dropbox-dialogrutan i redigeraren.
Så fungerar synkroniseringen
- Länkning: när en användare länkar sitt Dropbox-konto skickas de projekt som användaren äger till Dropbox. Projekt som delats med användaren visas i Dropbox vid sin nästa ändring.
- Från Overleaf till Dropbox: nya filer, namnbyten, flyttningar, borttagningar och namnbyten på projekt skickas direkt. Ändringar i redigeraren skickas när Overleaf sparar dem i sin lagring, några minuter efter att alla har lämnat projektet. För att skicka dem tidigare klickar du på sync this project now i Dropbox-dialogrutan i redigeraren (en gång per minut).
- Från Dropbox till Overleaf: nya och ändrade filer, nya mappar och borttagningar i en projektmapp tillämpas på projektet. En ny mapp högst upp i appmappen blir ett nytt projekt. Om du tar bort en projektmapp i Dropbox markeras projektet som borttaget i Overleaf.
- Konflikter: när en fil ändras på båda ställena samtidigt vinner den senaste ändringen. Dropbox kan spara den andra versionen som en conflicted copy.
- Medarbetare: medarbetare som länkar sin Dropbox får de projekt som delats med dem. Användare med endast läsbehörighet och granskare får projektet, men deras ändringar i Dropbox synkroniseras inte tillbaka till Overleaf.
- Ignorerade filer: filer som Overleaf inte synkroniserar, som byggutdata (
.aux,.log, …),.DS_Storeeller virtuella Python-miljöer, finns bara kvar i Dropbox.
Q&A
Varför kan en användare inte länka sitt Dropbox-konto?
Varför kan en användare inte länka sitt Dropbox-konto?
- Projekt matchas mot Dropbox-mappar efter namn, så en användare som har två projekt med samma namn ombeds först byta namn på ett av dem.
- Ett Dropbox-konto kan bara länkas till ett Overleaf-konto.
Varför avlänkades ett Dropbox-konto?
Varför avlänkades ett Dropbox-konto?
Svar: Overleaf avlänkar ett Dropbox-konto när Dropbox avvisar dess token (till exempel efter att användaren har tagit bort appen i Dropbox), när Dropbox-lagringen är full eller när Dropbox har stängt av kontot. Användaren kan länka det igen när problemet är löst.
Kan jag byta namn på en projektmapp i Dropbox?
Kan jag byta namn på en projektmapp i Dropbox?
Svar: Byt i stället namn på projektet i Overleaf. För Overleaf innebär ett namnbyte av mappen i Dropbox att projektmappen tas bort och en ny skapas, så det gamla projektet markeras som borttaget och ett nytt projekt skapas från filerna.

