Economize até 20% com nossos planos anuais →

Criando Mini Programas

Os mini programas permitem que você estenda a funcionalidade principal do Tommy de praticamente qualquer forma. Essa flexibilidade é um dos principais recursos da plataforma Tommy.

Existem três tipos de complementos que podem ser usados para diferentes finalidades:

  1. Mini Programa Visual Mini programa que integra e estende a interface do aplicativo Tommy.
  2. Complemento Não Visual Complementos que integram com o Sistema de Ações do Tommy
  3. Uma combinação de Visual e Não Visual.

Estrutura de Arquivos

A estrutura de pastas do complemento é muito simples:

O mini programa mais simples possível, que não tem visualizações nem tarefas, poderia ser composto de apenas um único arquivo manifest.yml.

Vamos continuar com uma explicação do arquivo manifest.yml.

Arquivo Manifest

O arquivo de manifesto manifest.yml é o arquivo mais importante em um mini programa. Cada mini programa deve conter um único arquivo de manifesto, que contém todas as informações de metadados, opções de configuração e uma lista de visualizações e ações a serem expostas pelo seu mini programa.

O exemplo de manifesto abaixo foi retirado do mini programa Poke, bastante básico. Este mini programa contém apenas uma visualização, uma tarefa e uma ação, e o arquivo de manifesto se parece com isto:

As opções do manifesto são as seguintes:
  • title: (String) O nome legível por humanos do mini programa.
  • package: (String) O nome legível por máquina do mini programa em underscore case.
  • version: (String) O número da versão de lançamento (deve ser incrementado a cada lançamento).
  • author: (String) O nome do autor dos complementos (pode ser individual ou organização).
  • private: (Boolean) A configuração de privacidade que determina se este mini programa pode ser usado por outros usuários do Tommy ou não.
  • views: (Object) O objeto que contém as visualizações a serem expostas na interface.
  • actions: (Object) O objeto que contém as ações predefinidas implementadas pelo mini programa.
  • triggers: (Object) O objeto que contém os gatilhos de ação implementados pelo mini programa.
  • conditions: (Object) O objeto que contém as condições de ação implementadas pelo mini programa.
  • activities: (Object) O objeto que contém as atividades de ação implementadas pelo mini programa.
  • roles: (Array) Pode ser qualquer função que tenha sido atribuída dinamicamente a um membro da equipe, ou uma das funções integradas: “Team Member”, “Team Manager”, “Team Admin”.

Visualizações

Cada mini programa pode conter várias visualizações a serem expostas na interface. As visualizações são definidas dentro da opção views no arquivo manifest.yml.

As opções do manifesto são as seguintes:
  • id: (String) O id da página de visualização (deve ser único dentro do escopo do complemento).
  • name: (String) O título da página de visualização.
  • file: (String) O caminho relativo da visualização para o arquivo HTML da visualização, ex.: client/main.html.
  • type: (String) O tipo de visualização; os atualmente suportados são page e form
  • index: (Boolean) Defina como true para a visualização principal que será carregada quando o mini programa for iniciado.
  • framed: (Boolean) Se a visualização deve ou não ser carregada dentro de um iframe.
  • roles: (Array) Pode ser qualquer função que tenha sido atribuída dinamicamente a um membro da equipe, ou uma das funções integradas: “Team Member”, “Team Manager”, “Team Admin”.
  • lockable: (Boolean) Permite que a visualização de índice exiba um layout bloqueado.
Se você quiser que a sua visualização seja emoldurada dentro de um iframe, você pode fazê-lo especificando a opção framed: true. Isso é bom para a segurança dos dados da sua visualização, mas esteja ciente de que, como a sua visualização estará sendo executada em um ambiente sandbox, nenhum dos ambientes do Tommy, instância da API ou estilos CSS estarão disponíveis para uso.