Apps/<your Dropbox app>/, Overleafissa tehdyt muutokset lähetetään Dropboxiin, ja Dropboxissa tehdyt muutokset palaavat Overleafiin.
Dropbox-synkronoinnin määrittäminen
Luo sovellus Dropbox App Consolessa kirjautuneena sillä Dropbox-tilillä, joka omistaa sovelluksen:- Napsauta Create app ja täytä sitten sivu:
- 1. Choose an API: valitse Scoped access.
- 2. Choose the type of access you need: valitse App folder, ei Full Dropbox. Overleaf synkronoi vain sovelluksen kansion sisällä.
- 3. Name your app: anna nimi, esim.
Overleaf. Sen on oltava yksilöllinen Dropboxissa. Kunkin käyttäjän projektit näkyvät hänen Dropboxissaan kohteessaApps/<name of your app>/, ja tämä nimi on alla olevaDROPBOX_APP_NAME. - Napsauta Create app. Sovellus avautuu Settings-välilehdelle.
- Valitse Permissions-välilehdellä kohdasta Files and folders oikeudet
files.metadata.write,files.content.writejafiles.content.read.account_info.readjafiles.metadata.readvalitaan niiden mukana, eikä niiden valintaa voi poistaa. Älä valitse muita oikeuksia. - Napsauta Submit Permissions-välilehden alareunan palkissa. Ilman Submit-painiketta oikeuksia ei tallenneta, ja Dropbox kieltäytyy synkronoimasta tiedostoja käyttäjille, jotka linkittävät tilinsä.

Dropbox App Console: valittavat oikeudet tallennettuna Submit-painikkeella
- Kirjoita Settings-välilehdellä kohdassa OAuth 2 kenttään Redirect URIs
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackja napsauta sitten Add. URI:n kirjoittaminen ei riitä: se tallentuu vasta, kun se näkyy kentän yläpuolella olevassa luettelossa.

Dropbox App Console: kirjoita uudelleenohjaus-URI ja napsauta sitten Add
- Kirjoita Settings-välilehdellä kohdassa Webhooks kenttään Webhook URIs
${OVERLEAF_SITE_URL}/dropbox/webhookja napsauta myös tässä Add. Dropbox kutsuu sitä heti tarkistaakseen sen, joten Overleafin on jo oltava käynnissä alla olevilla asetuksilla ja tavoitettavissa internetistä (katso Webhook). Sen tilaksi tulee Enabled, kun tarkistus onnistuu.
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Sen on oltava tavallinen HTTP/HTTPS-välityspalvelin (forward proxy), eikä se saa käyttää osoitetta 127.0.0.1.
Tietokannan indeksien luominen
Suorita tämä kerran, ennen kuin käyttäjät linkittävät Dropbox-tilinsä. Dropbox-synkronoinnin käyttämiä indeksejä ei luoda automaattisesti, joten ilman niitä jokainen synkronointihaku käy läpi koko kokoelman. Toolkitin käyttäjät: suoritabin/mongo. Docker Composen käyttäjät: suorita docker compose exec mongo mongosh sharelatex. Liitä sitten:
tools/migrations dropboxEntities-migraatioita: 20220825160708_recreate_dropboxEntities poistaa kokoelman, mikä poistaa jokaisen käyttäjän synkronointitilan.Webhook
Dropbox ilmoittaa Overleafille Dropboxissa tehdyistä muutoksista webhookin avulla, joten ne näkyvät Overleafissa sekunneissa. Webhook kohdistuu sivustosi osoitteeseen${OVERLEAF_SITE_URL}/dropbox/webhook, eikä ylimääräistä porttia tarvita, mutta Dropboxin on tavoitettava se internetistä. Kun lisäät sen App Consolessa, Dropbox tarkistaa sen heti.
Ilman webhookia, esimerkiksi palvelimella, jota Dropbox ei tavoita, Overleafissa tehdyt muutokset lähetetään edelleen Dropboxiin, mutta Dropboxissa tehdyt muutokset palaavat vasta, kun käyttäjä napsauttaa sync this project now editorin Dropbox-valintaikkunassa.
Miten synkronointi toimii
- Linkittäminen: kun käyttäjä linkittää Dropbox-tilinsä, hänen omistamansa projektit lähetetään Dropboxiin. Hänen kanssaan jaetut projektit ilmestyvät Dropboxiin niiden seuraavan muutoksen yhteydessä.
- Overleafista Dropboxiin: uudet tiedostot, uudelleennimeämiset, siirrot, poistot ja projektien uudelleennimeämiset lähetetään heti. Editorissa tehdyt muokkaukset lähetetään, kun Overleaf tallentaa ne tallennustilaansa, muutama minuutti sen jälkeen, kun kaikki ovat poistuneet projektista. Jos haluat lähettää ne aiemmin, napsauta sync this project now editorin Dropbox-valintaikkunassa (kerran minuutissa).
- Dropboxista Overleafiin: projektikansion uudet ja muuttuneet tiedostot, uudet kansiot ja poistot viedään projektiin. Uudesta kansiosta sovelluskansion ylimmällä tasolla tulee uusi projekti. Projektikansion poistaminen Dropboxissa merkitsee projektin poistetuksi Overleafissa.
- Ristiriidat: kun tiedosto muuttuu molemmissa paikoissa samanaikaisesti, viimeisin muutos voittaa. Dropbox saattaa säilyttää toisen version ristiriitaisena kopiona (conflicted copy).
- Yhteistyökumppanit: Dropboxinsa linkittävät yhteistyökumppanit saavat heidän kanssaan jaetut projektit. Pelkät katseluoikeudet omaavat käyttäjät ja arvioijat saavat projektin, mutta heidän Dropboxissa tekemänsä muutokset eivät synkronoidu takaisin Overleafiin.
- Ohitetut tiedostot: tiedostot, joita Overleaf ei synkronoi, kuten käännöksen tulosteet (
.aux,.log, …),.DS_Storetai Pythonin virtuaaliympäristöt, säilyvät vain Dropboxissa.
Q&A
Miksi käyttäjä ei voi linkittää Dropbox-tiliään?
Miksi käyttäjä ei voi linkittää Dropbox-tiliään?
- Dropbox-kansio, jota Overleaf ei vielä tunne, yhdistetään projektiin sen nimen perusteella, joten käyttäjää, jonka projekteilla on sama nimi, pyydetään ensin nimeämään ne uudelleen. Nimiä verrataan kirjainkoosta riippumatta, ja myös arkistoidut ja roskakoriin siirretyt projektit lasketaan mukaan.
- Dropbox-tilin voi linkittää vain yhteen Overleaf-tiliin.
Miksi Dropbox-tilin linkitys purettiin?
Miksi Dropbox-tilin linkitys purettiin?
Voinko nimetä projektikansion uudelleen Dropboxissa?
Voinko nimetä projektikansion uudelleen Dropboxissa?
Miksi joidenkin projektien kansiot on numeroitu, kuten ”Thesis (1)”?
Miksi joidenkin projektien kansiot on numeroitu, kuten ”Thesis (1)”?
Mitä tapahtuu, kun poistan projektikansion Dropboxissa?
Mitä tapahtuu, kun poistan projektikansion Dropboxissa?
- Jos millään muulla projektilla ei ole kansion nimeä, projekti merkitään poistetuksi Overleafissa. Sen tiedostot ja historia säilytetään.
- Jos usealla projektilla on sama nimi, Overleaf ei pysty päättelemään, mille niistä kansio kuului. Se purkaa Dropbox-tilin linkityksen ja näyttää ilmoituksen, jossa pyydetään nimeämään projektit uudelleen. Anna projekteille eri nimet ennen kuin poistat niiden kansiot Dropboxissa.
- Numeroitu kansio, kuten ”Thesis (1)”, ei vastaa mitään projektin nimeä, joten sen poistaminen ei muuta projektia Overleafissa. Napsauta sync this project now editorin Dropbox-valintaikkunassa lähettääksesi projektin uudelleen Dropboxiin.
Mitä Dropboxissa tapahtuu, kun poistan projektin Overleafissa?
Mitä Dropboxissa tapahtuu, kun poistan projektin Overleafissa?
Mitä Dropboxissa tehdyille muutoksille tapahtuu, kun projekti on arkistoitu tai roskakorissa?
Mitä Dropboxissa tehdyille muutoksille tapahtuu, kun projekti on arkistoitu tai roskakorissa?
Miksi editorin Dropbox-linkki avaa Dropboxin etusivun?
Miksi editorin Dropbox-linkki avaa Dropboxin etusivun?
Apps/<app folder>/<project>, kuten Overleaf Cloudissa. Kun Dropbox näyttää Apps-kansionsa käännetyllä nimellä, esimerkiksi kiinaksi 应用, linkki ei löydä kansiota ja Dropbox avaa sen sijaan etusivunsa. Avaa projektikansio Dropboxissa käännetystä Apps-kansiosta.Miksi joitakin projektin tiedostoja puuttuu Dropboxista?
Miksi joitakin projektin tiedostoja puuttuu Dropboxista?

