Tell us what you are trying to do?
I need to manage selected data of learners(students) in a way that the facilitator can easily manage. The accreditation bodies do not accept Excel spreadsheets any more and I need to put a system in place to do this.
Explanation of what should happen...below
A student is captured on the system by entering a his/her bio detail and much more through a front end form. A learner post type was created for this from which the post form was generated. Once all the students are captured the facilitator need to assign a qualification to that student. Inside the specific QUALIFICATION there are more than one LEARNING PROGRAMME but a student can only do ONE learning program at a time.
Inside the LEARNING PROGRAMMES there are UNIT STANDARDS so each LEARNING PROGRAMME consist of more than one UNIT STANDARD. Each Learning programme will have a status of;
1. Enrolled
2. Completed
3. Competent
4. Remedial
5. Not yet Competent
This means that when they complete a LEARNING PROGRAMME with all its unit standards you can change the status to one of the statuses mentioned above. The default status will be ENROLLED.
I have created relationships of ONE-TO-MANY for (learners-->qualifications) also for (qualifications-->learning programmes) and also for (learning programmes --> unit standards)
Once I can get a way to capture the data for each learner I need to display a summary of each learners qualifications he/she busy with and past already completed Each qualification should show the Qualification, the learning programme and its status and all the unit standards associated with the learning programme. A student can only be competent(learning programme) once the unit standards are completed.
There are no marks and the only "marks" will be the statuses mentioned in 1-5 above.
Once this is done I will consider using this data in wpDataTables to enable a facilitator to edit in table format on frontend but this is phase 2.
I hope you get what I am trying to say.
Kind regards
Andre
Is there any documentation that you are following? No
Is there a similar example that we can see? Unfortunately not that I know of. This will be unique.
What is the link to your site?
enlace oculto
The short answer is this is a fairly custom application that will most likely require a significant amount of custom code, so be prepared for that. A proper LMS plugin will probably have this type of workflow built-in, and you'll be recreating that from scratch with Toolset. I have a limited amount of information to work with so I'm giving you very general information here.
I have created relationships of ONE-TO-MANY for (learners-->qualifications)
This should be a many-to-many relationship between Learners and Qualifications, unless each Qualification is unique per User. My guess is that is not the case - multiple Learners will work towards the same Qualification, correct? So a many-to-many relationship is required between Learners and Qualifications.
Next, you need a way to store the status for each Learner, in each Learning Programme (LP). There are two approaches here:
1. Custom fields applied to each Learning Programme or each Learner.
For example, you much create one custom select field for each Learning Programme, and apply those fields to the Learner post type. Then manually set the corresponding field value when a Learning Programme status change for a specific Learner. Or, you must create one custom select field for each Learner and apply those fields to the Learning Programme post type. Then when a Learner's status in a specific LP changes, you must update their corresponding LP status custom field.
2. Custom field applied to the intermediary post between a Learner and an LP in a M2M relationship.
In this case, you create a M2M relationship between Learner and LPs and place the custom field on the intermediary post. When the Learner's status in a specific LP changes, you can modify the custom field value in the relationship.
a student can only do ONE learning program at a time....A student can only be competent(learning programme) once the unit standards are completed.
It's not clear to me from your description how these requirements are enforced, but I'm assuming it's handled by some other system. If you need validation of this type built in with Toolset, I need more information about how you expect this to work. How is a unit standard completed? What system handles that process?
Hi Christian
Thank you for the explanation. I think you misunderstood a tiny bit.
I don't want to re-invent the wheel with regards to a LMS. This is not a LMS(eg. LifterLMS, Learndash etc.) where students can do online courses etc. This is ONLY a place to capture the data mentioned previously.
It will be a classroom situation where everything is manual driven.
The only capturing is the Qualification the learner is busy with. From that it is the Learning Programmes(of the qualification) eg. Learning programme 1, learning programme 2 etc.
Each learning programme consist of a number of UNIT STANDARDS.
Then once the learner is enrolled his/her personal detail must be captured. That CPT and form is finished. I will tweak it later but for now it is finished.
Once a learner is captured I must be able to go back to the learner and enter the QUALIFICATION he is busy with as well as the LEARNING PROGRAMME(s) and THE UNIT STANDARDS.
In the end I need to go back again and change the status on the LEARNING PROGRAMME to COMPETENT, NOT YET COMPETENT, ENROLLED etc.
This is the only functionality I really need from the system and also the reason why I created different CPT's with relationships.
Thank you Andre
Okay thanks for the additional information. It still sounds like you need these items:
- A custom field on the Learner post type that tells which Qualification the Learner is currently working towards. That could be a radio button with options like Qualification 1, Qualification 2, Qualification 3, All Qualifications Complete, Learner Inactive etc.
- A way to store a status (1 of 5 options) for each Learner, in each Learning Programme (see my discussion above for a couple of options, https://toolset.com/forums/topic/learner-qualification-learning-programme-and-unit-standard-relationship-issue/#post-1193244)
- A way to store a status for each Learner, for each Unit Standard (similar to the previous item, but probably just a single checkbox to indicate whether or not a Unit standard is completed)
- A way to display the current status of each Learner per Qualification, per Learning Programme, and per Unit Standard. You can accomplish this with nested Views of related posts.
If you'd like to collaborate on this approach, feel free to sign up for an account on our sandbox site, discover-wp.com. We can invite each other to administer the same site and work on these concepts together if you're unsure.
Hi Christian
I do believe we are at some cross purposes. If I may expand a bit on our full situation
1. A learner will "register"(only a CPT and not the WP user registration) for a qualification. Previous or future qualifications are not important at this stage but a learner might do the next level qualification. There are NO prerequisites.
2. Each qualification consists of LEARNER PROGRAMMES. Eg. 7 programs. Each learner Programme will consist of UNIT STANDARDS. Eg. 15 unit standards.
3. There is no need to record results for the unit standards.
4. The only results (or status) required will be for the learner programs. In other words the results will be will be recorded for a learner for a specific learner programme.
Sample:
The LEARNER enrolled in
- QUALIFICATION - qualification consist of;
--- LEARNER PROGRAMMES (results for LP's; enrolled, competent, complete etc.) LP's consist of;
----UNIT STANDARDS (unit standards DON'T need results)
Our problem is in the structure of the database. Currently or structure is as follow:
· LEARNER many to many relationship with QUALIFICATION
· LEARNER one to many relationship to LEARNER PROGRAMME
· LEARNER one to many relationship to STATUS
· LEARNER PROGRAMME one to many to STATUS
· LEARNER PROGRAMME one to many to UNIT STANDARDS
The intention of this system is ONLY to manage or track a learner doing a specific qualification. However it will be a manual process when the progress made with learner programmes will be manual updated by the facilitator.
What is mission critical is that the progress STATUS for LEARNER PROGRAMMES can be manual updated by the client then we will need to see per LEARNER PROGRAMME how far the students has progressed and what they have mastered.
We will also need to see per LEARNER report how far a specific LEARNER has progressed with his LEARNER PROGRAMMES.
Taken into account the above, are we structurally on the right path? How do we record the progress STATUS so that it will relate to a specific LEARNER, specific progress with LEARNER PROGRAMMES?
This seem to be our biggest challenge.
The intention of this system is ONLY to manage or track a learner doing a specific qualification.
If this is literally the case, isn't the post types and relationships approach unnecessarily complex? You could add custom fields to User profiles, and manually set those custom field values as needed in wp-admin. In each User's profile:
Current Qualification assignment: - Select one (Qual 1, Qual 2, etc)
Qualification 1
- Is completed? - Select yes or no
- Learner Programme 1 Status - Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 2 Status - Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 3 Status - Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 4 Status - Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
Qualification 2
- Is completed? - Select yes or not
- Learner Programme 5 Status Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 6 Status Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 7 Status Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
- Learner Programme 8 Status Select one (Enrolled, Completed, Competent, Remedial, Not yet Competent)
... and so on. See the attached screenshot. This is just manual, bare-bones data collection per User account.
Hi Christian
Ok thanks for the quick response.
I have a couple of questions on your approach.
Remember that the Learner don't need to login or to have a user profile.
1. Will that change your approach?
2. Is it not bad practice to put the Qualifications and Learner programmes in the user profile?
3. Where do you list the unit standards?
The accreditation authority need to have the ability to login to see what the learner is enrolled for and what the progress is on the learning programme STATUSES for auditing purposes.
Thanks
Remember that the Learner don't need to login or to have a user profile.
If Learners don't need to log in, then a User profile probably isn't needed. You can move all those fields from User profiles into the Learner post type. The fields will still be the same, they will just be stored with Learner posts instead of User profiles.
3. Where do you list the unit standards?
If you want to display them in wp-admin alongside the Learner Programme field values, you may use the "Description" area to store arbitrary text information about each field. That information will be displayed in wp-admin as shown in the screenshot here.
My issue is resolved now. Thank you!