Each tree provider integrates into an existing workflow:
- load by id
- save
- delete
- build a query based on the tree information, supporting: ->condition() ->order()
parent($item):
ancestors($item):
What needs to happen on save?
- Generate the materialized path for new items.
-
Provide an extension of EFQ that can: ->parentOf($field_name, $item) ->ancestorsOf($field_name, $item) ->childrenOf($field_name, $item)
-
Provide a Views handler for sort by tree order
-
On save:
- Build the lineage for new items or for changed items
- Reparent the children of the current item
-
On delete:
- Reparent the children, or
- Delete the children