Denne funksjonen er utviklet av ayaka-notes/ayakaleaf-pro. Den er introdusert fra og med v6.4.0. Den er fortsatt i betastatus. Vi trenger tilbakemeldingen din hvis du får problemer.
Apps/<your Dropbox app>/, endringer i Overleaf sendes til Dropbox, og endringer som gjøres i Dropbox, kommer tilbake til Overleaf.
Sette opp Dropbox-synkronisering
Opprett en app i Dropbox App Console, pålogget med Dropbox-kontoen som skal eie appen:- Klikk Create app, og fyll deretter ut siden:
- 1. Choose an API: velg Scoped access.
- 2. Choose the type of access you need: velg App folder, ikke Full Dropbox. Overleaf synkroniserer bare innenfor mappen til appen.
- 3. Name your app: skriv inn et navn, f.eks.
Overleaf. Det må være unikt på Dropbox. Prosjektene til hver bruker vises iApps/<name of your app>/i Dropbox-en deres, og dette navnet erDROPBOX_APP_NAMEnedenfor. - Klikk Create app. Appen åpnes på fanen Settings.
- På fanen Permissions, under Files and folders, krysser du av for
files.metadata.write,files.content.writeogfiles.content.read.account_info.readogfiles.metadata.readkrysses av sammen med dem og kan ikke fjernes. Ikke kryss av for andre tillatelser. - Klikk Submit i linjen nederst på fanen Permissions. Uten Submit lagres ikke tillatelsene, og Dropbox nekter å synkronisere filer for brukerne som kobler til kontoen sin.

Dropbox App Console: tillatelsene som skal krysses av, lagret med Submit
- På fanen Settings, under OAuth 2, skriver du inn
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbacki Redirect URIs og klikker deretter Add. Det er ikke nok å skrive inn URI-en: den lagres først når den vises i listen over feltet.

Dropbox App Console: skriv inn redirect-URI-en, og klikk deretter Add
- På fanen Settings, under Webhooks, skriver du inn
${OVERLEAF_SITE_URL}/dropbox/webhooki Webhook URIs og klikker Add her også. Dropbox kaller den med en gang for å kontrollere den, så Overleaf må allerede kjøre med innstillingene nedenfor og være tilgjengelig fra internett (se Webhook). Statusen viser Enabled når kontrollen er bestått.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Det må være en vanlig HTTP/HTTPS-videresendingsproxy, og den må ikke bruke 127.0.0.1.
Webhook
Dropbox varsler Overleaf om endringer i Dropbox via en webhook, slik at de vises i Overleaf i løpet av sekunder. Webhooken går til adressen til nettstedet ditt,${OVERLEAF_SITE_URL}/dropbox/webhook, og ingen ekstra port er nødvendig, men Dropbox må kunne nå den fra internett. Når du legger den til i App Console, kontrollerer Dropbox den med en gang.
Uten en webhook, for eksempel på en server som Dropbox ikke kan nå, sendes endringer i Overleaf fortsatt til Dropbox, men endringer i Dropbox kommer bare tilbake når en bruker klikker sync this project now i Dropbox-dialogboksen i editoren.
Slik fungerer synkroniseringen
- Tilkobling: når en bruker kobler til Dropbox-kontoen sin, sendes prosjektene brukeren eier, til Dropbox. Prosjekter som er delt med brukeren, vises i Dropbox ved neste endring.
- Overleaf til Dropbox: nye filer, navneendringer, flyttinger, slettinger og nye prosjektnavn sendes med en gang. Endringer i editoren sendes når Overleaf lagrer dem i lagringen sin, noen minutter etter at alle har forlatt prosjektet. For å sende dem tidligere klikker du sync this project now i Dropbox-dialogboksen i editoren (én gang per minutt).
- Dropbox til Overleaf: nye og endrede filer, nye mapper og slettinger i en prosjektmappe brukes på prosjektet. En ny mappe øverst i appmappen blir et nytt prosjekt. Hvis en prosjektmappe slettes i Dropbox, merkes prosjektet som slettet i Overleaf.
- Konflikter: når en fil endres begge steder samtidig, vinner den siste endringen. Dropbox kan beholde den andre versjonen som en conflicted copy.
- Samarbeidspartnere: samarbeidspartnere som kobler til Dropbox-en sin, får prosjektene som er delt med dem. Brukere med kun lesetilgang og korrekturlesere får prosjektet, men endringene deres i Dropbox synkroniseres ikke tilbake til Overleaf.
- Ignorerte filer: filer som Overleaf ikke synkroniserer, som byggeresultater (
.aux,.log, …),.DS_Storeeller virtuelle Python-miljøer, blir bare liggende i Dropbox.
Q&A
Hvorfor kan ikke en bruker koble til Dropbox-kontoen sin?
Hvorfor kan ikke en bruker koble til Dropbox-kontoen sin?
- Prosjekter matches med Dropbox-mapper etter navn, så en bruker som har to prosjekter med samme navn, blir bedt om å gi et av dem nytt navn først.
- En Dropbox-konto kan bare kobles til én Overleaf-konto.
Hvorfor ble en Dropbox-konto koblet fra?
Hvorfor ble en Dropbox-konto koblet fra?
Svar: Overleaf kobler fra en Dropbox-konto når Dropbox avviser tokenet (for eksempel etter at brukeren har fjernet appen i Dropbox), når Dropbox-en er full, eller når Dropbox har suspendert kontoen. Brukeren kan koble den til igjen når problemet er løst.

