Saltcorn 0.7.1 has been released with the following changes:
Check configuration: I’ve been thinking quite a lot about some of the criticism that software engineers sometimes raise about no-code platforms, that they lack some fundamental software engineering tools such as version control and unit tests. I want to do something about this. An equivalent of version control will come in the future with “snapshots,” but here I took some of the first steps in Quality assurance. There is now a button in the administrators system settings where you can run a configuration check. This looks for many common problems in your configuration and checks that all pages and views can be rendered without errors.
Extra state formula: in view links and embedded views, you can now specify a formula (JavaScript expression) for the extra state in the link or view embedding. This is extremely powerful and allows you to control the user flow with high precision
The columns in the list views are now specified using an editor similar to the menu editor (based on jQuery-menu-editor). This should make it much easier to move columns around
In many places, deeper join fields are now support it up to 3 levels. You can now also configure field views for join fields.
Unsafe plugins: there is now a flag for marking plug-ins as unsafe. Unsafe plug-ins in their configuration give access to a level of control over the server that you may not be prepared to give administrators of tenant applications. Unsafe plug-ins are therefore only installable on the root tenant. On one project using Saltcorn we are using this to allow the user to link to files on shared drives mounted on the server. Other future cases for unsafe plug-ins would be arbitrary SQL execution.
Saltcorn 0.7.0 was released on 15 March 2022 but never announced as I discovered a bug a few hours after the release. I should’ve known that the Ides of March was not an auspicious day for a release. Features introduced included:
Value switch: in show views, you can create a value switch tab. This works like a tab (and is an option in the tab widget) but the actual content shown is dependent on the value of a field. This really helps to structure large views that show different contents depending on the value of one of the fields in the row.
Actions in dropdown menus: you can now specify actions to go in drop-down, both in list and in views created with the drag and drop builder.
Under the hood, our display is now based on Bootstrap 5, and emails are rendered with the MJML layout engine.
In terms of plugins, there has been a lot of work on the JSON plugin. This means that we can now use a Json-based entity attribute value pattern if you have a large number of fields that very between rows. There’s also been a lot of work on a new Gantt chart plugin and the calendar plugin.