Info |
---|
Release Notes: Grid Behaviours - v2.5.0 Release Date: January 4th6th, 2025 This release document provides a detailed overview of the new Grid Behaviours Feature, outlining its purpose, functionality, and key benefits. |
Table of Contents | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Overview
Idea: Grid Behaviours feature enables restrictions on editing grid content based on user group and issue status. It simplifies access management within grids by defining editable and read-only permissions.
🎯 Goal: The primary goal is to provide a streamlined workflow and interface for configuring and applying grid editing restrictions, ensuring flexible yet controlled access to grid content.
Use Case: Order Management for a Pizza Shop
Scenario
A popular pizza shop uses a Grid on Issue Screen to manage customer orders. The grid contains rows for each order item, with columns like Order Items, Price, Amount, Total, and Special Requests. Issues include 4 Issue Statuses like Todo, Preparing, Ready, Delivered, Canceled.
The staff includes:
Manager: Oversees operations and resolves escalations.
Kitchen Staff: Handles order preparation.
Delivery Staff: Manages delivery of orders.
Currently, all fields in a grid row are either editable or read-only based on user role and the order's status. While this simplifies permission handling, it still ensures data integrity by locking rows when orders are completed or cancelled.
How Grid Behaviours Solve This
1. Role-Based Permissions
Permissions are applied to the entire grid, rather than individual fields:
Manager: Can edit all rows at any time, including updating orders, changing statuses, or reassigning tasks.
Kitchen Staff: Can only edit rows for orders that has Preparing status (e.g., updating items, amount or special request). Grids for other statuses are read-only.
Delivery Staff: Can only read rows for orders in all statuses.
2. Status-Based Restrictions
Grids for orders marked Delivered or Cancelled are read-only for all users except the Manager, preserving historical records.
Example Workflow in Action
1. Order Creation and Preparation:
A cashier adds a new order for "Order #2001" with the status Preparing.
Kitchen Staff view the order in the grid and prepare the items. Once done, they update the Status to Ready, making the grid read-only for them.
2. Delivery Process:
Delivery Staff check the orders with the Ready status. They update the Status to Delivered once the order reaches the customer.
After marking an order as Delivered, the grid becomes read-only for everyone except the Manager.
3. Manager Oversight:
The Manager reviews all orders, resolves escalations (e.g., mistake in order items, amount, or wrong special request), and ensures all Delivered or Cancelled orders remain locked.
Key Features
Grid Configuration UI Update
A new "Grid Behaviours" tab is added to the grid configuration interface for managing grid behaviours.
Configure New Grid Behaviours
A button labelled "Add Grid Behaviours" allows users to create and configure grid behaviours. Clicking opens a form-based popup.
Edit Grid Behaviours Configuration
Users can edit the existing grid behaviours configuration by clicking “Edit” button on each one.
Delete Grid Behaviours
Users can delete the existing grid behaviours by clicking “Delete” button on each one.
Apply Grid Behaviours to Grids
Apply access for a user to a grid on an issue based on:
Attribute (Editable/Read-only)
Condition (Issue Status)
Restriction (Users/Groups/Everyone)
Note |
---|
In the current version, Grid Behaviours are not supported for team-managed projects; they are only available for company-managed projects. |
Audit Log Monitoring
Tracks grid behaviour logs with a focus on conflicts and errors. Automatic cleanup of logs older than 24 hours (daily at 00:00 UTC).
Instructions for Use
Add Grid Behaviour
Step 1: Open Grid Behaviours tab
Navigate to the grid configuration interface.
Select the "Grid Behaviours" tab.
Step 2: Adding a new Grid Behaviour
Click "Add Grid Behaviours" button to add your first grid behaviour.
When you already have grid behaviours, click “Add” button to add a new grid behaviour.
Step 3: Configuring Grid Behaviour
Name Input: Enter your grid behaviour’s name
Element Input: Pre-selected as "Grid" (default) and you can not change it.
Attribute Input: Choose between "Editable" or "Read-only".
Info |
---|
Editable: Users who have this access can read and edit the grid. Read-only: Users who have this access can read and can not edit the grid. |
Condition Input: Select "Issue Status".
Issue Status Input: Select applicable statuses (e.g., "Open", "Closed").
Info |
---|
You can select multiple issue statuses for each behaviour. |
6. Restriction Input: Select "Everybody", specific "Users", or specific "Groups".
Info |
---|
Logic to Apply Behaviours: Behaviours enforce grid access permissions based on priority: If a user is both individually editable and read-only as part of a group, the individual setting overrides the group restriction and everyone restriction also. If two grid behaviours in a grid have the same restriction and condition, prioritize the earlier-created grid behaviour. |
6.1 Everybody: Apply the access of this grid behaviour to all users in the current organization.
6.2 Users: Apply the access of this grid behaviour to all the selected users.
Info |
---|
You can select multiple users. You can type characters in the “Select Users” fieldto search for users. Especially, you can type “@” in the “Select Users” field to show all users in your organization as selections in the dropdown list. |
6.3 Groups: Apply the access of this grid behaviour to all users in the selected groups.
Info |
---|
You can select multiple groups. You can type characters in the “Select Groups” fieldto search for groups. |
Click "Save" to temporarily save the grid behaviour configuration.
After saving, the new grid behaviour will be displayed on the Behaviours List.
Click “Save” to save the grid configuration and the grid behaviour also.
How Grid Behaviours are applied to Grids
Example:
John Doe opens Issue A has Issue Status
Status | ||||
---|---|---|---|---|
|
Step 1: Rearrange grid behaviours based on Issue Status, Restriction, and Created Date.Grid 1 includes 7 grid behaviours Grid Behaviours sorted by earlier created date.
There are 3 steps to rearrange the initial behaviours list:
Rank up grid behaviours including Issue Status =
Status colour Green title Done For grid behaviours have the same Issue Status, rank up grid behaviours including current user (John Doe) in Restriction and sort by the order Users>Groups>Everyone
For grid behaviours have the same Issue Status and Restriction, rank up grid behaviours created earlier than others → GB2 > GB5
Initial Behaviours List in Grid 1
Order by earlier created date | Name | Attribute | Issue Status | Restriction |
1 | GB1 | Read-only | Todo | Groups (including John Doe) |
2 | GB2 | Read-only | Done | Users (John Doe) |
3 | GB3 | Read-only | In Progress | Users (Jessica) |
4 | GB4 | Read-only | Done | Everyone |
5 | GB5 | Editable | Done | Users (John Doe) |
6 | GB6 | Editable | Done | Groups (including John Doe) |
7 | GB7 | Editable | Done | Groups (not including John Doe) |
Step 1: Reorganize the Grid Behaviours List
When John Doe opens Issue A
with Issue Status =
Status | ||||
---|---|---|---|---|
|
Order by earlier created date
Name
Attribute
Issue Status
Restriction
2
GB2
Read-only
Done
, the system sorts the behaviours in the following order:
Prioritize by Issue Status:
Behaviours matching
will come first, above others (e.g., "In Progress").Status colour Green title DONE
Then, prioritize by Restriction:
Behaviours for Users (John Doe)
5
GB5
Editable
Done
are ranked higher than those for Groups or Everyone.
Finally, prioritize by Creation Date:
Behaviours created earlier are ranked higher.
Example Sorted List:
GB2: Read-only, Issue Status =
, Restriction = Users (John Doe)Status colour Green title DONE
6
GB6
Editable
Done
7
GB7
Editable
Done
GB5: Editable, Issue Status =
, Restriction = Users (John Doe)Status colour Green title DONE
4
GB4
Read-only
Done
Everyone
GB6: Editable, Issue Status =
, Restriction = Groups (including John Doe)Status colour Green title DONE
1
GB1
3
GB3
Read-only
In Progress
GB4: Read-only, Issue Status =
Todo
Groups (including John Doe)
, Restriction = EveryoneStatus colour Green title DONE Others are ranked lower based on mismatched conditions.
4
GB4
Read-only
Done
Everyone
Apply
GB4 has sastified Issue Status/Restriction and it has the same Attribute to GB2
7
GB7
Editable
Done
Groups (not including John Doe)
Not apply
GB7 has sastified Issue Status but it has unsastified Restriction
1
GB1
Read-only
Todo
Groups (including John Doe)
Not apply
GB1 has sastified Restriction but it has unsastified Issue Status
3
GB3
Read-only
In Progress
Users (Jessica)
Not apply
GB3 has unsastified Issue Status/Restriction
Status | ||||
---|---|---|---|---|
|
Step 2: Apply the first grid behaviours in the list to the grid
Order by earlier created date
Name
Attribute
Issue Status
Restriction
Apply or not
Explanation
2
GB2
Read-only
Done
Users (John Doe)
Apply
GB2 is the first grid behaviour in the list in Step 1
5
GB5
Editable
Done
Users (John Doe)
Conflict
GB5 has sastified Issue Status/Restriction but it has the different Attribute from GB2
6
GB6
Editable
Done
Conflict
GB6 has sastified Issue Status/Restriction but it has the different Attribute from GB2
Best Matching Behaviour
Once the behaviours are reordered, the system applies the best-matching behaviour according to these rules:
Matching behaviour: If the behaviour's conditions (Issue Status, Restriction) match, it’s applied.
Conflicts: If two behaviours have different attributes (e.g., one is
Read-only
, another isEditable
), the system applies the one that’s ranked highest.
Example Application:
For Issue A, the system checks each behaviour in the reordered list:
GB2: It’s a perfect match (Read-only, Issue Status =
, Restriction = Users (John Doe)) →Status colour Green title DONE Status colour Green title APPLIED GB5: It’s Editable, so it conflicts with GB2 →
Status colour Red title NOT APPLIED GB6: It’s also Editable, so it conflicts with GB2 →
Status colour Red title NOT APPLIED GB4: It’s Read-only and matches the status and restriction →
Status colour Green title APPLIED Other Behaviours: Do not meet the required conditions (either Issue Status or Restriction) →
Status colour Red title NOT APPLIED
Final Result: What John Doe Sees
Since GB2 and GB4 are applied, the grid is Read-only for John Doe because:
GB2: Read-only, matches the conditions perfectly.
GB4: Also Read-only and matches the conditions, but it applies to a wider group (Everyone).
Conclusion: John Doe can only view the grid (read-only), and the system adapts dynamically to his user role and the issue's status.
Tip |
---|
Key Points to Remember
|
View Recent Failed Audit Logs
Open the "Recent Failed Audit Logs" from the "Grid Behaviours" tab by clicking button.
Review conflict and error logs. View details by clicking “Show more” button.
a. Not applied grid behaviour:
A grid behavior will not be applied if either of the following conditions occurs:
User who opened the issue including this grid isn’t in Restriction of this grid behaviour.
Or the issue opened by user doesn’t sastify satisfy Condition of this grid behaviour.
b. Conflicted grid behaviour:
A grid behavior will conflict if the following 4 conditions occur simultaneously:
The issue opened by user sastifies Condition of this grid behaviour.
User who opened the issue including this grid is in Restriction of this grid behaviour.
This grid behaviour isn’t applied.
Attribute of this grid behaviour is different from the applied one.
Feedback and Support
For more information, visit our Support Portal here.
Conclusion
The Grid Behaviours feature empowers administrators to control grid content access efficiently by defining restrictions based on user roles and issue statuses. With intuitive configuration options and robust monitoring via the Audit Log, this feature ensures that editing permissions align with organizational requirements while resolving conflicts through a clear prioritization hierarchy.
By leveraging this feature, users can streamline grid management while maintaining precise control over who can edit content and under what circumstances. This functionality is designed to reduce complexity and enhance productivity within your organization. We encourage users to explore the "Grid Behaviours" tab and customize access rules to suit their unique workflows. If you encounter any challenges or have feedback, our support team is available to assist and improve your experience further.