KEPLIN Docs

Importar y exportar apps

Paquetes .keplinapp — llevar una app entera a otra instalación, con o sin secretos, y qué viaja en cada modo.

Una app de Keplin cabe en un archivo. El paquete .keplinapp lleva todo lo que la app es — el modelo de datos, las pantallas, las APIs, los scripts, los informes, los workflows, el tema, las traducciones, los roles y los permisos — listo para instalar en otra instalación de la plataforma. Es la herramienta para tres gestos:

  • Cambiar de entorno: desarrollar en una instalación e instalar en la de producción del cliente.
  • Entregar: enviar la app a quien la va a ejecutar en otro servidor.
  • Guardar: un paquete archivado es una copia del diseño de la app, que se reimporta cuando haga falta.

La decisión importante está en los secretos: un paquete puede viajar limpio (recomendado) o completo y cifrado con una passphrase. Las dos secciones siguientes explican el gesto; la tabla del medio dice exactamente qué va en cada modo.

Exportar una app

  1. Abre la app y haz clic en el botón de engranaje Ajustes de la app, luego en General.
  2. Baja hasta el panel Llevar esta app — «Un archivo .keplinapp para instalar en otro sitio.» — y haz clic en Exportar.

El panel Llevar esta app en la sección General, con el botón Exportar
El panel Llevar esta app en la sección General, con el botón Exportar

  1. Se abre el diálogo Exportar app: «Genera un paquete .keplinapp con todo lo que la app es — APIs, scripts, modelo de datos, enums y programaciones — listo para importar en otra instancia.»

  2. En Secretos, elige uno de los dos modos:

    Modo Qué significa
    Sin secretos (recomendado) «Las conexiones de los datasources y los secrets van por rellenar, y las CUENTAS de los usuarios de la app se quedan en esta instalación — viaja la aplicación, con los roles y los permisos, no quien la usa.» Es el modo correcto para entregar la app a terceros.
    Con secretos, protegidos por passphrase «Los valores van cifrados con la passphrase que definas aquí; se pedirá al importar. Es una copia COMPLETA: lleva también las cuentas y lo que les pertenece.» Es el modo correcto para cambiar la app de servidor sin perder nada.
  3. Si elegiste el modo protegido, define la Passphrase (mínimo 8 caracteres).

  4. Haz clic en Exportar paquete. El navegador descarga el archivo gestao-clientes.keplinapp y aparece la confirmación «Paquete exportado.»

El diálogo Exportar app con el modo protegido por passphrase elegido
El diálogo Exportar app con el modo protegido por passphrase elegido

Atención

«Sin la passphrase, los secretos del paquete son irrecuperables.» No hay recuperación ni petición de ayuda que valga: quien pierde la passphrase se queda con un paquete cuyos secretos nadie vuelve a leer. Guárdala en un gestor de contraseñas, separada del archivo.

Nota

La descarga empieza enseguida, y el paquete se hace mientras llega, incluso en una app con muchos archivos; la plataforma sigue respondiendo a todo el mundo. Si la exportación falla a medias, el navegador dice que la descarga falló; exporta de nuevo.

Qué viaja en el paquete

El paquete distingue tres cosas: la aplicación (viaja siempre), lo que es de esta instalación (nunca viaja) y los datos de las personas (solo viajan en el modo protegido).

Contenido Sin secretos Con passphrase
Modelo de datos, pantallas, APIs, scripts, informes, workflows, enums Viaja Viaja
Tema, traducciones, roles y permisos Viaja Viaja
Programaciones Viajan desactivadas Viajan desactivadas
Conexiones a datasources y almacenamientos La configuración queda por rellenar Viaja, cifrada con la passphrase
Secrets de la app Solo las claves, «por configurar» en el destino Viajan, cifrados
Datos de las bases de datos internas de la app Solo la estructura de las tablas Datos completos
Cuentas de los usuarios de la app, buzón de notificaciones, archivos subidos, procesos a medias Todo se queda en esta instalación Viaja todo
Historial de ejecuciones y telemetría Se queda Se queda
Claves API Se quedan Se quedan
Publicación (hosts y versiones servidas) Se queda Se queda

Nota

Las programaciones llegan siempre desactivadas al destino — incluso en un paquete completo. Es a propósito: en el destino los datasources aún no se han confirmado, y nadie quiere un proceso automático corriendo contra conexiones por validar. Actívalas una a una, cuando estés listo.

Importar un paquete

La importación vive en el mismo modal de la creación:

  1. En la barra lateral, haz clic en Nueva app y elige la tarjeta Importar paquete (solo administradores).
  2. En Paquete, haz clic en el área «Haz clic para elegir el archivo .keplinapp» y selecciona el archivo.
  3. Slug (opcional): déjalo vacío para mantener el slug original del paquete — «Obligatorio solo si ya existe una app con el slug original.» Así es como instalas una segunda copia de la misma app, lado a lado.
  4. Passphrase (si aplica): «solo para paquetes exportados con secretos». Un paquete limpio se importa sin ninguna passphrase.
  5. Haz clic en Importar. Al final aparece «App "Gestão de Clientes" importada.» y la app se abre, ya en la barra lateral.

La tarjeta Importar paquete del modal Nueva app
La tarjeta Importar paquete del modal Nueva app

Los campos Slug y Passphrase rellenados para importar una segunda copia de la app
Los campos Slug y Passphrase rellenados para importar una segunda copia de la app

Detalles que merece la pena saber:

  • El paquete puede tener como máximo 1 GB. Se envía por partes, y el modal muestra el progreso: primero «Enviando el paquete… 40%», después «Importando…» mientras la plataforma instala la app. Un paquete de cientos de MB puede tardar unos minutos; mantén la ventana abierta hasta que aparezca la confirmación.
  • Un paquete exportado en una versión antigua de Keplin se actualiza automáticamente al entrar. Un paquete de una versión más reciente se rechaza con una petición de actualizar la plataforma primero.
  • Si algo falla a medias, nada queda instalado — la importación limpia todo lo que había empezado a crear y muestra el error. Nunca queda media app.

Después de importar

El propio modal deja el recordatorio: «Después de importar: confirma las conexiones de los datasources y los secrets (si el paquete vino sin secretos quedan por rellenar) y activa las programaciones que quieras — entran siempre desactivadas.» En la práctica, la lista de llegada es esta:

  1. Datasources — abre cada uno y confirma (o rellena) la conexión; en un paquete sin secretos vienen por configurar.
  2. Secrets — las claves existen, los valores están vacíos; rellénalos.
  3. Programaciones — activa las que quieras, una a una.
  4. Cuentas — en un paquete sin secretos no vienen usuarios; créalos en los ajustes de la app (Usuarios de la app) o activa el registro público.
  5. Publicación y claves API — los hosts y las claves son siempre de esta instalación; publica la app y emite claves nuevas para los consumidores.

Errores comunes

Mensaje Qué pasa Qué hacer
«El archivo no es un paquete .keplinapp válido.» El archivo está corrupto o no es un paquete. Vuelve a exportar en el origen y usa el archivo tal como fue descargado.
«Este paquete fue exportado con secretos — indica la passphrase.» El paquete es del modo protegido y el campo quedó vacío. Rellena la Passphrase y repite.
«Passphrase errónea — los secretos del paquete no se descifran.» La passphrase no es la de la exportación. Confírmala con quien exportó; sin la passphrase correcta el paquete no entra.
«Ya existe una app con el slug "…" — elige otro slug para la importación.» El slug original ya está ocupado en esta instalación. Rellena Slug (opcional) con un identificador nuevo.
«Paquete demasiado grande (máx 1 GB).» El archivo pasa el límite. Exporta sin secretos (los datos quedan fuera) o reduce los archivos de la app en el origen.
«Se perdió la conexión con la importación. Si la app aparece en la lista, la importación terminó; si no, inténtalo de nuevo.» La página dejó de recibir el estado de la importación, por ejemplo porque la plataforma se reinició a medias. Busca la app en la barra lateral. Si no está, importa el paquete de nuevo.
«El paquete es de una versión más reciente de Keplin…» La instalación de destino está desactualizada. Actualiza la plataforma de destino e importa otra vez.