Este recurso foi desenvolvido por ayaka-notes/ayakaleaf-pro. Ele foi introduzido na v6.4.0 e posteriores. Ainda está em fase beta. Precisamos do seu feedback caso encontre algum problema.
Apps/<your Dropbox app>/, as alterações feitas no Overleaf são enviadas ao Dropbox, e as alterações feitas no Dropbox voltam para o Overleaf.
Configurar a sincronização com Dropbox
Crie um aplicativo no Dropbox App Console, conectado com a conta do Dropbox que será a proprietária do aplicativo:- Clique em Create app e preencha a página:
- 1. Choose an API: selecione Scoped access.
- 2. Choose the type of access you need: selecione App folder, e não Full Dropbox. O Overleaf só sincroniza dentro da pasta do aplicativo.
- 3. Name your app: insira um nome, por exemplo,
Overleaf. Ele deve ser único no Dropbox. Os projetos de cada usuário aparecem emApps/<name of your app>/no Dropbox dele, e esse nome é oDROPBOX_APP_NAMEabaixo. - Clique em Create app. O aplicativo abre na aba Settings.
- Na aba Permissions, em Files and folders, marque
files.metadata.write,files.content.writeefiles.content.read.account_info.readefiles.metadata.readsão marcados junto com elas e não podem ser desmarcados. Não marque outras permissões. - Clique em Submit na barra na parte inferior da aba Permissions. Sem o Submit, as permissões não são salvas, e o Dropbox se recusa a sincronizar arquivos para os usuários que vincularem sua conta.

Dropbox App Console: as permissões a marcar, salvas com Submit
- Na aba Settings, em OAuth 2, insira
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackem Redirect URIs e, em seguida, clique em Add. Digitar a URI não é suficiente: ela só é salva quando aparece na lista acima do campo.

Dropbox App Console: insira a URI de redirecionamento e clique em Add
- Na aba Settings, em Webhooks, insira
${OVERLEAF_SITE_URL}/dropbox/webhookem Webhook URIs e, em seguida, clique em Add também. O Dropbox a chama imediatamente para verificá-la, então o Overleaf já deve estar em execução com as configurações abaixo e acessível pela internet (consulte Webhook). O status mostra Enabled quando a verificação é concluída com sucesso.
config/variables.env
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Ele deve ser um proxy de encaminhamento HTTP/HTTPS padrão e não deve usar 127.0.0.1.
Webhook
O Dropbox informa o Overleaf sobre alterações no Dropbox por meio de um webhook, para que elas apareçam no Overleaf em poucos segundos. O webhook aponta para o endereço do seu site,${OVERLEAF_SITE_URL}/dropbox/webhook, e nenhuma porta extra é necessária, mas o Dropbox precisa conseguir acessá-lo pela internet. Quando você o adiciona no App Console, o Dropbox o verifica imediatamente.
Sem um webhook, por exemplo, em um servidor que o Dropbox não consegue acessar, as alterações feitas no Overleaf continuam sendo enviadas ao Dropbox, mas as alterações feitas no Dropbox só voltam quando um usuário clica em sync this project now na caixa de diálogo do Dropbox no editor.
Como a sincronização funciona
- Vinculação: quando um usuário vincula sua conta do Dropbox, os projetos dos quais ele é proprietário são enviados ao Dropbox. Os projetos compartilhados com ele aparecem no Dropbox na próxima alteração.
- Do Overleaf para o Dropbox: novos arquivos, renomeações, movimentações, exclusões e renomeações de projetos são enviados imediatamente. As edições feitas no editor são enviadas quando o Overleaf as salva em seu armazenamento, alguns minutos depois que todos saem do projeto. Para enviá-las antes, clique em sync this project now na caixa de diálogo do Dropbox no editor (uma vez por minuto).
- Do Dropbox para o Overleaf: arquivos novos e alterados, novas pastas e exclusões em uma pasta de projeto são aplicados ao projeto. Uma nova pasta no nível superior da pasta do aplicativo se torna um novo projeto. Excluir uma pasta de projeto no Dropbox marca o projeto como excluído no Overleaf.
- Conflitos: quando um arquivo é alterado nos dois lugares ao mesmo tempo, a última alteração prevalece. O Dropbox pode manter a outra versão como uma cópia em conflito.
- Colaboradores: os colaboradores que vinculam seu Dropbox recebem os projetos compartilhados com eles. Visualizadores somente leitura e revisores recebem o projeto, mas suas alterações no Dropbox não são sincronizadas de volta para o Overleaf.
- Arquivos ignorados: os arquivos que o Overleaf não sincroniza, como os resultados da compilação (
.aux,.log, …),.DS_Storeou ambientes virtuais Python, permanecem apenas no Dropbox.
Q&A
Por que um usuário não consegue vincular sua conta do Dropbox?
Por que um usuário não consegue vincular sua conta do Dropbox?
- Os projetos são associados às pastas do Dropbox pelo nome; portanto, um usuário que tem dois projetos com o mesmo nome é solicitado a renomear um deles primeiro.
- Uma conta do Dropbox só pode ser vinculada a uma conta do Overleaf.
Por que uma conta do Dropbox foi desvinculada?
Por que uma conta do Dropbox foi desvinculada?
Resposta: O Overleaf desvincula uma conta do Dropbox quando o Dropbox recusa seu token (por exemplo, depois que o usuário removeu o aplicativo no Dropbox), quando o Dropbox está cheio ou quando o Dropbox suspendeu a conta. O usuário pode vinculá-la novamente quando o problema for resolvido.
Posso renomear uma pasta de projeto no Dropbox?
Posso renomear uma pasta de projeto no Dropbox?
Resposta: Em vez disso, renomeie o projeto no Overleaf. Para o Overleaf, renomear a pasta no Dropbox exclui a pasta do projeto e cria uma nova; assim, o projeto antigo é marcado como excluído e um novo projeto é criado a partir dos arquivos.

