The concurrent creation of a Free Form Board and another Visual Task Board can populate the Free Form Board with the newly created cards from the other VTBs.
New freeform Visual Task Boards can be automatically assigned unwanted cards for newly-created Task records.
This occurs where a user creates a new VTB) and will find cards related to newly-created Task records (such as Incidents, Problems or Private Tasks) are automatically associated by the system to the first lane of the board.
The root cause is the record watcher failing upon a predicate pair between <x>ISEMPTY and <x>ISNOTEMPTY.
In Single Score Reports on a Dashboard, with Live Update enabled, one report counts unassigned incidents, and the other counts assigned incidents. When an incident is assigned, or the assignee is removed, both reports are incremented or decremented via Live Update. Only when the page is refreshed then the counts will be reflected accurately.
Steps to Reproduce
-- Use case 1
0. Login as administrator in a pre-Jakarta instance.
1. Create or select two different users that have the same admin role.
2. Ensure the two users are both logged in at the same time.
NOTE: Timing on the next steps 3-4-5 is crucial as it will affect the results. These should be taken by the two users at the same time.
3. As Admin 1, create a new VTB Task board from the Task table:
3.1 Open a Task list or an Incident list filtering only active records
3.2 Right click on the column header State
3.3 Select 'Show Visual Task Board'
4. Immediately after the admins board has been created and loaded, as Admin 2, create a new free form board.
5. As Admin 1, generate any task record, such as a new Incident, Problem or Task, and add the new task to the board.
Observe the 2nd Admin's Free Form board populates with Admin 1 newly created card, instead of remaining empty and card free, as no cards have been assigned to it by the creator yet. The freeform VTB will refresh to show a new card in the first lane, which is identified as the same task record created by Admin 1 in step 5.
While the freeform VTB remains open, the problem will cause new cards to be created from new task records, and left open for long enough can exceed the limit of cards that can be assigned to the board while the system automatically generates them.
Once all VTB have been closed in all browsers accessing the instance, the issue is no longer seen.
--- Use case 2
- Create a single-score report for unassigned incidents.
- Table: Incident
- Aggregation: Count
- Condition: Assigned to is empty
- Create a single-score report for assigned incidents.
- Table: Incident
- Aggregation: Count
- Conditions: Assigned to is not empty
- Open a PA dashboard and add a tab.
- Click Add Content.
- Select Reports > Incident, and then the name of the report created in step 2. Add it to the page.
- Repeat step 6 for the report created in step 3.
- Click Edit, and then the cogwheel on each widget ("Edit Widget"). Check Show real-time updates.
- Open the incident list in a separate tab, find an unassigned incident, and add an assignee. Observe that the count increases for both widgets (you would expect unassigned to decrease).
- Find an assigned incident and remove the assignee. Observe that the count decreases for both widgets, while you would expect the unassigned to increase.
- Refresh the dashboard. Notice that counts are now reflected accurately.
As a temporary workaround, in case an upgrade to Jakarta is not possible yet, a Business Rule can be created to automatically assign a "dummy" card to the newly-created freeform VTB. As the new VTB does not satisfy the criteria for the issue (as it is not empty), the Record Watcher will not generate cards to assign to it.
Related Problem: PRB719141