Split it into a core exporter, and an extended one that adds information about the plan.
Also
* Remove userid from grade_competency_in_plan function (redundant)
* Improve the signature of list_evidence so it can handle completed plans (later)
* Rename read_user_competency_summary to data_for_user_competency_summary_in_plan
* Handle completed plans (list user_competency_plan as well as user_competency)
* Remove user_can_see_details_cap handling - if you can see the users plan you can see the user
* Pass final scaleconfiguration in the competency_summary_exporter
* Add docs comments to new templates
Webservices do not support nor accept null values for structures.
Being able to mark some properties as optional allows for the
definition to support missing properties when they would otherwise
have been set to null.
Note that the related objects MUST always ALL be passed to the
constructor when instantiating objets, even if they are null.
Related objects were introduced to improve performance and their
requirement is one way to ensure that developers don't forget them.
* Unit tests for base exporter
* Use the course_summary_exporter for list_courses_using_competency
* Rename competency_with_linked_courses_exporter to competency_summary_exporter
* Split properties_definition in 2 (added read_properties_definition)
* Improve phpdocs
* Make some methods final
* Throw an error when other_properties overlap with properties
Making the persistent_exporter implement templatable, implies that the
exporters are designed for output - but they are not - they are designed
for any data returned through an external function. So lets not make them templatable,
and make the default function name "export".
- Use to_record instead of custom getters
- Remove custom formatting for taxonomies
- Fix bugs in exporter (PARAM_FORMAT was wrong)
- use $comp->get_context() instead of $comp->get_framework()->get_context()
Fixes include format_text/format_string
New persistent_exporter class to export persistent objects for use in external apis.
Always validate_context
Always use validated params - not raw params
Do not use "xxformatted" properties.