Saltcorn 0.7.4 - Snapshots, tags, iOS

By Tom Nielsen
Published on 

Snapshots – snapshots are a kind of backup of your application which you can use to restore your application to an earlier state. Unlike backups, snapshots only store your application build and not the data in your tables. This means that they are lightweight and can be made much more frequently. In addition, it is easier to restore individual views and pages to their state from an earlier snapshot. Every view and page now has a restore option where you can reset that entity to its state at a previous snapshot of your choosing. You have to enable snapshots under the backup settings.

Tags – as larger applications are built on Saltcorn, different entities fall into different groups. You can now create tags and apply tags to tables, pages, views and actions. For instance, if you are building an application for many aspects of the function of a company, you might have a tag called CRM for all of the tables and views related to customer relationship management.

Diagram – we are working on a generalisation of the idea of the “entity relationship diagram” from database design to include pages, views and actions from your application. In an entity relationship diagram, there is a box representing each table and arrows between the tables representing their relationships (Foreign keys). We are adding boxes for views and pages, with an arrow representing a relationship between a view and a table (View uses data from table) and between views (View embeds or links to other view). 

The three points above are related to a common theme of bringing best practices from software engineering to no-code application building. Snapshots are our answer to version control, and tags correspond to module namespaces. Diagrams are most closely related to UML design diagrams.

Other improvements:

iOS app build – you can now build iOS mobile applications. A macOS instance with Xcode installed is required to do this, and it is therefore not available on Android application builds are now available on subdomain tenants, and only requires Docker to be installed in addition to Saltcorn.

Popup isolated state – views in pop-ups now have an isolated state so you can use filters inside pop-ups and they will only affect the views in the pop-up, not in the page underneath the pop-up.

Split paste – an option in the edit views allows you to split clipboard paste content by line into different inputs. This is very useful when copying data from a spreadsheet such as Excel, if you select a column of cells and paste them into a form, each cell will go into a different field input. If you are able to carefully coordinate the order of imports in your Edit view with the arrangement of the spreadsheet, this can be very efficient in some situations.

Joinfields can now be used in many formulae: table ownership formula, stored calculated fields, extra state formulae for links and view embeddings, container show-if formulae

Join-aggregations – you can now calculate aggregations for a row that is related to the current row by a join field. In the parent-child view of table relationships, you can use this to make aggregates about your “siblings”.

Aggregation fieldviews – you can now choose field views for aggregates when appropriate. View settings are not yet available but will be in the next release.

Finally, this release comes with a warning shown in your view settings: in the next release of Saltcorn, there will be stricter checks of permissions on rows that are read in views. Previously, view permissions were determined only by the role to access in that view. That meant that a view could display data to which there was no table read access. This was useful in some situations, but now that we have table ownership (by field selection or formula), you should use that mechanism to allow read access for specific users. In the next release, table read access will be enforced so that you have to have read access to data you want to show.

Recent posts