KEPLIN Docs

Definições da plataforma

O painel de administração da instalação — trabalho de fundo, email dos avisos, limiares, limites, actualizações e a app móvel.

As Definições são o painel de controlo da instalação inteira. Não são as definições de uma app — essas vivem dentro de cada app e viajam com ela. Aqui decide-se o que a plataforma faz sozinha, para onde manda os avisos, a partir de que valores se preocupa, e quanto tempo dura uma sessão.

Abre-se pelo item Definições, no fundo da barra lateral. Só contas com perfil de administrador lá entram.

O ecrã de Definições da plataforma, com as secções de trabalho de fundo, email, limiares e limites
O ecrã de Definições da plataforma, com as secções de trabalho de fundo, email, limiares e limites

Nota

Todas as definições desta página se gravam com o botão Gravar, no fundo do ecrã. Sair sem gravar não guarda nada.

Trabalho de fundo

A primeira secção liga e desliga o que corre sozinho enquanto ninguém está a olhar. São quatro interruptores independentes:

Interruptor O que acontece quando está ligado O que perde quando o desliga
Agendador Corre os agendamentos, os relatórios agendados e os temporizadores dos workflows. Nada se apaga: as horas marcadas simplesmente não correm até voltar a ligar.
Índice de observabilidade Leva o que as apps registam para o índice central e aplica os prazos de retenção de cada app. Os ecrãs do Radar mostram dados velhos e os registos ficam guardados para sempre.
Notificações em tempo real As notificações chegam ao ecrã de quem está a trabalhar, no momento. As notificações continuam a ser criadas e entregues — mas só aparecem na visita seguinte.
Avisos por email Avisa quando algo passa dos limites definidos mais abaixo. Ninguém é avisado; os problemas só se descobrem ao abrir o Radar.

Os quatro interruptores do trabalho de fundo
Os quatro interruptores do trabalho de fundo

Atenção

Desligar o Agendador é a causa número um de "os meus scripts deixaram de correr". Se um agendamento parece morto, confirma este interruptor antes de investigar o script. Vale o mesmo para relatórios agendados e para passos de espera em workflows — dependem todos do mesmo motor.

Email dos avisos

É por aqui que a plataforma manda os alarmes dela — não confundir com o email que cada app manda aos utilizadores dela, que se configura nos canais de notificação da app.

Preenche:

  1. Servidor e Porta do serviço de email.
  2. TLS implícito — liga para SMTPS (porto 465); desliga para STARTTLS (porto 587).
  3. Utilizador e Palavra-passe da conta de envio. A palavra-passe escreve-se uma vez e nunca volta ao ecrã: o campo passa a dizer que está definida, e deixá-lo vazio significa "não mexer", nunca "apagar".
  4. Remetente — o endereço que aparece a quem recebe.
  5. Destinatários — quem recebe os alarmes, separados por vírgulas.

A secção do email dos avisos preenchida
A secção do email dos avisos preenchida

A partir de quando avisar

Os limiares dizem à plataforma o que é normal e o que merece um email. Todos são avaliados dentro da janela definida no fim da secção.

Valor O que significa
Erros de API (%) Percentagem de pedidos com erro acima da qual se abre um alarme.
Pedidos mínimos Abaixo deste número de pedidos, a percentagem não conta. Um erro em três pedidos são 33% e não quer dizer nada.
Scripts falhados Quantas execuções falhadas abrem um alarme.
Atraso da fila (s) Quanto tempo o trabalho de fundo pode ficar para trás antes de ser considerado atrasado.
Disco livre (%) Abaixo desta percentagem, avisa.
Janela (min) O período em que tudo o que está acima é contado.

Dica

Numa instalação com pouco tráfego, sobe os Pedidos mínimos. É o campo que evita alarmes falsos em apps que só são usadas de manhã.

Sessões e limites

Duas definições que valem para toda a plataforma:

  • Duração da sessão (h) — quanto tempo uma sessão dura sem actividade. Enquanto se trabalha, a sessão renova-se sozinha; só a inactividade prolongada obriga a entrar de novo.
  • Ficheiro máximo (MB) — o tamanho máximo de um ficheiro carregado em qualquer app da instalação. Vale também para os ficheiros carregados nos assets de uma app. Vai até 100 MB. A importação de apps não depende deste valor: aceita pacotes até 1 GB (ver Importar e exportar apps).

Endereço público

O Endereço público é o endereço por onde as pessoas abrem a plataforma, por exemplo https://plataforma.exemplo.pt. É o que vai nos links dos emails, como o da recuperação da palavra-passe das contas das apps. A secção só aparece numa instalação com um só tenant; em multitenant vale o endereço de cada tenant.

Fica preenchido no primeiro login de um administrador, com o endereço por onde ele entrou. Se não for o endereço que as pessoas usam (por exemplo, se o administrador entrou pelo IP da rede interna), corrige-o e carrega em Gravar.

Sem Endereço público, a recuperação da palavra-passe só funciona nas apps publicadas num domínio próprio. O endereço que vem num pedido nunca serve para o link, porque é quem faz o pedido que o escolhe.

Servidor PostgreSQL da plataforma

Para os datasources internos em PostgreSQL (ver Ligar bases de dados), a instalação precisa de um servidor PostgreSQL onde a plataforma cria as bases. A configuração é da instalação, não de uma app: numa instalação de uma só organização fica nas Definições, na secção Servidor PostgreSQL gerido; numa instalação com vários clientes fica no backoffice da instalação. Preenche o endereço, o porto, a conta de administração e o limite de bases por cliente, grava e usa Testar servidor para confirmar que a plataforma consegue criar bases nesse servidor. Enquanto não estiver configurado, a opção PostgreSQL do separador Interno aparece desactivada ao criar um datasource.

Actualizar a plataforma

Onde e como se actualiza depende do modo da instalação:

  • Instalação de uma só organização: não há actualização pela interface. A secção Actualizar a plataforma das Definições mostra a Versão instalada: e o comando a correr na consola do servidor com o zip da versão nova, com um botão para o copiar. O instalador mantém as configurações e os dados e corre as migrações; para voltar a uma versão anterior, instala-se o zip dessa versão.
  • Instalação com vários clientes: a actualização faz-se no backoffice da instalação, em Actualizações, e é esse ecrã que o resto desta secção descreve. As Definições de cada cliente não têm actualizações.

A secção de actualização mostra a versão instalada e a lista de versões disponíveis. O processo tem dois botões de propósito:

  1. Preparar — vai buscar a versão escolhida e prepara-a sem tocar em nada do que está a servir. A plataforma continua a funcionar.
  2. Quando a preparação termina, aparece o plano: quantas bases de dados vão ser migradas, que ficheiros de apps são reescritos e em quantas versões, mais o aviso de que as bases de dados são copiadas antes de se mexer em nada.
  3. Aplicar esta actualização — só depois de leres o plano. A plataforma fica indisponível durante o reinício e volta na versão nova.

O plano de uma actualização, antes de ser aplicada
O plano de uma actualização, antes de ser aplicada

Nota

Se alguma app tiver em disco alterações que ainda não estão no histórico, o plano di-lo e a actualização grava-as primeiro, num registo à parte, antes de reescrever os ficheiros. Os ficheiros que a plataforma escreve sozinha, como as cópias das dependências dos scripts que um agendamento faz, não contam.

Se alguma coisa correr mal a meio, a versão anterior é reposta automaticamente e o ecrã di-lo — incluindo o registo do que falhou.

A reposição devolve ao estado de antes da actualização as bases de dados e também os ficheiros das apps que as migrações tinham reescrito.

Aplicação móvel

A última secção serve a app Android com que se entra nas apps desta plataforma. Tem dois ficheiros para transferir e um código QR por app — está explicado em detalhe no capítulo App móvel.

A secção da aplicação móvel, com os downloads e o código QR
A secção da aplicação móvel, com os downloads e o código QR

Ficheiros sem uso

Os ficheiros carregados nas apps não se apagam sozinhos: nem quando o registo que os tinha é apagado, nem quando um anexo é substituído, nem quando um formulário fica a meio. Ver os ficheiros sem uso abre a página onde os encontras e decides o que sai.

  1. Carrega em Procurar ficheiros sem uso. A procura lê todas as apps, e numa app com bases grandes pode demorar.
  2. Cada app aparece com os ficheiros que nenhuma referência conhecida usa: nome, tamanho, data e versões. O ícone ao lado do nome descarrega o ficheiro, para confirmares o que é.
  3. Escolhe os ficheiros e carrega em Apagar seleccionados. A página pede confirmação; antes de apagar, a plataforma volta a procurar, e um ficheiro que entretanto passou a ser usado fica.

Um ficheiro conta como usado quando o token dele aparece no desenho da app, nas bases SQLite da app (incluindo processos e notificações) ou numa coluna de texto de uma tabela do modelo, em qualquer versão. Uma tabela fora do modelo ou um sistema externo não são vistos: confirma antes de apagar. Os ficheiros das últimas 24 horas não entram, e uma app com uma base que não se consegue ler fica de fora da lista.

Atenção

Um ficheiro apagado não volta. Os bytes saem do armazenamento da app e o ficheiro sai do registo de todas as versões.

Perguntas frequentes

Mudei um limiar e não recebi nada. Os alarmes só são avaliados de minuto a minuto e apenas dentro da janela definida. Confirma também que o interruptor Avisos por email está ligado e que há destinatários preenchidos.

Posso ter servidores de email diferentes por app? Sim — e é o normal. O email desta página é só o dos avisos da plataforma; cada app configura os seus canais nas definições dela.

Quem consegue ver esta página? Apenas contas com perfil de administrador. Um developer não a vê na barra lateral nem lá entra por endereço directo.