moodle/.upgradenotes/MDL-72397-2024073009145252.yml
Mark Johnson e3513f84a2
MDL-72397 qbank_managecategories: API reorganisation
This splits the API functions required for the reorganised category UI,
to properly separate the qbank_managecategories and core_question APIs.

This methods that were part of question_category_object that should live
in the core_question namespace (generate CRUD operations related to
categories) are moved to the new \core_question\category_manager class.
The parts that belong in the qbank_managecategories plugin as they are
used to display the editing UI are moved to the
\qbank_managecategories\question_categories class.

Static methods that were defined in \qbank_managecategories\helper and
were only used within methods that have been moved to one of the new
classes have been deprecated and moved to those new classes as well.

This will allow the entire
\qbank_managecategories\question_category_object class to be deprecated
in the following commit.
2024-08-22 10:27:16 +01:00

23 lines
1.2 KiB
YAML

issueNumber: MDL-72397
notes:
qbank_managecategories:
- message: >
The methods in the `question_category_object` class that are still
required following this change have been split between
`\qbank_managecategories\question_categories` (for the parts used within
this plugin for display a list of categories) and
`\core_question\category_manager` (for the parts used for generate CRUD
operations on question categories, including outside of this plugin).
This will allow `question_category_object` to be deprecated, and avoids
other parts of the system wishing to manipulate question categories from
having to violate cross-component communication rules.
type: changed
- message: >
The methods `question_is_only_child_of_top_category_in_context`,
`question_is_top_category` and `question_can_delete_cat` from
`qbank_managecategories\helper` class have been deprecated and moved to
the `\core_question\category_manager` class, minus the misleading
`question_` prefix. Following the creation of this class, it does not
make sense for them to live inside the `qbank_managecategories` plugin.
type: deprecated