Skip to main content
Tämän ominaisuuden on kehittänyt ayaka-notes/ayakaleaf-pro. Se on otettu käyttöön versiossa v6.3.1 varhaisena esiversiona, ja se julkaistaan virallisesti versiossa v6.4.0, joten sen määritykset ja toiminta voivat vielä muuttua. Tarvitsemme palautettasi, jos kohtaat ongelmia.
Dropbox-synkronointi pitää käyttäjän projektit synkronoituina hänen Dropboxinsa kanssa, kuten Overleaf Cloudissa: kun käyttäjä linkittää Dropbox-tilinsä, jokainen hänen projekteistaan näkyy kansiona kohteessa Apps/<your Dropbox app>/, Overleafissa tehdyt muutokset lähetetään Dropboxiin, ja Dropboxissa tehdyt muutokset palaavat Overleafiin.

Dropbox-synkronoinnin määrittäminen

Sinun on ensin otettava git-bridge käyttöön: ilman sitä tilin asetukset piilottavat projektien synkronointiosion.
config/overleaf.rc
Luo sovellus Dropbox App Consolessa kirjautuneena sillä Dropbox-tilillä, joka omistaa sovelluksen:
  1. 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 kohteessa Apps/<name of your app>/, ja tämä nimi on alla oleva DROPBOX_APP_NAME.
    • Napsauta Create app. Sovellus avautuu Settings-välilehdelle.
  2. Valitse Permissions-välilehdellä kohdasta Files and folders oikeudet files.metadata.write, files.content.write ja files.content.read. account_info.read ja files.metadata.read valitaan niiden mukana, eikä niiden valintaa voi poistaa. Älä valitse muita oikeuksia.
  3. 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

  1. Kirjoita Settings-välilehdellä kohdassa OAuth 2 kenttään Redirect URIs ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback ja 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

  1. Kirjoita Settings-välilehdellä kohdassa Webhooks kenttään Webhook URIs ${OVERLEAF_SITE_URL}/dropbox/webhook ja 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.
Kopioi App key ja App secret (napsauta Show) Settings-välilehdeltä ja lisää sitten seuraavat asetukset Overleafin ympäristömuuttujatiedostoihin. Voit lisätä webhookin (vaihe 5), kun Overleaf on käynnissä näillä asetuksilla.
config/variables.env
  • Varmista ennen uudelleenohjaus-URI:n ja webhookin määrittämistä, että OVERLEAF_SITE_URL on asetettu oikein.
  • Dropbox lukitsee tunnuksen oikeudet, kun käyttäjä linkittää tilinsä: oikeuksien lähettäminen ei muuta olemassa olevia tunnuksia. Käyttäjien, jotka linkittivät tilinsä ennen kuin oikeudet lähetettiin tai ennen kuin muutit niitä, on purettava Dropbox-tilinsä linkitys ja linkitettävä se uudelleen.
  • Uusi sovellus on Development-tilassa. Jos Settings-välilehden kohdassa Development users lukee Only you, vain oman Dropbox-tilisi voi linkittää: napsauta Enable additional users, jotta muutkin käyttäjät voivat linkittää tilinsä. Sen jälkeen siinä näkyy, kuinka moni käyttäjä on linkittänyt tilinsä, esim. 1 / 500: Development-tilassa olevalla sovelluksella voi olla enintään 500 käyttäjää. Jos tarvitset enemmän käyttäjiä, napsauta Apply for production, jolloin Dropbox arvioi sovelluksen.
Jos olet alueella, jolla verkkoyhteyksiä on rajoitettu, sinun on ehkä määritettävä välityspalvelin Dropboxin käyttämiseksi. Aseta seuraava ympäristömuuttuja: 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: suorita bin/mongo. Docker Composen käyttäjät: suorita docker compose exec mongo mongosh sharelatex. Liitä sitten:
Uudelleen suorittaminen on vaaratonta: MongoDB ohittaa jo olemassa olevat indeksit.
Älä suorita tämän sijaan hakemiston 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_Store tai Pythonin virtuaaliympäristöt, säilyvät vain Dropboxissa.

Q&A

  • 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.
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. Projektiluettelossa näkyvä ilmoitus kertoo käyttäjälle, mikä näistä tapahtui, kunnes hän linkittää tilin uudelleen. Käyttäjä voi linkittää tilin uudelleen, kun ongelma on ratkaistu.
Vastaus: Nimeä projekti mieluummin uudelleen Overleafissa: myös sen kansio Dropboxissa nimetään uudelleen. Overleafin kannalta kansion uudelleennimeäminen Dropboxissa poistaa projektikansion ja luo uuden, joten vanha projekti merkitään poistetuksi ja tiedostoista luodaan uusi projekti.
Vastaus: Jokaisella projektilla on oma kansionsa, myös silloin, kun kahdella projektilla on sama nimi. Dropboxissa ei voi olla kahta samannimistä kansiota, joten se lisää numeron myöhemmin luotuun kansioon. Numero riippuu siitä, mitkä nimet olivat sillä hetkellä vapaina Dropboxissa, eikä siitä, kumpi projekti on vanhempi. Overleaf tietää kunkin projektin kansion, joten muutokset eivät koskaan päädy toisen samannimisen projektin kansioon.Ladattu projekti, jonka nimi on jo käytössä, nimetään myös Overleafissa numerolla, esimerkiksi ”Thesis (1)”.
  • 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.
Vastaus: Ei mitään, sen kansio säilyy Dropboxissa. Poista kansio Dropboxissa, jos et enää tarvitse sitä.
Vastaus: Niitä ei viedä projektiin, eikä projektin palauttaminen tuo niitä myöskään mukaan. Palauttamisen jälkeen Overleaf lakkaa lähettämästä muutoksiaan niihin tiedostoihin, joita on sillä välin muutettu Dropboxissa, joten molemmat puolet eroavat toisistaan.Saat tällaisen tiedoston takaisin synkronointiin tallentamalla sen vielä kerran Dropboxissa. Overleaf ottaa tällöin käyttöön Dropbox-version: palauttamisen jälkeen Overleafissa tiedostoon tehdyt muutokset korvataan, ja ne säilyvät projektin historiassa. Palauta projekti ennen kuin muutat sitä Dropboxissa.
Vastaus: Linkki osoittaa dropbox.comissa kohteeseen 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.
Vastaus: Muutoksia, jotka tehtiin synkronointipalvelun ollessa pysähdyksissä, esimerkiksi sen uudelleenkäynnistyksen aikana, ei lähetetä Dropboxiin myöhemmin. Napsauta sync this project now editorin Dropbox-valintaikkunassa: se lähettää koko projektin uudelleen.
Viimeksi muokattu 2. marraskuuta 2026