Baserow 1.14: Audit log, more granular permissions, and more

The past few weeks have been incredibly productive for Baserow, despite the holiday season. We have been hard at work enhancing our security features and addressing the privacy needs of large organizations. If you want to learn more about these exciting updates, keep reading!

Audit log

Audit log is a powerful Baserow feature that provides a detailed record of every action taken within your Baserow instance. With the audit log, you can easily track and monitor the activities of you and your collaborators. It allows you to organize actions by date and filter them by group, user, or event type. This feature is currently available only to server admins.

https://t2341612.p.clickup-attachments.com/t2341612/66797201-e739-4bbb-b7fb-c689f9f3a78d/image.png

Audit log events

The audit logs are stored for a maximum of 360 days. Each event in the audit log includes the following information:

  • The action that was executed.
  • The email address of the user who executed the action.
  • The date and time when the action was executed.
  • The IP address of the executor.
  • The group to which the action was related.

Use the fields to filter results based on your criteria. You can choose from:

User: Enter an email address to view events related to a specific person.

Group: Select a group to view activity within that group.

Action: Choose a specific type of event.

Year, month, and date: Enter a start and end date to see results for a specific date range.

Additionally, admins have the ability to export audit logs to CSV files and integrate other tools with our API.

Role-based access control (RBAC)

Role-based access control (RBAC) in Baserow allows you to control the access and editing permissions for groups, databases, and tables. In version 1.14.0, we have introduced the ability to assign roles to users or teams on individual databases and tables, providing even more granular permission control.

Baserow Roles offer organizations greater flexibility in granting permissions to their members. Roles can be assigned to either users or teams in a workspace, database, or table.

https://t2341612.p.clickup-attachments.com/t2341612/0908a3d7-5249-4bb8-adb4-485a099352e8/image.png

Database level

You can now assign roles to individual users or teams on databases. Database roles override any default roles set at the group level, allowing you to make exceptions to group-wide defaults. If a user or team has a role on a database, they automatically have that role on every table within that database.

https://t2341612.p.clickup-attachments.com/t2341612/8b913081-49d7-441b-9f0a-7192dc27be83/image.png

Table Level

Roles can also be assigned to individual users or teams on tables. Table roles override any group or database roles, giving you the ability to make granular exceptions.

https://t2341612.p.clickup-attachments.com/t2341612/6966b81b-9af1-412a-8749-d9c0b574a0c3/image.png

RBAC is available to self-hosters on the Enterprise plan and to users who purchase the Advanced plan on Baserow.io.

Softr integration

We are currently exploring the interest of our users in integrating with Softr, a user-friendly no-code application builder.

Would you like to see Softr powered by Baserow? Fill out this short survey and cast your vote on the future integration of Softr + Baserow: https://softr.typeform.com/to/zSQJ7BeA.

New templates

We have added several new templates and made upgrades to existing ones. Check out the templates page for the latest updates.

New templates

Community activities

Contest

The first Baserow community contest, “Made With Baserow,” is currently underway.

The rules are simple: share what you are building with Baserow for a chance to win a $100 gift card, Baserow goodies, and a Premium Plan for 1 year. Enter the contest here!

Participate and become an inspiration to the team and the community!

The call for entries is open until January 30.

Code contributions

Today, we would like to express our gratitude to Abdalla Mahmoud for resolving the “Form validator shows ‘error.required’ instead of the actual message.” issue. Abdalla is one of our most active open-source contributors, and we truly appreciate his enthusiasm and ongoing support.

We would also like to thank cybernet2u for their contribution to the project with the “One liner for docker login && CI_REGISTRY var” merge request. Cybernet2u, your time and effort are greatly appreciated!

Lastly, we want to acknowledge Jonathan for providing technical assistance to other users in the community forum. Your support is truly amazing, Jon.

Tutorials

We would like to thank Ju Oliveira for creating amazing tutorials on how to use Baserow with Kodular and AppGyver. Check out these helpful videos:

We would also like to acknowledge Luiz Eduardo Oliveira Fonseca for creating other useful videos on how to use Baserow to drive marketing impact and innovation:

A big thank you to everyone who helps us create educational content about Baserow!

Events

We’ll be attending State of Open Con 23, the U.K.'s first Open Technology conference, taking place in London on February 7-8. Our co-founder and CEO, Bram Wiepjes, will be one of the speakers on the Open Source Startup Entrepreneurship track.

We believe this event will be unique and memorable, and we invite you all to join us either in person or online (digital attendance is free).

Register here!

All changes, including bug fixes

Here are all the changes and bug fixes included in Baserow 1.14:

  • When your permissions change, you will now receive a notification in the frontend to reload your page.
  • Various help icons have been added to explain RBAC in the UI.
  • Database and table IDs are now hashed in websocket messages to prevent sensitive data leakage.
  • The “Audit Log” enterprise feature has been added, allowing admins to see every action taken within the instance.
  • Pressing shift + enter in a selected cell of the grid view now creates a new row.
  • Pressing enter on a selected cell will now select the cell below.
  • The primary field is now automatically selected in the grid view after creating a new row.
  • A new setting has been added to the Admin Settings page to enable/disable global group creation.
  • “Has” and “has not” filters have been added for the Collaborators field.
  • The ./dev.sh script now uses the “docker compose” command if available.
  • The number of characters for messages in group invitations has been limited to 250.
  • A “select” and “deselect all” members button has been introduced to the teams modal.
  • Free label has been added to free roles on the role selector.
  • An encoding issue that prevented the import of XML files with non-ASCII characters has been fixed.
  • Groups can now be restored when RBAC is enabled.
  • A typo in the docker-compose.no-caddy.yml file has been fixed to ensure it works out of the box.
  • The form validator now shows the correct message when a field is required.
  • Errors after migrating and syncing RBAC roles have been prevented by adding a migration to rename NO_ROLE to NO_ACCESS.
  • An issue where two admins could lower each other’s permissions simultaneously and lock each other out has been fixed.
  • Restoring a license from premium to enterprise no longer results in an expired license.
  • The curl examples in the API documentation have been tweaked to work properly in all $SHELLs.
  • The “contains not” and “has not” English filters have been replaced with “doesn’t contain” and “doesn’t have,” respectively.
  • The HOURS_UNTIL_TRASH_PERMANENTLY_DELETED environment variable is now converted to an integer.
  • The Change Password dialog is now visible.
  • An issue where it was not possible to change the color of the conditional_color decorator provider after reloading has been fixed.
  • Importing a database no longer immediately closes the modal without showing progress.
  • An issue during the import of serialized applications that caused formula columns to have incorrect database columns has been fixed.
  • The deprecated execCommand('copy') has been replaced with the clipboard API for copy and paste functionality.
  • A single-parent hierarchy for models has been introduced.
  • Refactoring has been done to pave the way for the future removal of the ExportJob system in favor of the core/jobs system.
  • The return code for a POST submitted to /api/snapshots/application/$ID/ has been changed from HTTP_200_OK to HTTP_202_ACCEPTED to indicate that an async job has started.

What’s next?

In the next two weeks, our development team will focus on fixing bugs. After that, we plan to start working on the new roadmap for 2023, which will be published on the Baserow homepage.

If you have any questions or anything else you’d like to discuss, join the Baserow community forum and let’s stay connected!