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.
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".
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.
This includes:
* Copy user competencies to user_competency_plan when updating plan
with status complete.
* User competencies in user_competency_plan are deleted when the plan
is set back to draft or active.
* the api::list_plan_competencies method is now returning
user_competency_plan objects if plan status is complete.
* external functions and renderer have been adapted to the new api
methods.
* Remove fields status and reviewerid from user_competency_plan