Tuto funkci vyvinul projekt ayaka-notes/ayakaleaf-pro. Je k dispozici od verze v6.4.0. Stále je ve stavu beta. Pokud narazíte na jakýkoli problém, uvítáme vaši zpětnou vazbu.
Apps/<your Dropbox app>/, změny v Overleafu se odesílají do Dropboxu a změny provedené v Dropboxu se vracejí do Overleafu.
Nastavení synchronizace s Dropboxem
Vytvořte aplikaci v Dropbox App Console, přihlášeni účtem Dropbox, který bude aplikaci vlastnit:- Klikněte na Create app a poté vyplňte stránku:
- 1. Choose an API: zvolte Scoped access.
- 2. Choose the type of access you need: zvolte App folder, nikoli Full Dropbox. Overleaf synchronizuje pouze uvnitř složky aplikace.
- 3. Name your app: zadejte název, např.
Overleaf. Musí být v rámci Dropboxu jedinečný. Projekty každého uživatele se objeví v jeho Dropboxu vApps/<name of your app>/a tento název je níže uvedená hodnotaDROPBOX_APP_NAME. - Klikněte na Create app. Aplikace se otevře na kartě Settings.
- Na kartě Permissions v části Files and folders zaškrtněte
files.metadata.write,files.content.writeafiles.content.read. Oprávněníaccount_info.readafiles.metadata.readse zaškrtnou spolu s nimi a nelze je odškrtnout. Žádná další oprávnění nezaškrtávejte. - Klikněte na Submit v liště v dolní části karty Permissions. Bez kliknutí na Submit se oprávnění neuloží a Dropbox odmítne synchronizovat soubory uživatelům, kteří svůj účet propojí.

Dropbox App Console: oprávnění, která je třeba zaškrtnout a uložit pomocí Submit
- Na kartě Settings v části OAuth 2 zadejte do pole Redirect URIs hodnotu
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbacka poté klikněte na Add. Pouhé napsání URI nestačí: uloží se teprve ve chvíli, kdy se zobrazí v seznamu nad polem.

Dropbox App Console: zadejte redirect URI a poté klikněte na Add
- Na kartě Settings v části Webhooks zadejte do pole Webhook URIs hodnotu
${OVERLEAF_SITE_URL}/dropbox/webhooka poté rovněž klikněte na Add. Dropbox ji okamžitě zavolá, aby ji ověřil, takže Overleaf už musí běžet s níže uvedeným nastavením a musí být dostupný z internetu (viz Webhook). Po úspěšném ověření se zobrazí stav Enabled.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Musí jít o standardní dopřednou HTTP/HTTPS proxy a nesmí používat 127.0.0.1.
Webhook
Dropbox informuje Overleaf o změnách v Dropboxu pomocí webhooku, takže se v Overleafu projeví během několika sekund. Webhook směřuje na adresu vašeho webu,${OVERLEAF_SITE_URL}/dropbox/webhook, a není potřeba žádný další port, ale Dropbox se k němu musí dostat z internetu. Když jej přidáte v App Console, Dropbox jej okamžitě ověří.
Bez webhooku, například na serveru, ke kterému se Dropbox nedostane, se změny v Overleafu do Dropboxu stále odesílají, ale změny v Dropboxu se vrátí pouze tehdy, když uživatel klikne na sync this project now v dialogu Dropboxu v editoru.
Jak synchronizace funguje
- Propojení: když uživatel propojí svůj účet Dropbox, projekty, které vlastní, se odešlou do Dropboxu. Projekty s ním sdílené se v Dropboxu objeví při své další změně.
- Z Overleafu do Dropboxu: nové soubory, přejmenování, přesuny, smazání a přejmenování projektů se odesílají okamžitě. Úpravy v editoru se odešlou, jakmile je Overleaf uloží do svého úložiště, tedy několik minut poté, co všichni projekt opustí. Chcete-li je odeslat dříve, klikněte na sync this project now v dialogu Dropboxu v editoru (jednou za minutu).
- Z Dropboxu do Overleafu: nové a změněné soubory, nové složky a smazání ve složce projektu se v projektu použijí. Nová složka v nejvyšší úrovni složky aplikace se stane novým projektem. Smazání složky projektu v Dropboxu označí projekt v Overleafu jako smazaný.
- Konflikty: když se soubor změní na obou místech současně, platí poslední změna. Dropbox může druhou verzi ponechat jako conflicted copy.
- Spolupracovníci: spolupracovníci, kteří propojí svůj Dropbox, získají projekty, které s nimi byly sdíleny. Čtenáři s oprávněním pouze ke čtení a recenzenti projekt získají, ale jejich změny v Dropboxu se do Overleafu nesynchronizují.
- Ignorované soubory: soubory, které Overleaf nesynchronizuje, jako výstupy sestavení (
.aux,.log, …),.DS_Storenebo virtuální prostředí Pythonu, zůstávají pouze v Dropboxu.
Q&A
Proč uživatel nemůže propojit svůj účet Dropbox?
Proč uživatel nemůže propojit svůj účet Dropbox?
- Projekty se se složkami v Dropboxu párují podle názvu, takže uživatel, který má dva projekty se stejným názvem, je vyzván, aby jeden z nich nejprve přejmenoval.
- Účet Dropbox lze propojit pouze s jedním účtem Overleaf.
Proč bylo propojení účtu Dropbox zrušeno?
Proč bylo propojení účtu Dropbox zrušeno?
Odpověď: Overleaf zruší propojení účtu Dropbox, když Dropbox odmítne jeho token (například poté, co uživatel aplikaci v Dropboxu odebral), když je Dropbox plný nebo když Dropbox účet pozastavil. Po vyřešení problému může uživatel účet znovu propojit.
Mohu v Dropboxu přejmenovat složku projektu?
Mohu v Dropboxu přejmenovat složku projektu?
Odpověď: Přejmenujte prosím místo toho projekt v Overleafu. Pro Overleaf znamená přejmenování složky v Dropboxu smazání složky projektu a vytvoření nové, takže starý projekt se označí jako smazaný a ze souborů se vytvoří nový projekt.

