KEPLIN Docs

Importar e exportar apps

Pacotes .keplinapp — levar uma app inteira para outra instalação, com ou sem segredos, e o que viaja em cada modo.

Uma app do Keplin cabe num ficheiro. O pacote .keplinapp leva tudo o que a app é — o modelo de dados, os ecrãs, as APIs, os scripts, os relatórios, os workflows, o tema, as traduções, os roles e as permissões — pronto a instalar noutra instalação da plataforma. É a ferramenta para três gestos:

  • Passar de ambiente: desenvolver numa instalação e instalar na de produção do cliente.
  • Entregar: enviar a app a quem a vai correr noutro servidor.
  • Guardar: um pacote arquivado é uma cópia do desenho da app, que se reimporta quando for preciso.

A decisão importante está nos segredos: um pacote pode viajar limpo (recomendado) ou completo e cifrado com uma passphrase. As duas secções seguintes explicam o gesto; a tabela no meio diz exactamente o que segue em cada modo.

Exportar uma app

  1. Abre a app e clica no botão de engrenagem Definições da app, depois em Geral.
  2. Desce até ao painel Levar esta app — "Um ficheiro .keplinapp para instalar noutro lado." — e clica em Exportar.

O painel Levar esta app na secção Geral, com o botão Exportar
O painel Levar esta app na secção Geral, com o botão Exportar

  1. Abre-se o diálogo Exportar app: "Gera um pacote .keplinapp com tudo o que a app é — APIs, scripts, modelo de dados, enums e agendamentos — pronto a importar noutra instância."

  2. Em Segredos, escolhe um dos dois modos:

    Modo O que significa
    Sem segredos (recomendado) "As ligações dos datasources e os secrets seguem por preencher, e as CONTAS dos utilizadores da app ficam nesta instalação — viaja a aplicação, com os roles e as permissões, não quem a usa." É o modo certo para entregar a app a terceiros.
    Com segredos, protegidos por passphrase "Os valores seguem cifrados com a passphrase que definires aqui; será pedida ao importar. É uma cópia COMPLETA: leva também as contas e o que lhes pertence." É o modo certo para mudar a app de servidor sem perder nada.
  3. Se escolheste o modo protegido, define a Passphrase (mínimo 8 caracteres).

  4. Clica em Exportar pacote. O browser descarrega o ficheiro gestao-clientes.keplinapp e aparece a confirmação "Pacote exportado."

O diálogo Exportar app com o modo protegido por passphrase escolhido
O diálogo Exportar app com o modo protegido por passphrase escolhido

Atenção

"Sem a passphrase, os segredos do pacote são irrecuperáveis." Não há recuperação nem pedido de ajuda que valha: quem perde a passphrase fica com um pacote cujos segredos ninguém volta a ler. Guarda-a num gestor de palavras-passe, separada do ficheiro.

O que viaja no pacote

O pacote distingue três coisas: a aplicação (viaja sempre), o que é desta instalação (nunca viaja) e os dados das pessoas (só viajam no modo protegido).

Conteúdo Sem segredos Com passphrase
Modelo de dados, ecrãs, APIs, scripts, relatórios, workflows, enums Viaja Viaja
Tema, traduções, roles e permissões Viaja Viaja
Agendamentos Viajam desligados Viajam desligados
Ligações a datasources e armazenamentos A configuração fica por preencher Viaja, cifrada com a passphrase
Secrets da app Só as chaves, "por configurar" no destino Viajam, cifrados
Dados das bases de dados internas da app Só a estrutura das tabelas Dados completos
Contas dos utilizadores da app, caixa de notificações, ficheiros enviados, processos a meio Fica tudo nesta instalação Viaja tudo
Histórico de execuções e telemetria Fica Fica
API keys Ficam Ficam
Publicação (hosts e versões servidas) Fica Fica

Nota

Os agendamentos chegam sempre desligados ao destino — mesmo num pacote completo. É de propósito: no destino os datasources ainda não foram confirmados, e ninguém quer um processo automático a correr contra ligações por validar. Liga-os um a um, quando estiveres pronto.

Importar um pacote

A importação vive no mesmo modal da criação:

  1. Na barra lateral, clica em Nova app e escolhe o cartão Importar pacote (só administradores).
  2. Em Pacote, clica na área "Clica para escolher o ficheiro .keplinapp" e selecciona o ficheiro.
  3. Slug (opcional): deixa vazio para manter o slug original do pacote — "Obrigatório apenas se já existir uma app com o slug original." É assim que instalas uma segunda cópia da mesma app, lado a lado.
  4. Passphrase (se aplicável): "só para pacotes exportados com segredos". Um pacote limpo importa-se sem passphrase nenhuma.
  5. Clica em Importar. No fim aparece 'App "Gestão de Clientes" importada.' e a app abre-se, já na barra lateral.

O cartão Importar pacote do modal Nova app
O cartão Importar pacote do modal Nova app

Os campos Slug e Passphrase preenchidos para importar uma segunda cópia da app
Os campos Slug e Passphrase preenchidos para importar uma segunda cópia da app

Detalhes que valem a pena saber:

  • O pacote pode ter no máximo 200 MB.
  • Um pacote exportado numa versão antiga do Keplin é actualizado automaticamente ao entrar. Um pacote de uma versão mais recente é recusado com um pedido para actualizar a plataforma primeiro.
  • Se algo falhar a meio, nada fica instalado — a importação limpa tudo o que tinha começado a criar e mostra o erro. Nunca fica meia-app.

Depois de importar

O próprio modal deixa o lembrete: "Depois de importar: confirma as ligações dos datasources e os secrets (se o pacote veio sem segredos ficam por preencher) e liga os agendamentos que quiseres — entram sempre desligados." Na prática, a lista de chegada é esta:

  1. Datasources — abre cada um e confirma (ou preenche) a ligação; num pacote sem segredos vêm por configurar.
  2. Secrets — as chaves existem, os valores estão vazios; preenche-os.
  3. Agendamentos — liga os que quiseres, um a um.
  4. Contas — num pacote sem segredos não vêm utilizadores; cria-os nas definições da app (Utilizadores da app) ou liga o registo público.
  5. Publicação e API keys — os hosts e as chaves são sempre desta instalação; publica a app e emite chaves novas para os consumidores.

Erros comuns

Mensagem O que se passa O que fazer
"O ficheiro não é um pacote .keplinapp válido." O ficheiro está corrompido ou não é um pacote. Volta a exportar na origem e usa o ficheiro tal como foi descarregado.
"Este pacote foi exportado com segredos — indica a passphrase." O pacote é do modo protegido e o campo ficou vazio. Preenche a Passphrase e repete.
"Passphrase errada — os segredos do pacote não decifram." A passphrase não é a da exportação. Confirma com quem exportou; sem a passphrase certa o pacote não entra.
'Já existe uma app com o slug "…" — escolhe outro slug para a importação.' O slug original já está ocupado nesta instalação. Preenche Slug (opcional) com um identificador novo.
"Pacote demasiado grande (máx 200 MB)." O ficheiro passa o limite. Exporta sem segredos (os dados ficam de fora) ou reduz os ficheiros da app na origem.
"O pacote é de uma versão mais recente do Keplin…" A instalação de destino está desactualizada. Actualiza a plataforma de destino e importa outra vez.