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.
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.
Skapa databasindexen
Kör detta en gång, innan användarna länkar sina Dropbox-konton. De index som Dropbox-synkroniseringen använder skapas inte automatiskt, så utan dem genomsöker varje synkroniseringsuppslag hela samlingen. Toolkit-användare: körbin/mongo. Docker Compose-användare: kör docker compose exec mongo mongosh sharelatex. Klistra sedan in:
dropboxEntities-migreringarna i tools/migrations i stället: 20220825160708_recreate_dropboxEntities tar bort samlingen, vilket raderar synkroniseringstillståndet för alla användare.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?
- En Dropbox-mapp som Overleaf ännu inte känner till matchas mot ett projekt efter sitt namn, så en användare vars projekt har samma namn ombeds först byta namn på dem. Namnen jämförs utan hänsyn till skiftläge, och arkiverade projekt och projekt i papperskorgen räknas också.
- 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?
Kan jag byta namn på en projektmapp i Dropbox?
Kan jag byta namn på en projektmapp i Dropbox?
Varför är vissa projektmappar numrerade, till exempel ”Thesis (1)”?
Varför är vissa projektmappar numrerade, till exempel ”Thesis (1)”?
Vad händer när jag tar bort en projektmapp i Dropbox?
Vad händer när jag tar bort en projektmapp i Dropbox?
- Om inget annat projekt har mappens namn markeras projektet som borttaget i Overleaf. Dess filer och historik behålls.
- Om flera projekt har det namnet kan Overleaf inte avgöra vilket av dem mappen tillhörde. Det avlänkar Dropbox-kontot och visar ett meddelande som ber användaren byta namn på projekten. Ge projekten olika namn innan du tar bort deras mappar i Dropbox.
- En numrerad mapp, till exempel ”Thesis (1)”, matchar inget projektnamn, så att ta bort den ändrar inte projektet i Overleaf. Klicka på sync this project now i Dropbox-dialogrutan i redigeraren för att skicka projektet till Dropbox igen.
Vad händer i Dropbox när jag tar bort ett projekt i Overleaf?
Vad händer i Dropbox när jag tar bort ett projekt i Overleaf?
Vad händer med ändringar i Dropbox medan ett projekt är arkiverat eller ligger i papperskorgen?
Vad händer med ändringar i Dropbox medan ett projekt är arkiverat eller ligger i papperskorgen?
Varför öppnar redigerarens Dropbox-länk Dropbox startsida?
Varför öppnar redigerarens Dropbox-länk Dropbox startsida?
Apps/<app folder>/<project> på dropbox.com, precis som i Overleaf Cloud. När Dropbox visar sin Apps-mapp under ett översatt namn, till exempel 应用 på kinesiska, hittar länken inte mappen och Dropbox öppnar i stället sin startsida. Öppna projektmappen från den översatta Apps-mappen i Dropbox.Varför saknas vissa filer i ett projekt i Dropbox?
Varför saknas vissa filer i ett projekt i Dropbox?

