Saltcorn 0.3.3 - Row ownership, layout options, plans for 1.0.0

By Tom Nielsen

Published on 18 January 2021

Saltcorn 0.3.3 comes quickly on the heels of 0.3.2 - this is mainly so it can be referred to as a minimal dependency in plugins. 0.3.3 expands the variety of configuration options accessible inside the builder. Any plug-in that takes advantage of that must have 0.3.3 as a minimal dependency. Additional changes include:

  • Row ownership: rows can now be owned by users, so as to give a user permissions to read or write to a table for particular rows. This can be used for instance for a user's social profile information or to assign tasks or cases to individual users. Row ownership is implemented as follows: tables that have one or more fields of type Key to users can nominate a field to signify ownership in the table settings. The user referenced by this field becomes the owner of the row. In the builder, a container can be restricted to be shown only to the owner.
  • Field views are now configurable with options. Different field views can declare any options they find useful, for instance for text input fields this could be a placeholder. Date display or input may be configured by the date format.
  • There is now a limited page to show information about installed plugins from inside the plugin store. Installed plugins have a little question-mark button inside the card which shows the installed plugin version, and what features are provided by the plugin. For instance, if the plugin supplies functions it shows what functions are available and what arguments they expect. This information page will be expanded and will also show the most recently available version, with an option to update.
  • Container options: container width and height can now be specified in multiple units (px, %, vh, rem). You can also set the padding and margin for containers.

The previously promised option for two factor authentication, has been delayed since no one has asked for this. If you want two factor authentication, then let me know, otherwise it won't happen for a while. I'm going to tidy up a couple of loose ends and minor issues for 0.3.4. In terms of planning for a 1.0.0 release, there are two major user-visible issues (one week+ implementation time) missing from the roadmap

  • Tables: a family of related issues pertaining to tables, including: external tables that can be supplied by plugins, optional UUID primary keys and discovery of tables in an existing database from the information schema.
  • Workflows: native Saltcorn workflows. In contrast to Zapier, n8n etc. these will not focus so much on integrating with a vast library of external API - to do that, you should still use an external provider like n8n. Rather, we will focus on the user interactions in the workflow so at different steps to display a form to the user and suspend the workflow until the form submits.

Most other user visible features on the roadmap are small (<1-2 day implementation time). The plan is to have the major user visible issues done by Easter (early April) 2021.

There are also major issues that are less about user visible features, including:

  • Stability - getting to 100% test coverage and far more end-to-end tests. We are currently around 80% coverage.
  • Scalability - reducing database reads by caching meta data
  • Latency - expanding HTML-over-the-wire communication to reduce latency
  • Security - setting up pentests in continuous integration.

Finally, I plan to create a free video course on using Saltcorn.