Skip to main content
Denne funksjonen er utviklet av ayaka-notes/ayakaleaf-pro. Den er introdusert i v6.3.1 som en tidlig forhåndsversjon (early preview) og blir offisielt lansert i v6.4.0, så konfigurasjonen og virkemåten kan fortsatt endres. Vi trenger tilbakemeldingen din hvis du får problemer.
Dropbox-synkronisering holder prosjektene til en bruker synkronisert med Dropbox-en deres, slik som på Overleaf Cloud: når en bruker har koblet til Dropbox-kontoen sin, vises hvert av prosjektene deres som en mappe i 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

Du må aktivere git-bridge først: uten den skjuler kontoinnstillingene delen for prosjektsynkronisering.
config/overleaf.rc
Opprett en app i Dropbox App Console, pålogget med Dropbox-kontoen som skal eie appen:
  1. 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 i Apps/<name of your app>/ i Dropbox-en deres, og dette navnet er DROPBOX_APP_NAME nedenfor.
    • Klikk Create app. Appen åpnes på fanen Settings.
  2. På fanen Permissions, under Files and folders, krysser du av for files.metadata.write, files.content.write og files.content.read. account_info.read og files.metadata.read krysses av sammen med dem og kan ikke fjernes. Ikke kryss av for andre tillatelser.
  3. 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

  1. På fanen Settings, under OAuth 2, skriver du inn ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback i 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

  1. På fanen Settings, under Webhooks, skriver du inn ${OVERLEAF_SITE_URL}/dropbox/webhook i 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.
Kopier App key og App secret (klikk Show) fra fanen Settings, og legg deretter til følgende innstillinger i Overleaf-miljøvariabelfilene dine. Du kan legge til webhooken (trinn 5) etter at Overleaf kjører med dem.
config/variables.env
  • Før du konfigurerer redirect-URI-en og webhooken, må du sørge for at OVERLEAF_SITE_URL er riktig satt.
  • Dropbox fastsetter tillatelsene til et token når brukeren kobler til kontoen sin: å sende inn tillatelser endrer ikke eksisterende tokener. Brukere som koblet til før tillatelsene ble sendt inn, eller før du endret dem, må koble fra og koble til Dropbox-kontoen sin på nytt.
  • En ny app har statusen Development. Hvis Development users på fanen Settings viser Only you, kan bare din egen Dropbox-konto kobles til: klikk Enable additional users for å la andre brukere koble til sine. Deretter vises hvor mange brukere som har koblet til, f.eks. 1 / 500: en app i Development-status tar maksimalt 500 brukere. For flere brukere klikker du Apply for production, og Dropbox går gjennom appen.
Hvis du befinner deg i en region med begrenset nettverkstilgang, kan det hende du må konfigurere en proxy for å få tilgang til Dropbox. Sett følgende miljøvariabel: 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.

Opprett databaseindeksene

Kjør dette én gang, før brukere kobler til Dropbox-kontoene sine. Indeksene som Dropbox-synkroniseringen bruker, opprettes ikke automatisk, så uten dem må hvert synkroniseringsoppslag skanne hele samlingen. Toolkit-brukere: kjør bin/mongo. Docker Compose-brukere: kjør docker compose exec mongo mongosh sharelatex. Lim deretter inn:
Det er ufarlig å kjøre det på nytt: MongoDB hopper over indekser som allerede finnes.
Ikke kjør dropboxEntities-migreringene i tools/migrations i stedet: 20220825160708_recreate_dropboxEntities sletter samlingen, noe som sletter synkroniseringstilstanden til alle brukere.

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_Store eller virtuelle Python-miljøer, blir bare liggende i Dropbox.

Q&A

  • En Dropbox-mappe som Overleaf ikke kjenner ennå, matches med et prosjekt etter navnet, så en bruker med prosjekter som har samme navn, blir bedt om å gi dem nye navn først. Navn sammenlignes uten å skille mellom store og små bokstaver, og arkiverte prosjekter og prosjekter i papirkurven teller også.
  • En Dropbox-konto kan bare kobles til én Overleaf-konto.
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. Et varsel i prosjektlisten forteller brukeren hvilken av disse som skjedde, helt til kontoen kobles til igjen. Brukeren kan koble den til igjen når problemet er løst.
Svar: Gi heller prosjektet nytt navn i Overleaf: mappen i Dropbox får da også nytt navn. For Overleaf betyr en navneendring av mappen i Dropbox at prosjektmappen slettes og en ny opprettes, så det gamle prosjektet merkes som slettet, og et nytt prosjekt opprettes fra filene.
Svar: Hvert prosjekt har sin egen mappe, også når to prosjekter har samme navn. Dropbox kan ikke ha to mapper med samme navn, så det legger til et nummer på mappen som ble opprettet sist. Nummeret avhenger av hvilke navn som var ledige i Dropbox i det øyeblikket, ikke av hvilket prosjekt som er eldst. Overleaf vet hvilken mappe som hører til hvert prosjekt, så endringer havner aldri i mappen til et annet prosjekt med samme navn.Et opplastet prosjekt med et navn som allerede er i bruk, får også et nummer i navnet i Overleaf, for eksempel “Thesis (1)”.
  • Hvis ingen andre prosjekter har navnet til mappen, merkes prosjektet som slettet i Overleaf. Filene og historikken beholdes.
  • Hvis flere prosjekter har det navnet, kan ikke Overleaf avgjøre hvilket prosjekt mappen tilhørte. Overleaf kobler fra Dropbox-kontoen og viser et varsel som ber om å gi prosjektene nye navn. Gi prosjektene ulike navn før du sletter mappene deres i Dropbox.
  • En nummerert mappe, som “Thesis (1)”, samsvarer ikke med noe prosjektnavn, så å slette den endrer ikke prosjektet i Overleaf. Klikk sync this project now i Dropbox-dialogboksen i editoren for å sende prosjektet til Dropbox igjen.
Svar: Ingenting, mappen blir liggende i Dropbox. Slett mappen i Dropbox hvis du ikke lenger trenger den.
Svar: De brukes ikke på prosjektet, og de hentes heller ikke inn når prosjektet gjenopprettes. Etter gjenopprettingen slutter Overleaf å sende sine endringer i filene som ble endret i Dropbox i mellomtiden, så de to sidene blir ulike.For å synkronisere en slik fil igjen lagrer du den én gang til i Dropbox. Overleaf tar da Dropbox-versjonen: endringer som er gjort i filen i Overleaf siden gjenopprettingen, erstattes, men blir værende i prosjekthistorikken. Gjenopprett et prosjekt før du endrer det i Dropbox.
Svar: Lenken går til Apps/<app folder>/<project> på dropbox.com, slik som på Overleaf Cloud. Når Dropbox viser Apps-mappen sin med et oversatt navn, for eksempel 应用 på kinesisk, finner ikke lenken mappen, og Dropbox åpner hjemmesiden i stedet. Åpne prosjektmappen fra den oversatte Apps-mappen i Dropbox.
Svar: Endringer som gjøres mens synkroniseringstjenesten ikke kjører, for eksempel mens den startes på nytt, sendes ikke til Dropbox senere. Klikk sync this project now i Dropbox-dialogboksen i editoren: da sendes hele prosjektet på nytt.
Sist endret 2. november 2026