Hi Baserow Team and Baserow users,
I work in a NGO that is composed by a global team and many local groups (in different cities).
Our Baserow DB contains a group table that contains data of each group and we would like people (belonging to different groups) to be able to update the data of their group without having access to the whole database nor the other groups data.
Using n8n, we have made a (complicated) workflow to satisfy because we did not find a way to do it with Baserow but we think this could be a nice feature in the future.
What we do now:
- each row of the group table has a uuid
- we have created a generic form F (in an update table) containing the field we want users to be able to update
- for each row/group, we build a link which is a n8n webhook that contains the uuid
- given the uuid, a n8n workflow requests Baserow to get the row data and builds an then builds and returns an url corresponding the form F prefilled with the row data (so that user can see what’s on the DB). the use of uuid ensures that malicious users cannot forge a valid url leading to the non authorized form (and data)
- when an user submits the form, the data end up in the update table (so that we keep track of all changes) and a n8n workflow updates the table
This corresponds to this workflow : How to Update Row Data With Baserow Forms 🤔
What could be done in Baserow :
- in the form view, add an option to make it « row-prefillable »
- when selected, this option creates a new field in the table that contains a unique (and secure) url which leads to the form prefilled with the corresponding row fields data
- when submitted, the form updates the row data (instead of creating a new row)
- in option, a way to keep the history would be great
Hope this can help,
asan