Skip to main content
Esta función ha sido desarrollada por ayaka-notes/ayakaleaf-pro. Se introduce en la v6.3.1 como versión preliminar y se publicará oficialmente en la v6.4.0, por lo que su configuración y su comportamiento aún pueden cambiar. Necesitamos tus comentarios si tienes algún problema.
La sincronización con Dropbox mantiene los proyectos de un usuario sincronizados con su Dropbox, como en Overleaf Cloud: cuando un usuario vincula su cuenta de Dropbox, cada uno de sus proyectos aparece como una carpeta en 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

Debes habilitar primero git-bridge: sin él, la configuración de la cuenta oculta la sección de sincronización de proyectos.
config/overleaf.rc
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:
  1. 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 en Apps/<name of your app>/ en su Dropbox, y este nombre es el DROPBOX_APP_NAME que se indica más abajo.
    • Haz clic en Create app. La aplicación se abre en su pestaña Settings.
  2. En la pestaña Permissions, en Files and folders, marca files.metadata.write, files.content.write y files.content.read. account_info.read y files.metadata.read se marcan junto con ellos y no se pueden desmarcar. No marques otros permisos.
  3. 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

  1. En la pestaña Settings, en OAuth 2, introduce ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback en 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

  1. En la pestaña Settings, en Webhooks, introduce ${OVERLEAF_SITE_URL}/dropbox/webhook en 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.
Copia la App key y el App secret (haz clic en Show) desde la pestaña Settings y, a continuación, añade los siguientes ajustes a tus archivos de variables de entorno de Overleaf. Puedes añadir el webhook (paso 5) después de que Overleaf se esté ejecutando con ellos.
config/variables.env
  • Antes de configurar la URI de redirección y el webhook, asegúrate de que OVERLEAF_SITE_URL esté configurada correctamente.
  • Dropbox fija los permisos de un token cuando el usuario vincula su cuenta: enviar los permisos no modifica los tokens existentes. Los usuarios que vincularon su cuenta antes de que se enviaran los permisos, o antes de que los cambiaras, tienen que desvincular y volver a vincular su cuenta de Dropbox.
  • Una aplicación nueva está en estado Development. Si Development users en la pestaña Settings muestra Only you, solo se puede vincular tu cuenta de Dropbox: haz clic en Enable additional users para que otros usuarios puedan vincular las suyas. Entonces se muestra cuántos usuarios se han vinculado, por ejemplo 1 / 500: una aplicación en Development admite como máximo 500 usuarios. Para más usuarios, haz clic en Apply for production y Dropbox revisará la aplicación.
Si te encuentras en una región con acceso a la red restringido, es posible que necesites configurar un proxy para acceder a Dropbox. Establece la siguiente variable de entorno: 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, ejecuta bin/mongo. Si usas Docker Compose, ejecuta docker compose exec mongo mongosh sharelatex. Después, pega:
Volver a ejecutarlo no causa ningún daño: MongoDB omite los índices que ya existen.
No ejecutes en su lugar las migraciones de 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_Store o los entornos virtuales de Python, permanecen solo en Dropbox.

Q&A

  • 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.
Respuesta: Overleaf desvincula una cuenta de Dropbox cuando Dropbox rechaza su token (por ejemplo, después de que el usuario haya eliminado la aplicación en Dropbox), cuando el Dropbox está lleno o cuando Dropbox ha suspendido la cuenta. Una notificación en la lista de proyectos indica al usuario cuál de estas situaciones se ha producido, hasta que vuelva a vincular la cuenta. El usuario puede volver a vincularla una vez resuelto el problema.
Respuesta: Renombra el proyecto en Overleaf en su lugar: su carpeta en Dropbox también se renombra. Para Overleaf, renombrar la carpeta en Dropbox equivale a eliminar la carpeta del proyecto y crear una nueva, por lo que el proyecto antiguo se marca como eliminado y se crea un proyecto nuevo a partir de los archivos.
Respuesta: Cada proyecto tiene su propia carpeta, también cuando dos proyectos tienen el mismo nombre. Dropbox no puede contener dos carpetas con el mismo nombre, así que añade un número a la carpeta creada después. El número depende de qué nombres estaban libres en Dropbox en ese momento, no de qué proyecto es más antiguo. Overleaf conoce la carpeta de cada proyecto, por lo que los cambios nunca van a la carpeta de otro proyecto con el mismo nombre.Un proyecto subido cuyo nombre ya está en uso también recibe un nombre con un número en Overleaf, por ejemplo «Thesis (1)».
  • 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.
Respuesta: Nada, su carpeta permanece en Dropbox. Elimina la carpeta en Dropbox si ya no la necesitas.
Respuesta: No se aplican al proyecto, y restaurar el proyecto tampoco los incorpora. Después de restaurarlo, Overleaf deja de enviar sus cambios de los archivos que se modificaron en Dropbox entretanto, por lo que ambos lados difieren.Para volver a sincronizar un archivo así, guárdalo una vez más en Dropbox. Overleaf toma entonces la versión de Dropbox: los cambios hechos en el archivo en Overleaf desde la restauración se sustituyen y quedan en el historial del proyecto. Restaura un proyecto antes de modificarlo en Dropbox.
Respuesta: El enlace lleva a 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.
Respuesta: Los cambios hechos mientras el servicio de sincronización no estaba en ejecución, por ejemplo mientras se reiniciaba, no se envían a Dropbox más tarde. Haz clic en sincronizar este proyecto ahora en el diálogo de Dropbox del editor: vuelve a enviar todo el proyecto.
Última modificación el 2 de noviembre de 2026