I’m using Seatable Enterprise Edition self-hosted.
Here is the situation:
As an admin, I make a base with a table. First, I create the required columns so I can populate the row using a python script (By reading the the Python SDK documentation, I know that I have to refer the column names in order to be able to insert a row data). Then I populate the row using a python script. I will run the python script periodically. The python script will delete all rows and then inserting new rows with updated data.
After that, I would like to share the base to a user. But I want that the user can’t add or delete a column and add or delete a row. The reason is, first, the name of each columns should be fixed because I have to refer that on the Python Script. Second, the rows data is from the Python Script only.
I want the user can modify how they see the data, for example they can view by group or filtering some data. In addition, some data in a column can be so long so I want the user has an ability to resize the column so he can see the full text (not cropped). In addition, it will be great if the user can also use the statistics tools to visualize the data.
I have tried to share the base to a user by giving the user a permission to read-only. But I can’t achieve my goals with that permission.
You have multiple options to manage user permissions in SeaTable EE. The most important one, sharing permissions, you’ve already found. But there are three more:
Table header locking: You can lock the table headers in order to prevent other users from messing with the column names. This one seems to be relevant for you.
Column permissions: You can grant/revoke access to any column, column-by-column, in a table. You can reach the column permissions from the context menu of the column header.
Row locking: You can also protect individual rows from manipulation by other users by way of simply locking them. (You can also lock all rows, but then a read-only permissions is the easier option).
In the future, there’ll be just one extra way of managing user permissions in a base: table permissions. We are currently working on it and it will be available in a few months.
Me as an admin, restricted all columns permission without locking the header. Then I give the user READ/WRITE permission for the base. Therefore, I login to the base using the user. Yes, the user can’t modify any value in a column, but the user can delete that column