Apps/<your Dropbox app>/, los cambios en Overleaf se envían a Dropbox y los cambios hechos en Dropbox vuelven a Overleaf.
Configurar la sincronización con Dropbox
Crea una aplicación en la Dropbox App Console, con la sesión iniciada en la cuenta de Dropbox que será la propietaria de la aplicación:- Haz clic en Create app y, a continuación, rellena la página:
- 1. Choose an API: selecciona Scoped access.
- 2. Choose the type of access you need: selecciona App folder, no Full Dropbox. Overleaf solo sincroniza dentro de la carpeta de la aplicación.
- 3. Name your app: introduce un nombre, por ejemplo
Overleaf. Debe ser único en Dropbox. Los proyectos de cada usuario aparecen enApps/<name of your app>/en su Dropbox, y este nombre es elDROPBOX_APP_NAMEque se indica más abajo. - Haz clic en Create app. La aplicación se abre en su pestaña Settings.
- En la pestaña Permissions, en Files and folders, marca
files.metadata.write,files.content.writeyfiles.content.read.account_info.readyfiles.metadata.readse marcan junto con ellos y no se pueden desmarcar. No marques otros permisos. - Haz clic en Submit en la barra de la parte inferior de la pestaña Permissions. Sin Submit, los permisos no se guardan, y Dropbox se niega a sincronizar archivos para los usuarios que vinculen su cuenta.

Dropbox App Console: los permisos que hay que marcar, guardados con Submit
- En la pestaña Settings, en OAuth 2, introduce
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbacken Redirect URIs y, a continuación, haz clic en Add. No basta con escribir la URI: solo se guarda cuando aparece en la lista situada encima del campo.

Dropbox App Console: introduce la URI de redirección y haz clic en Add
- En la pestaña Settings, en Webhooks, introduce
${OVERLEAF_SITE_URL}/dropbox/webhooken Webhook URIs y, a continuación, haz clic en Add también. Dropbox la llama de inmediato para comprobarla, por lo que Overleaf ya debe estar en ejecución con los ajustes siguientes y ser accesible desde internet (consulta Webhook). Su estado muestra Enabled una vez superada la comprobación.
DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Debe ser un proxy de reenvío HTTP/HTTPS estándar y no debe usar 127.0.0.1.
Crear los índices de la base de datos
Ejecuta esto una sola vez, antes de que los usuarios vinculen sus cuentas de Dropbox. Los índices que usa la sincronización con Dropbox no se crean automáticamente, así que sin ellos cada búsqueda de sincronización recorre toda la colección. Si usas el Toolkit, ejecutabin/mongo. Si usas Docker Compose, ejecuta docker compose exec mongo mongosh sharelatex. Después, pega:
dropboxEntities de tools/migrations: 20220825160708_recreate_dropboxEntities elimina la colección, lo que borra el estado de sincronización de todos los usuarios.Webhook
Dropbox informa a Overleaf de los cambios en Dropbox mediante un webhook, de modo que aparecen en Overleaf en cuestión de segundos. El webhook apunta a la dirección de tu sitio,${OVERLEAF_SITE_URL}/dropbox/webhook, y no necesita ningún puerto adicional, pero Dropbox debe poder acceder a él desde internet. Cuando lo añades en la App Console, Dropbox lo comprueba de inmediato.
Sin webhook, por ejemplo en un servidor al que Dropbox no puede acceder, los cambios en Overleaf se siguen enviando a Dropbox, pero los cambios en Dropbox solo vuelven cuando un usuario hace clic en sincronizar este proyecto ahora en el diálogo de Dropbox del editor.
Cómo funciona la sincronización
- Vinculación: cuando un usuario vincula su cuenta de Dropbox, los proyectos de los que es propietario se envían a Dropbox. Los proyectos compartidos con él aparecen en Dropbox con su siguiente cambio.
- De Overleaf a Dropbox: los archivos nuevos, los cambios de nombre, los traslados, las eliminaciones y los cambios de nombre de proyectos se envían de inmediato. Las ediciones en el editor se envían cuando Overleaf las guarda en su almacenamiento, unos minutos después de que todos hayan salido del proyecto. Para enviarlas antes, haz clic en sincronizar este proyecto ahora en el diálogo de Dropbox del editor (una vez por minuto).
- De Dropbox a Overleaf: los archivos nuevos y modificados, las carpetas nuevas y las eliminaciones en la carpeta de un proyecto se aplican al proyecto. Una carpeta nueva en el nivel superior de la carpeta de la aplicación se convierte en un proyecto nuevo. Eliminar la carpeta de un proyecto en Dropbox marca el proyecto como eliminado en Overleaf.
- Conflictos: cuando un archivo cambia en ambos lugares al mismo tiempo, prevalece el último cambio. Dropbox puede conservar la otra versión como copia en conflicto.
- Colaboradores: los colaboradores que vinculan su Dropbox reciben los proyectos compartidos con ellos. Los lectores con permiso de solo lectura y los revisores reciben el proyecto, pero sus cambios en Dropbox no se sincronizan de vuelta con Overleaf.
- Archivos ignorados: los archivos que Overleaf no sincroniza, como los resultados de compilación (
.aux,.log, …),.DS_Storeo los entornos virtuales de Python, permanecen solo en Dropbox.
Q&A
¿Por qué un usuario no puede vincular su cuenta de Dropbox?
¿Por qué un usuario no puede vincular su cuenta de Dropbox?
- Una carpeta de Dropbox que Overleaf aún no conoce se asocia a un proyecto por su nombre, por lo que a un usuario cuyos proyectos comparten nombre se le pide que primero los renombre. Los nombres se comparan sin distinguir mayúsculas de minúsculas, y los proyectos archivados y los de la papelera también cuentan.
- Una cuenta de Dropbox solo se puede vincular a una cuenta de Overleaf.
¿Por qué se ha desvinculado una cuenta de Dropbox?
¿Por qué se ha desvinculado una cuenta de Dropbox?
¿Puedo renombrar la carpeta de un proyecto en Dropbox?
¿Puedo renombrar la carpeta de un proyecto en Dropbox?
¿Por qué algunas carpetas de proyectos están numeradas, como «Thesis (1)»?
¿Por qué algunas carpetas de proyectos están numeradas, como «Thesis (1)»?
¿Qué ocurre cuando elimino la carpeta de un proyecto en Dropbox?
¿Qué ocurre cuando elimino la carpeta de un proyecto en Dropbox?
- Si ningún otro proyecto tiene el nombre de la carpeta, el proyecto se marca como eliminado en Overleaf. Sus archivos y su historial se conservan.
- Si varios proyectos tienen ese nombre, Overleaf no puede saber a cuál pertenecía la carpeta. Desvincula la cuenta de Dropbox y muestra una notificación que pide renombrar los proyectos. Da nombres distintos a los proyectos antes de eliminar sus carpetas en Dropbox.
- Una carpeta numerada, como «Thesis (1)», no coincide con ningún nombre de proyecto, por lo que eliminarla no modifica el proyecto en Overleaf. Haz clic en sincronizar este proyecto ahora en el diálogo de Dropbox del editor para volver a enviar el proyecto a Dropbox.
¿Qué ocurre en Dropbox cuando elimino un proyecto en Overleaf?
¿Qué ocurre en Dropbox cuando elimino un proyecto en Overleaf?
¿Qué ocurre con los cambios en Dropbox mientras un proyecto está archivado o en la papelera?
¿Qué ocurre con los cambios en Dropbox mientras un proyecto está archivado o en la papelera?
¿Por qué el enlace de Dropbox del editor abre la página de inicio de Dropbox?
¿Por qué el enlace de Dropbox del editor abre la página de inicio de Dropbox?
Apps/<app folder>/<project> en dropbox.com, como en Overleaf Cloud. Cuando Dropbox muestra su carpeta Apps con un nombre traducido, por ejemplo 应用 en chino, el enlace no encuentra la carpeta y Dropbox abre su página de inicio en su lugar. Abre la carpeta del proyecto desde la carpeta Apps traducida en Dropbox.¿Por qué faltan algunos archivos de un proyecto en Dropbox?
¿Por qué faltan algunos archivos de un proyecto en Dropbox?

