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.
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.
Criar os índices do banco de dados
Execute isto uma única vez, antes que os usuários vinculem suas contas do Dropbox. Os índices que a sincronização com Dropbox usa não são criados automaticamente; sem eles, cada consulta da sincronização percorre a coleção inteira. Usuários do Toolkit: executembin/mongo. Usuários do Docker Compose: executem docker compose exec mongo mongosh sharelatex. Em seguida, colem:
dropboxEntities de tools/migrations: 20220825160708_recreate_dropboxEntities remove a coleção, o que apaga o estado de sincronização de todos os usuários.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?
- Uma pasta do Dropbox que o Overleaf ainda não conhece é associada a um projeto pelo nome; portanto, um usuário cujos projetos têm o mesmo nome é solicitado a renomeá-los primeiro. Os nomes são comparados sem diferenciar maiúsculas de minúsculas, e projetos arquivados e na lixeira também contam.
- 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?
Posso renomear uma pasta de projeto no Dropbox?
Posso renomear uma pasta de projeto no Dropbox?
Por que algumas pastas de projeto são numeradas, como “Thesis (1)”?
Por que algumas pastas de projeto são numeradas, como “Thesis (1)”?
O que acontece quando excluo uma pasta de projeto no Dropbox?
O que acontece quando excluo uma pasta de projeto no Dropbox?
- Se nenhum outro projeto tiver o nome da pasta, o projeto é marcado como excluído no Overleaf. Seus arquivos e seu histórico são mantidos.
- Se vários projetos tiverem esse nome, o Overleaf não consegue saber a qual deles a pasta pertencia. Ele desvincula a conta do Dropbox e mostra uma notificação pedindo para renomear os projetos. Dê nomes distintos aos projetos antes de excluir as pastas deles no Dropbox.
- Uma pasta numerada, como “Thesis (1)”, não corresponde a nenhum nome de projeto; portanto, excluí-la não altera o projeto no Overleaf. Clique em sync this project now na caixa de diálogo do Dropbox no editor para enviar o projeto ao Dropbox novamente.
O que acontece no Dropbox quando excluo um projeto no Overleaf?
O que acontece no Dropbox quando excluo um projeto no Overleaf?
O que acontece com as alterações no Dropbox enquanto um projeto está arquivado ou na lixeira?
O que acontece com as alterações no Dropbox enquanto um projeto está arquivado ou na lixeira?
Por que o link do Dropbox no editor abre a página inicial do Dropbox?
Por que o link do Dropbox no editor abre a página inicial do Dropbox?
Apps/<app folder>/<project> no dropbox.com, como no Overleaf Cloud. Quando o Dropbox mostra a pasta Apps com um nome traduzido, por exemplo 应用 em chinês, o link não encontra a pasta e o Dropbox abre a página inicial. Abra a pasta do projeto a partir da pasta Apps traduzida no Dropbox.Por que alguns arquivos de um projeto estão faltando no Dropbox?
Por que alguns arquivos de um projeto estão faltando no Dropbox?

