Ajustes, archivo config y carpetas de Flow
El archivo config
El archivo config de la raíz de Flow contiene las opciones de la aplicación. Las que importan:
| Línea | Significado |
|---|---|
name | el nombre que muestra la aplicación (se puede cambiar en los ajustes) |
$api : /fapi/ | la dirección de la API JSON |
flowstream_worker : fork | cada FlowStream se ejecuta en su propio proceso |
$proxytimeout : 120 | segundos que un flujo puede tardar en responder a una petición HTTP |
cookie, cookie_secret | se generan en el primer arranque y se guardan en databases/config.json |
Se leen otras opciones cuando existen: directory (la carpeta de los flujos; por defecto es flowstream/ junto a la aplicación), flowstream_memory (un límite de memoria por defecto para los flujos nuevos), flowstream_sandbox y flowstream_asfiles (se pasan a cada flujo), components y templates (los primeros valores de los catálogos) y backup.
Ajustes en la aplicación
El superadministrador abre los ajustes y encuentra:
- name de la instalación;
- components y components2: la dirección del catálogo de componentes (un archivo
db.json, por defectohttps://cdn.totaljs.com/flowstream/webcomponents/db.json) y un segundo catálogo opcional, para que puedas ofrecer tus propios componentes junto a los oficiales; - templates: el catálogo de plantillas de flujos (por defecto
https://cdn.totaljs.com/flowstream/templates/db.json); - env:
dev,testoprod. Los flujos lo leen y cambiarlo los reinicia todos uno a uno; - backup: cada guardado de los flujos renombra el
database.jsonanterior a un archivo con la fecha y el minuto,database_yyyyMMddHHmm.bk; - token: el token aleatorio para
/private/(consulta la API); - darkmode y notify;
- op_reqtoken y op_restoken: los tokens de un OpenPlatform; cuando ambos están definidos, las personas inician sesión con ese OpenPlatform.
Los plugins pueden añadir sus propios ajustes al mismo formulario. El repositorio incluye uno, Bookmarks, una lista de componentes guardados que pueden usar las personas con el permiso bookmarks.
Variables
Cada flujo tiene sus propias variables y existe un conjunto de variables globales, ambos se editan en el editor o con Variables|read y Variables|save. Un componente las lee para no poner direcciones y claves en el diseño, y un cambio llega de inmediato a los flujos en ejecución.
Componentes locales: --components--
La carpeta --components-- del repositorio contiene unos pocos componentes que viajan con la aplicación: checkfreespace, checklog, checkpg, checkurl, console y print. El catálogo oficial es mucho mayor, consulta el repositorio de componentes.
Extensiones
Una extensión añade algo al editor de cada flujo. Copia un archivo .html a la carpeta extensions/ (el repositorio lo documenta en --extensions--/ con un ejemplo test.html) y Flow lo carga para cada flujo: la parte entre <script total> y </script> se ejecuta con el flujo y el resto del archivo se añade al editor.
El entorno de un flujo
Al iniciar cada flujo, Flow le da la carpeta donde guarda sus archivos (directory), las variables globales, el env de la instalación, su límite de memoria y el cargador de extensiones (extensions.js). Un flujo que se cae es reiniciado por Flow, y sus estadísticas (mensajes, pendientes, errores, memoria e id de proceso) las devuelve Streams.