New Table features, easier self-hosting options, improved usability, and more

Vihar Kurama
Posted by Vihar KuramaPublished on Nov 16, 2022
4 min read
Octobersmith

October was almost all about usability at Appsmith. We made some obvious improvements like splitting the Content and Style tabs in widget props, some not-so-obvious but big improvements like mapping datatypes across databases, and shipped useful new features in the Table. Let’s dig in.

The Table is closer to a CRUD app builder

Taking the Table from just a presenter of data to a full CRUD app builder all by itself has been a top initiative at Appsmith. These new features bring it closer to that reality.

  • With in-line editing enabled, you can now use the Select widget’s functionality in the Table. This is great for when you want to offer a menu of triggers as your end-users are editing data in rows.

  • The Table now auto-detects the datatype in columns and changes Column Type in Column settings from Plain text to whatever is most appropriate for the datatype. For example, we will automatically detect numbers, boolean, string, and date values in a column and change the column type to Number so you can see it right by default. This is super-useful when you want to generate a table from a query response that’s tabular, especially when you are using our one-click CRUD app builder.

  • Got images in your Table? Great! You can now cycle through Default, Medium, and Large sizes in Column settings to make your app even more beautiful.

  • One of the quirks-that-irk with web tables is loading a large dataset. In Appsmith, you can forget performance issues with such datasets with the Virtual Row Functionality algorithm. Load as many rows as you want in an infinitely longer scroll without performance issues.

  • The endsWith operator in the Table’s filters is now much better at recognizing what a value ends with. Your Ends with filters should now work better across all string column types.

New usability features

  • For situations when you want to delay the next-best-action via triggers by the onClick event, you can now use setTimeout() much as you would use setInterval().

  • For some databases, you can use forms for quicker and easier query construction. Pro-devs who want to convert RAW code queries to form-based ones for the rest of your team can now do that easily.

On-screen usability isn’t far behind

  • We’ve made it easier to find and configure data and style properties for widgets by splitting props into two intuitive tabs—Content and Style. Designers on your team don’t need to hunt for styling props.

  • You can now fork templates into new and existing apps, which is awesome. Awesomer is that you can also choose a page from a template to fork and all forking works with Git connected apps, too. Build your app faster with templates and as always, let us know which templates would make your life easier.

  • Resizing the container for some widgets messed around with the layout of widgets outside the container. We have now improved that exercise a whole lot.

  • You can now write JavaScript promises without return statements. That’s one less line of code per JS Object.

  • In reskinning our widgets to make them look more consistent and usable, we now have a total 14 widgets that look better.

    • Map Charts have now been upgraded with new legends, captions, and font styles.

    • The Rich Text Editor, JSONForms, Video, Audio, and Forms widgets now look like they belong with the other reskinned widgets.

Easier self-hosting

  • Appsmith now ships with Mongo and Redis built-in so you don’t have to spin up instances individually when installing Appsmith via Kubernetes.

  • Your choice of a reverse proxy now works with Appsmith without a hitch despite there being a NPM proxy that Appsmith ships with by default. This is great if you want your reverse proxy configs to work with Appsmith without having to change anything.

Some more security

  • The iFrame widget, useful to embed other apps or sites in your Appsmith apps, now runs in a sandbox for all new instances. All instances, new and existing, can toggle the environment variable

    APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX=TRUE or =FALSE to disable or enable it, respectively, but we recommend you keep it =FALSE.

  • We have fixed a bug that inadvertently let you edit some other workspace on the same instance than the one you intended to. This didn’t affect anyone neither will it going forward.

  • We also fixed known Apache vulnerabilities and made Appsmith a little more secure.

More details and a bunch more features, improvements, and fixes at our GitHub.👇

Take me there

Peek into the future

Before we publish a public roadmap, here’s a sneak peek into what you can expect from us.

  • Widget dynamic height See widgets grow or shrink automatically within a configurable range relative to screen sizes and other widgets in your app.

  • Context persistence Have Appsmith remember exactly where you were on the canvas, queries, and JS Objects before you switch to a different screen and automatically take you there when you want to.

  • Granular access controls for teams

    Assign access and rights by roles and groups for all your users. Go as granular or as high-level asa you want to.

  • Audit logs

    Stay on top of activity and big changes with a searchable, filterable trail of the what, the who, and the when.