How do I…

tasksteps
add a content typein settings.json add a table with columns and an admin block, add it to cms.menu, then ./cms reload — the table is created automatically and CRUD appears in the admin. The docs and doc_groups tables of this site are a working reference.
publish it on the siteadd a view and a page route pointing to a new template in hbs/, then restart — new URL paths are registered at startup; ./cms reload applies everything else (templates, views, tables)
give it initial contentput a seed/<table>.json file next to the config — a JSON array of rows, inserted once while the table is empty. This documentation arrived that way.
accept a public formadd a table for submissions plus an api POST route (fields, honeypot, rate_limit) and a form in a template — the Contact page of this site is a working one
add a useradmin → Users → create an invite link and send it; the person sets their own password (24 h, single use)
restrict accessadmin.permissions on the table: list the roles allowed; empty list = admins only
change a passwordDashboard → Change password, or ./cms passwd on the server
back upcopy the SQLite files from db/ — that is all the data, including this documentation
reset the example./cms def-help — overwrites files and database, prints a fresh admin password

← All articles in this group