Learning Plans Specification | |
---|---|
Project state | In Progress |
Tracker issue | https://tracker.moodle.org/browse/MDL-49458 |
Discussion | - |
Assignee | Damyon Wiese |
This is a specification for the implementation of "Learning Plans" for 3.0.
Overview
This feature introduces a few concepts:
- Competency - A skill, knowledge, qualification, or capacity. Each competency is often given a unique code and may be related to other competencies.
- Competency framework - An organised collection of competencies. Often created by a standards body.
- Course competencies - A list of competencies from one or more competency frameworks, that are linked to a course. Completing the course will mark those competencies complete.
- Learning Plan - A users personal list of competencies and courses (achieved and yet to be achieved). A user can create their own draft learning plan, but it must be approved by someone with the required capability before it becomes "Active".
- Evidence of prior learning - Some sort of documentation that has been provided to prove that a specific competency has been met. Must be approved before the competency will be deemed to be achieved.
- Learning plan template - A predefined list of competencies and courses that can be used as the basis for a users personal learning plan.
Competency framework
New admin page to manage (CRUD) competency frameworks.
A competency framework consists of:
- Name
- Description
- ID number
- Competency Scale - There are 3 things that need to be configured for the scale -
- the "scale" to use for competency completion. This must be chosen from the standard moodle scales.
- from the chosen scales, the items from the scale that mean "proficient" must be specified
- the default value to assign when a competency is automatically marked as "met"
- Visible (checkbox)
If a competency is not "Visible" it only shows up in the interface for users with the tool_lp:competency:viewhidden capability.
A competency framework also has a "tree" of competencies.
Capability 'tool_lp/competency:manage' allows write access to this page.
Capability 'tool_lp/competency:read' allows read access to this page.
An entire competency framework should be able to be imported/exported via files.
Competency
Each competency framework should link to a page to manage (CRUD) the competencies for that framework.
A competency consists of:
- Name
- Description
- ID number
- Visible (checkbox)
Competencies are displayed in an "Aria" tree control, linked from the competency framework page and can be drag/dropped to any new location in the tree. The tree can be filtered by searching, and provide keyboard controls equivalent to the drag and drop. Selecting a node in the tree should highlight it and show more info in a panel to the side. Also in the panel are the controls for CRUD + linking to courses and other competencies.
Linked courses should just show a list of the courses that are linked to this competency in a popup.
Related competencies should allow searching and selecting related competencies in a popup.
If a competency is not "Visible" it only shows up in the interface for users with the tool_lp/competency:viewhidden capability.
Capability 'tool_lp/competency:manage' allows write access to this page.
Capability 'tool_lp/competency:read' allows read access to this page.
Course Competencies
A course may be linked to one or more competencies, from one or more competency frameworks.
In the course settings block a new link will appear "Course competencies" which goes to a page where you can list, add and remove competencies from the current course.
Adding a competencies is done through a popup that allows searching by competency framework + a text search.
Removing a competency is done by clicking on the remove icon.
Capabilities in the list can be reordered, with drag/drop - but it is purely for aesthetics.
Capability tool_lp/coursecompetency:manage controls write access to this page. Capability tool_lp/coursecompetency:read controls read access to this page.
Learning Plan Template
Learning plan templates are created from a new admin page.
Read access to this page is controlled by the capability 'tool_lp/template:read'.
Write access to this page is controlled by the capability 'tool_lp/template:manage'.
A Learning plan template consists of:
- A name
- A description
- A due date (optional)
- An id number
- Visible
If a template is not "Visible" it only shows up in the interface for users with the tool_lp/template:viewhidden capability.
Competencies can be linked to a learning plan template.
If a competency is added or removed from a learning plan template, all learning plans created from that template will be affected.
Learning plan templates should allow "duplication" to create a new template for a new year (for example).
Learning Plan
Users manage their learning plans through their preferences.
There will be a page listing the draft, active or completed learning plans for this user.
A User can create their own learning plan, and add competencies to it. By default the plan will be "draft", and will require someone with the capability tool_lp/plan:approve to "activate" the plan (or tool_lp/plan:approveown to approve their own plan). Users can also "complete" a plan if they have the capability tool_lp/plan:manage, (or capability tool_lp/plan:manageown for their own plan). Users can have more than one draft, active or complete plan at any one time. A completed plan becomes read-only, it is a record of the items that were completed/not completed at the end of the plan. A user with capability tool_lp/plan:manage (or capability tool_lp/plan:manageown for their own plan) can re-activate a completed plan.
Each learning plan can have an optional end date, if the plan is from a template the end date for the template will be used. If a plan has an end date, it will automatically be "completed" at that end date. A plan will also be automatically completed, if all the competencies in the plan are complete.
A Learning Plan contains:
- A user
- A name
- A description
- An optional template
- An optional end date
- A list of competencies
Evidence of prior learning
A user with capability tool_lp/evidence:manageown can attach evidence of prior learning to a competency in any of their active learning plans. A user with capability tool_lp/evidence:manageany can edit the evidence for any other user. A person with capability tool_lp/plancompetency:approve can then review the evidence and mark the competency level achieved manually.
General Design Notes
- All code should be contained in the tool_lp plugin so it is installable on 29+
- https://docs.moodle.org/dev/AJAX
- https://docs.moodle.org/dev/Templates
- https://docs.moodle.org/dev/Javascript_Modules