Last modified by field
Goal
The goal of the ticket and the associated MR will be to add Last modified field in a basic form.
The support for will be included:
- creating/deleting/restoring fields
- values are updated when rows are modified (including batch operations)
- database imports and exports
- table imports and export
- copy and pasting
- field conversions
- support for all views (except forms)
- support for public views
- real-time updates
The support for will NOT be included and has a separate issue:
- users outside of the workspace #2107
- sorting #2106 (closed)
- searchable #2108 (closed)
- filters #2109 (closed)
- referencing in formulas #2110
- lookups #2111
- aggregations #2114 (closed)
- creating underlying last_modified_by column for older tables when users use API and not browse views (#1731)
- improved frontend "immediate" rendering #2113 (closed)
Additionally it would be great to solve #2112 (closed).
Overall (original) description
This issue is about introducing a new field type that allows users to see who has last made changes to a specific row. The field type will must be named: "Last modified by".
- Introduce a new field type named: "Last modified by".
- The styling should be the same as the multiple collaborators field type, but it will always show one collaborator, and it's not a dropdown.
- Same as with the "last modified" field, we want to silently store the user who last modified the row. This will allow us to immediately populate the cell values when the field is created using that data.
- The functionality is similar to the "Last modified" field, but instead of showing a date when it was changed, it will show who has last changed the row.
- The field type is read-only and can't be directly modified. It will automatically be updated when a user makes a change to the row.
- When a user is completely removed from the workspace, then the "Last modified by" cell values can be empty. I don't think we should loop over all tables when this happens, I think it's fine to do something similar as the "Single select" field where if the select option doesn't exist anymore, we just do show it.
- If a user makes a change to the row in via the web-frontend, we can immediately update the cell value without having to wait for the backend.
- It would be nice if the serialized export/import would remember the user who last modified the row.
- We want to introduce the
is
,is not
,is empty
andis not empty
filters. - Sorting should work alphabetically based on the visible name of the user.
- We want the
empty
,filled
,percent empty
, andunique
aggregations to be compatible. - We would have to look into which formula functions must be introduced to work with this data.
Edited by Petr Stribny