Tämän ominaisuuden on kehittänyt ayaka-notes/ayakaleaf-pro. Se on otettu käyttöön versiosta v6.4.0 alkaen. Ominaisuus on vielä beta-vaiheessa. Tarvitsemme palautettasi, jos kohtaat ongelmia.
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.
config/variables.env
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.
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?
- Projektit yhdistetään Dropbox-kansioihin nimen perusteella, joten käyttäjää, jolla on kaksi samannimistä projektia, pyydetään ensin nimeämään toinen niistä uudelleen.
- Dropbox-tilin voi linkittää vain yhteen Overleaf-tiliin.
Miksi Dropbox-tilin linkitys purettiin?
Miksi Dropbox-tilin linkitys purettiin?
Vastaus: Overleaf purkaa Dropbox-tilin linkityksen, kun Dropbox hylkää sen tunnuksen (esimerkiksi sen jälkeen, kun käyttäjä on poistanut sovelluksen Dropboxissa), kun Dropbox on täynnä tai kun Dropbox on jäädyttänyt tilin. Käyttäjä voi linkittää tilin uudelleen, kun ongelma on ratkaistu.
Voinko nimetä projektikansion uudelleen Dropboxissa?
Voinko nimetä projektikansion uudelleen Dropboxissa?
Vastaus: Nimeä projekti mieluummin uudelleen Overleafissa. Overleafin kannalta kansion uudelleennimeäminen Dropboxissa poistaa projektikansion ja luo uuden, joten vanha projekti merkitään poistetuksi ja tiedostoista luodaan uusi projekti.

