Definições do Flow, ficheiro config e pastas
O ficheiro config
O ficheiro config na raiz do Flow contém as opções da aplicação. As que importam:
| Linha | Significado |
|---|---|
name | o nome mostrado pela aplicação (pode ser alterado nas definições) |
$api : /fapi/ | o endereço da API JSON |
flowstream_worker : fork | cada FlowStream corre no seu próprio processo |
$proxytimeout : 120 | segundos que um fluxo pode demorar a responder a um pedido HTTP |
cookie, cookie_secret | gerados no primeiro arranque e guardados em databases/config.json |
Outras opções são lidas quando existem: directory (a pasta dos fluxos; a predefinida é flowstream/ junto da aplicação), flowstream_memory (um limite de memória predefinido para os fluxos novos), flowstream_sandbox e flowstream_asfiles (são passados a cada fluxo), components e templates (os primeiros valores dos catálogos) e backup.
Definições na aplicação
O superadministrador abre as definições e encontra:
- name da instalação;
- components e components2: o endereço do catálogo de componentes (um ficheiro
db.json, por predefiniçãohttps://cdn.totaljs.com/flowstream/webcomponents/db.json) e um segundo catálogo opcional, para poder oferecer os seus próprios componentes junto dos oficiais; - templates: o catálogo de modelos de fluxos (por predefinição
https://cdn.totaljs.com/flowstream/templates/db.json); - env:
dev,testouprod. Os fluxos leem-no e alterá-lo reinicia-os todos, um a um; - backup: cada gravação dos fluxos renomeia o
database.jsonanterior para um ficheiro com a data e o minuto,database_yyyyMMddHHmm.bk; - token: o token aleatório para
/private/(veja a API); - darkmode e notify;
- op_reqtoken e op_restoken: os tokens de um OpenPlatform; quando ambos estão definidos, as pessoas iniciam sessão com esse OpenPlatform.
Os plugins podem acrescentar as suas próprias definições ao mesmo formulário. O repositório inclui um, Bookmarks, uma lista de componentes guardados que as pessoas com a permissão bookmarks podem usar.
Variáveis
Cada fluxo tem as suas próprias variáveis e existe um conjunto de variáveis globais, ambos editados no editor ou com Variables|read e Variables|save. Um componente lê-as para não pôr endereços e chaves no design, e uma alteração chega logo aos fluxos em execução.
Componentes locais: --components--
A pasta --components-- do repositório contém alguns componentes que viajam com a aplicação: checkfreespace, checklog, checkpg, checkurl, console e print. O catálogo oficial é muito maior, veja o repositório de componentes.
Extensões
Uma extensão acrescenta algo ao editor de cada fluxo. Copie um ficheiro .html para a pasta extensions/ (o repositório documenta-o em --extensions--/ com um exemplo test.html) e o Flow carrega-o para cada fluxo: a parte entre <script total> e </script> corre com o fluxo e o resto do ficheiro é acrescentado ao editor.
O ambiente de um fluxo
No arranque de cada fluxo, o Flow dá-lhe a pasta onde guarda os seus ficheiros (directory), as variáveis globais, o env da instalação, o seu limite de memória e o carregador de extensões (extensions.js). Um fluxo que falha é reiniciado pelo Flow, e as suas estatísticas (mensagens, pendentes, erros, memória e id do processo) são devolvidas por Streams.