Non-collaborators can't add bugs
When creating a bug, can't select the correct bugs folder and it doesn't automatically populate.
When creating a bug, can't select the correct bugs folder and it doesn't automatically populate.
Problem statement:
- tree state is not managed globally, so it's currently not possible to find selected nodes across all trees. This means that we can't pre-populate the correct parent across all trees when creating a new socra
Potential solutions:
- Create a global store for tree data. More work, but gives us a single set of cached nodes, along with expand/selected state of nodes across trees.
- Could even store spaces in this way
- Store would contain keys for all nodes, as well as per-tree object containing:
- nodes in the tree, and for each node, the current expand/selected state of the node.
- Use selected Journey PK along with nav tab state to query the parent when user clicks on "new socra"
Thoughts:
- [x] Add setting called `anyone_can_add_socras`. Only relevant for public Journeys. Rules:
- [x] Cascade on toggle, inherit from parent.
- [x] tests
- [x] deploy
- [x] should be default ON when switching to public
- [x] add public icon to folder icon on navIn the Socra titled "Non-collaborators can't add bugs," created by Mike Morton on October 18, 2024, the team addressed a critical issue where users were unable to select the correct bugs folder when creating a bug, leading to difficulties in bug creation. The root of the problem lay in the inadequate management of tree state, which was not globally accessible. This limitation prevented the pre-population of the correct parent nodes across all trees when initiating a new Socra.
To resolve this, several potential solutions were proposed, including the establishment of a global store for tree data. This would enable a unified cache of nodes and maintain the expand/selected state across various trees. Furthermore, it was suggested that the store could accommodate spaces and contain keys for all nodes, along with per-tree objects that detail the state of each node.
The team also considered enhancing user permissions for public journeys by adding a setting called `anyone_can_add_socras`, which would be relevant only for public journeys. This feature would inherit permissions from parent nodes, ensuring a smooth transition to public settings. The default setting was proposed to be ON when a journey is switched to public, alongside the addition of a public icon to the folder icon in the navigation.
Overall, the Socra captures the collaborative efforts to improve tree state management and user permissions, ensuring that non-collaborators can effectively add bugs while maintaining the integrity of the system. The Socra remains incomplete, with further steps required to finalize the implementation.By Mike Morton