Simple to add progress completion status for your courses
This is an easy way to add a completion progress status to your projects.
This method will do the following:
- Add a progress status to each slide
- Gives a Readout of two digits (10% Completed) even for odd slides
- Can add to Master Slide or Any Slide in the Course
- Remembers the completion status even when you click back through the course
Download – Add Progress Status-sample
Step 1
Create two variables as follows:
- var_total_Progress
- var_Total_Precent
Step 2
Create an Advanced Action as follows:
What each part does in the action:
A: Checks t see If all conditions are true This checks to see if the slide number is greater than var_Total_Progress. If it is it will run B, C, D and E. If it is not greater then it will leave it as it is and not update the var_Total_Precent. This is what allows the project to remember the total course completion status even when clicking back through the course.
B: Assigns one variable to another – Assigns var_Total_Progress with the current slide number.
C: Create an Expression – Assigns var_Total_Progress to var_Total_Percent as a fraction number (ie: 0.301521)
D: Create an Expression – Makes var_Total_Percent a percentage number with decimal placement(ie 30.1521) would not look good in the slides
E: Execute JavaScript – This rounds up the number to a full number with 0 decimal placements using two lines of JavaScript as follows
var tempVal = parseInt( window.cpAPIInterface.getVariableValue(‘var_Progress_Precent’) );
window.cpAPIInterface.setVariableValue( “var_Progress_Precent”, tempVal.toFixed( 0 ) );
Step 3
Here we need to create a text object that will hold the information for the completion status. Enter the following in the Text Object:
Page Insert Current Slide Info Here of Inseatt Count of Slides variable here and insert the variable Progress Percent % Completed, it should look like the line of text below
Page $$cpInfoCurrentSlide$$ of $$cpInfoSlideCount$$ $$var_Progress_Precent$$% Completed
Make sure that you highlight the text where you want the variable places and click on the little [X] in the properties to insert them, otherwise if you type it in you may not get the correct result that you are expecting.
$$cpInfoCurrentSlide$$ gives the current slide number.
$$cpInfoSlideCount$$ gives the total amount of slides in the project.
$$var_Progress_Precent$$% displays our completed percentage.
Create a text object as in the image:
Select Caption Caption and rename as:
“txt_Display_Percentage_Complete”
Step 4
Here we want to make sure that we display the text object on all pages. You can also place it on any page, for example, you may not want it to show on slide 1 or 2, in that case, you can put it on the 3rd slide and follow the same instructions below.
So place it on the first slide and then Select Text Caption and click on Timing
Select Display for and pick “Rest of Project”
Also, tick “Place Object on Top” otherwise it may get hidden under other objects.
Step 5
Now on the first slide select the grey background and go to actions and do the following:
- Select Actions and for “On Enter:” find “Execute Advanced Actions”
- In Script: select “PercentageComplete”
Step 6
Copy the slides so that we have more than 1, don’t make it an even number, this way you will see that it always gives a full rounded number each and every time.
Thank you, this worked great!
But I still have a problem…When the user goes directly to the last slide, it automatically shows that the progress is 100%, even if the user did not saw any other slides.
Is there a additional variable or a function that counts only if the user actually saw the slide?
Thank you!
Playing the devil’s advocate (again). I have often problems with ‘progress indicators’. The one you describe here is totally similar to the progress in the default Table of Content. But it is not really reflecting the progress of a learner, because it takes only into account the number of frames, slides. In reality that can be totally different from what I call the ‘real progress’ which is linked with the time spent on the course, compared with the total time needed to spend. Even a slide with the default duration of 3 seconds can take up many minutes from the learner if the content is complicated enough. I mentioned this ‘dilemma’ long time ago in a blog post about showing time in a course.
This is not at all meant to decline the value of this post, just my personal reflection based on my career as professor and trainer. Progress indicators as they mostly are used and created (have done tons of them for clients) have no real life meaning when taking the real time into account. I am not even talking about the differences in time needed by each individual learner.
Sure, but have to look it up, was some years ago. I prefer showing the real time, percentage is not possible of course. Showing the so-called progress indicator can be encouraging but also very frustrating.
I also had to create a ‘real’ timer several times for clients, with warning messages.
It can be very treacherous to show such an indicator because it is not reflecting the real progress at all. It is perfectly possible in many courses to do half of the slides in 10% of the total time, or even spend 30% of the time on one slide. In that case the learner often can get frustrated. Time shouldn’t be a concern, the course should be so engaging that time is forgotten. When teaching, I know the lesson was a success if my students forgot to look at their watch or phone, and I had to warn them it was time for a break
You must be logged in to post a comment.