Learning Plans - Best Practices for archiving courses within LPs


Userlevel 3
Badge +1

Hi All, 

Seeking your expertise and wisdom. We’ve been conducting a maintenance and revision process on courses for about the last year in an effort to clean up our system. As we moved through this process, we’ve realized as we archive courses, it impacts Learning Plans. In an effort to create a great learner experience, we want to ensure learners aren’t seeing those archived courses, but we also risk losing reporting ability if we remove all of those courses from the learning plan. 

What are your teams doing?  

How do you minimize needed efforts?

What best practices do you employ when:

  • An archived course also appears in a Learning Plan?
  • What about multiple archived courses in a Learning Plan?
  • What do you do with a learning plan that needs to be fully archived?

The new LP functionality allows us to put a Learning Plan “under maintenance”, but its still visible to learners in the My Courses and Learning Plans widget/page, or on their Managers My Teams view. 

Any thoughts here would be greatly appreciated!  


14 replies

Userlevel 7
Badge +6

@Jason Kocur I’m working thru this very topic myself, and it’s a doozy! 😁
The core issue for us is that we need to (fairly regularly) ADD courses to learning plans (primarily onboarding LPs). Well, that causes a mess for those who have already completed the LP. We came up with this idea of “generation flipping” (a generation is equal to a specific course list...change the list, change the generation) where we would remove learners that were incomplete from the old LP, and add them into the new, updated LP. This is a HUGE time suck, made only slightly better with API endpoints, but very prone to errors. I was hoping that the new LP page would assist in helping me find those individuals who are incomplete in the LP so that I could move them more effectively...no such luck.

SO…

I turned the problem on its head. Instead of removing incomplete users from LPs, we’re going to remove COMPLETED persons from the “current” LP, assign them an “equivalent” course, and unenroll them from the “current” LP but not the LP courses. This will keep only incomplete users in the “current” LP where we can add (or remove) courses as needed. The only persons getting affected by the change in the LP are those who are incomplete. API endpoints are helping with this.

Another issue we’ve struggled with is those overachievers who see a new generation of an LP and enroll in it. More mess. We found along the way that we’ll need to have dashboards (pages/menu) that no longer offer these particular onboarding LPs.

Userlevel 3
Badge +1

@KMallette thank you for your response! Question for you, for those “Completed” learners you remove from the “current” LP, how do you maintain their LP Completion status? Are you pulling a report before removing them? If so, how are you storing that?

Thank You! 

Jason

Userlevel 7
Badge +6

@Jason Kocur Yes, I pull a User-Learning Plans report every week. I include all statuses for the LP. For those who are complete, I do the following:

  1. Enroll them in a “equivalent” course (no TM, just a course shell) that has mutual equivalents to all of the courses in the LP.
  2. Set the status of that course to “complete”
  3. Remove them from the “current” LP but leave them enrolled in the completed courses.

Here’s an example of a User Personal Summary after everything is done.

I am also working through how to use the API browser to do these steps so I can batch as much as possible. Removing from the “current” LP seems to be the only piece that I have to do one user at a time (whether I use API or the UI to do the step).

Happy to DM/Zoom if you need more assistance.

Userlevel 2

Good morning, I’m hoping you may be able to help with our archiving dilemma. 

 

Our goal is to ensure that learners can still access their certificates for archived training. We tested both options below but can’t see to find the certificates for archived courses/LPs.

  1. Remove the learners from the learning plan and then archive the courses.
  2. Remove the courses from the learning plan, then archive the courses while keeping the learners assigned to the learning plan.
Userlevel 7
Badge +6

@TFinley To access the course certificate, they have to remain enrolled in the course, or in an equivalent course. The approach that I outlined above should work for you.

Happy to DM/Zoom if you need

Userlevel 3
Badge +1

Hi @KMallette 

Thank you for your response! When you create the Equivalent course, you mentioned it “has mutual equivalents to all of the courses in the LP.” What is the benefit of adding the equivalency rather than adding the courses to the course description of the Equivalent LP course? Does it have to do with reporting ability?

Thanks in advance! 

Jason

 

Userlevel 7
Badge +7

@Jason Kocur I’m working thru this very topic myself, and it’s a doozy! 😁
The core issue for us is that we need to (fairly regularly) ADD courses to learning plans (primarily onboarding LPs). Well, that causes a mess for those who have already completed the LP. We came up with this idea of “generation flipping” (a generation is equal to a specific course list...change the list, change the generation) where we would remove learners that were incomplete from the old LP, and add them into the new, updated LP. This is a HUGE time suck, made only slightly better with API endpoints, but very prone to errors. I was hoping that the new LP page would assist in helping me find those individuals who are incomplete in the LP so that I could move them more effectively...no such luck.

SO…

I turned the problem on its head. Instead of removing incomplete users from LPs, we’re going to remove COMPLETED persons from the “current” LP, assign them an “equivalent” course, and unenroll them from the “current” LP but not the LP courses. This will keep only incomplete users in the “current” LP where we can add (or remove) courses as needed. The only persons getting affected by the change in the LP are those who are incomplete. API endpoints are helping with this.

Another issue we’ve struggled with is those overachievers who see a new generation of an LP and enroll in it. More mess. We found along the way that we’ll need to have dashboards (pages/menu) that no longer offer these particular onboarding LPs.

@KMallette and @Jason Kocur - it is our summer of curation! Just adding that I will learn from the both of you and this article. Thank you for the chat.

We are going deep on this:

  • groups
  • enrollment rules
  • notifications
  • pages/menus

As we just renewed and I still have fingerprints/footprints from old first experiments in near production areas as well as junk in the trunk. I was hoping to do a talk on this at Inspire with a few peeps….

Userlevel 7
Badge +6

There’s no good way to do this IMO given Docebo’s limitations.

When we hit this wall, my plan is to archive the old learning plan and make a new version with the year in the name, with new and appropriate courses.

I agree with dklinger. We have moved away from learning plans for all the reasons listed in this chain. We now use Groups and Enrollment rules. A bit on the front end but it works for us when removing/replacing a course in a LP. 

 

We are going deep on this:

  • groups
  • enrollment rules
  • notifications
Userlevel 3
Badge +1

Agreed there isn't a good way to tackle this with Docebo. Unfortunately, we still need to use LPs. The advent of Archiving Courses gave us a way to remove courses that were no longer applicable or archived from users My Courses and Learning Plans widgets/pages. However, with courses in LPs we don't have that option, removing courses means losing access to completion reports and we aren't built to do weekly maintenance on this. 

We are also working on a large Home page and taxonomy renovation, which will impact many areas of the LMS. I’m wondering if its just better to push LPs to an under maintenance status, utilize proper naming conventions, ie ARCHIVED or something along those lines and include an index on each page listing courses for what the terminology means. 

Userlevel 7
Badge +7

Just purely IMHO - the institutional value of that container is really the challenge here with curating LPs. 

In my opinion? Having the ability to have them demonstrate that a person completed a curriculum is great.  But if you put this lens on the problem - we are curating down to better support audits and configurations. So when we look at it like that? How critical is it to hold onto the LP?

The LP supported the method of delivery and eased up our status tracking when the courses were deployed. The container was more helpful during the campaign. It has the least value to us later on (as in, I never had an auditor say they can you tell me if this person finished the entire packet for said year, they almost always have a question about a single course for that audit). We dont award a person a certificate of completion for the entire compliance cycle. We aware the certificate of completion at the course level.

So for us - removing old LPs or even making them inactive (now that we can) is to our advantage.

This purely works for us.

Trying to add a perspective…and stir conversation.

 

 

Userlevel 7
Badge +6

Hi @KMallette 

Thank you for your response! When you create the Equivalent course, you mentioned it “has mutual equivalents to all of the courses in the LP.” What is the benefit of adding the equivalency rather than adding the courses to the course description of the Equivalent LP course? Does it have to do with reporting ability?

Thanks in advance! 

Jason

 

Hi, Jason

Sorry for the delay in responding...long weekend at the beach 🏊🏻.

I decided to add to do both...in the course description is a list, and then the mutual equivalents are for the learner so that they can review the content in the future if so desired.

Userlevel 3
Badge +1

There is certainly a lot to consider! The idea of utilizing LPs as nothing more than an initial container is intriguing. With an initial cleanup of our archived LPs, ie those full of archived courses, it could be something that we address and then ensure our teams are aligned on the process. 

We are also slowly moving in the direction of utilizing groups and channels more effectively. One current blocker to that is our data into the system. Its getting cleaned up little by little. 

It seems like the philosophical question our leadership needs to address is whether there is value in maintaining the status of LP completions at the LP level, or if we can do something like creating an equivalent course.  

The APIs helped greatly in our initial course clean up. The lack of batch archive enrollment APIs is currently a blocker leaning towards a more manual process of effectively removing archived courses from learners views. 

Should a goal be to remove archived courses/LPs from the learners My courses and learning plans area, or should it be to simply Archive a course/LP with a traditional naming and put in under maintenance status?

Userlevel 7
Badge +6

@Jason Kocur You’re correct that there is a lot of “philosophy” in all of this.  As the superadmin, I’m lucky that I get to turn that philosophy into policy and process. Sometimes I think that we (as admins) have a better view since we understand the platform AND the business. … my $.02 on the subject 😁

Removing archived content … another philosophy question. For me, it was one of practicality. The User Personal Summary was getting super confusing to read with tons of courses (many of our LPs have 20+ courses), and also I was having issues with users retaking LPs they didn’t need to /shouldn’t have retaken.

If you just archive and put under maintenance it’s like “Is this course really retired, or am I just waiting for new content?”  I guess whatever you come up with you need it to mean just one thing.

I also have persons who use Course Management who need some way of really knowing whether content is visible to others, so when I retire a course I change my code to begin with “z_” (so that it sorts to the bottom), and then add “Retired - “ at the beginning of the course name.

Reply