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.
* Added method page_helper::setup_for_plan
* Added hook to extend navigation
* Configured navigation in the following learning plan pages:
** plans.php
** plan.php
** editplan.php (For both Adding and editing of a learning plan)
Still without any intention to use it, we add the scale field in
the database just so we can already write the right validation for
the scale ID which is pretty important as our code will start relying
on it. E.g. we only support scaleid null, or greater than 0. Adding
the validation method clearly documents what our expectations are.
The reason why we are doing that is to leave the door open for
competency scales later on. Which means that we can write code
that will rely on the competency to provide its scale even though
the default behaviour will be to use the framework one.
* 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