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:
- Mini Programa Visual Mini programa que integra e estende a interface do aplicativo Tommy.
- Complemento Não Visual Complementos que integram com o Sistema de Ações do Tommy
- 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.