While working on #1772, it took considerable time trying to understand LanguageTreeNodes and how they tie into the system.
The documentation of treebeard does also not help with understanding properties like lft or rgt, while the link to the referenced idea which they implemented is dead.
Proposed Solution
Add documentation about the Language Tree and what it tries to achieve (define deterministic structure for resolving (in part) automatic translations, ?), and let veteran members verify everything it is used for is described.
Add brief documentation to AbstractTreeNode about the lft, rgt and tree_id properties implemented in treebeard.ns_tree.NS_Node just enough to understand the concept, if in a pinch.
Try to contribute the documentation upstream
Alternatives
Don't improve documentation and risk having to spend a lot of time researching how the Language Tree and NS_Nodes work next time
Additional Context
Lacking documentation in treebeard (excerpt). The second link in the first paragraph is dead.
Motivation
While working on #1772, it took considerable time trying to understand
LanguageTreeNode
s and how they tie into the system. The documentation of treebeard does also not help with understanding properties likelft
orrgt
, while the link to the referenced idea which they implemented is dead.Proposed Solution
AbstractTreeNode
about thelft
,rgt
andtree_id
properties implemented intreebeard.ns_tree.NS_Node
just enough to understand the concept, if in a pinch.Alternatives
Don't improve documentation and risk having to spend a lot of time researching how the Language Tree and NS_Nodes work next time
Additional Context
Lacking documentation in treebeard (excerpt). The second link in the first paragraph is dead.![image](https://user-images.githubusercontent.com/10530729/204757637-e33c1389-19ca-46dc-a691-e7288d4ee88e.png)