Saltcorn es una plataforma open-source y low-code diseñada para crear aplicaciones web personalizadas (como CRUDs, dashboards, formularios complejos o sistemas internos) sin necesidad de programar
Las notas aquí incluidas se centran en la versión 1.0.0 de Saltcorn.
Necesitaremos un fichero .env con el siguiente contenido que podremos adaptar a nuestro gusto:
PGDATABASE=saltcorn PGUSER=postgres PGPASSWORD=postgres DOMAIN=localhost SALTCORN_SECRET=supersecretsaltcornsalt
Creamos la base base de datos ejecutando el siguiente comando:
docker run -it -v /ruta/saltcorn:/db -e SQLITE_FILEPATH=/db/db.sqlite -e SALTCORN_SESSION_SECRET=s3cr3t saltcorn/saltcorn reset-schema
El comando anterior creará el fichero db.sqlite en el directorio /ruta/saltcorn.
Fichero Docker Compose:
--- services: saltcorn: image: saltcorn/saltcorn container_name: saltcorn command: "serve" restart: unless-stopped ports: - "3000:3000" environment: - SALTCORN_SESSION_SECRET=${SALTCORN_SECRET} - SQLITE_FILEPATH=/db/db.sqlite volumes: - ./db:/db
Necesitaremos el fichero docker-entrypoint-initdb.sql (instrucciones para crear la base de datos) que podemos descargar desde aquí.
También un fichero .env con el siguiente contenido que podremos adaptar a nuestro gusto:
PGDATABASE=saltcorn PGUSER=postgres PGPASSWORD=postgres DOMAIN=localhost SALTCORN_SECRET=supersecretsaltcornsalt
Fichero Docker Compose:
--- services: saltcorn-app: image: saltcorn/saltcorn container_name: saltcorn depends_on: - saltcorn-db command: "serve" restart: always networks: - saltcorn ports: #not needed if using traefik - "3000:3000" environment: - SALTCORN_SESSION_SECRET=${SALTCORN_SECRET} - PGHOST=saltcorn-db - PGUSER=${PGUSER} - PGDATABASE=${PGDATABASE} - PGPASSWORD=${PGPASSWORD} saltcorn-db: image: postgres:13-alpine container_name: saltcorn-db restart: always networks: - saltcorn volumes: - ./data:/var/lib/postgresql/data #save the db to a mount point if you wish, otherwise will use docker container management - ./docker-entrypoint-initdb.sql:/docker-entrypoint-initdb.d/init.sql # This is the init script for the database environment: - POSTGRES_USER=${PGUSER} # initdb.sql script will only work for user "postgres" - POSTGRES_PASSWORD=${PGPASSWORD} - POSTGRES_DB=${PGDATABASE} networks: saltcorn: name: saltcorn-net
Para crear páginas: Pages → Create page. En la opción “Minimum role” elegimos public. Cuando terminemos la configuración y se haya creado la página, volvemos al menú Pages y vamos a la sección Root pages. Ahí nos desplazamos al rol public y en el desplegable marcamos la página que acabamos de crear.
A partir de entonces, cuando cualquier visitante (cualquier persona no registrada) llegue a nuestra instalación de Saltcorn, verá la página que creamos.
Útiles para generar contenido dinámico. En Saltcorn, una aplicación está asociada con una base de datos. Una base de datos es una colección de tablas. Las tablas se usan para estructurar los datos en filas y columnas / campos.
Para crear tablas: Tablas → Create table.
Saltborn creará por nosotros el campo ID en cada tabla. Este campo se usará como clave primaria.
Cuando creamos un campo nuevo, en Label podemos usar mayúsculas y espacios. Internamente, Saltburn sustituirá los espacios por guiones bajos (_) y pasará todo a minúsculas.
Tipo de dato para los campos:
true (cierto) o false (falso).Después de crear las tablas, lo normal es crear vistas para mostrar los datos de las tablas.
Después de crear las tablas, lo normal es crear vistas para mostrar los datos de las tablas. No nos interesa que los usuarios vean los datos de la tabla tal cual están guardados en la base de datos. Tampoco solemos querer que el usuario pueda editar las tablas directamente. Para todo esto son útiles las vistas.
Un vista pertenece a una tabla.
Cada vista sigue un patrón de vista:
List, Edit y Show son los patrones más habituales.
Para extender las funcionalidades base de Saltcorn podemos instalar plugins. Por ejemplo, para que en los campos tipo fecha se muestre un calendario para elegir el día, podemos instalar flatpickr-date.
Los plugins se instalan desde Settings → Modules → Modules.
Los packs ofrecen funcionalidades que podríamos conseguir mediante la creación de tablas, vistas, páginas… Nos permite construir por ejemplo un blog, una wiki, etc. Serían como aplicaciones completas. Proporcionan la estructura, no los datos.
Los packs se instalan desde Settings → Modules → Packs.
Settings → Users and security
Como administrador, desde Settings → Users and security → Users podremos crear nuevos usuarios mediante el enlace Create user.
Si no queremos que cualquier visitante pueda crear una cuenta en nuestra instalación de Saltcorn, como administradores, debemos ir a Settings → Users and security → Login and Signup. Ahí desmarcaremos la casilla que pone Allow users to sign up for a new user account.
Desde ese momento, la única manera de crear nuevas cuentas será desde el panel de administración, mediante Settings → Users and security → Users.
Hay dos formas, una es ir al editor de menús (Settings → Site structure → Menu) y la otra es ir a Pages, localizar la página deseada y pulsar en el botón con los 3 puntos para luego elegir Add to menu.