Course Completion Page Customization

I'm working in a training that will be given to two types of users: 1- LMS users; and 2- Internet users (those who don't have LMS access). We are looking into ways to produce one training with 2 different last pages that have completion instructions catered for each group individually. Can I do that through actions, variables, or conditions? Any thoughts? I'm so desperate for a solution. Some of my colleagues are suggesting that we produce two complete sets of the training (130+ slides), but I don't think it's a doable solution.

Discussion (24)

Thank you Adam for your very quick response. It is a great way to go, but I've already built the training for LMS with the tests and reporting features. Can I play with the last page only. This means I'll publish a SCORM version, then I replace the last page with the one that has the certificate and publish it in HTML? Will that work? Is there a conditional action that I can use to display the Certificate page if the user is not taking the training on LMS. The reason I'm scared of producing 2 versions is that we do some upgrades throughout the life of the training which means I'll be creating the LMS module every time I make changes to the HTML. What do you think?

Having 2 separate may have some advantages - There wouldn't be much to it - create the html version, then 'save as', and create a new module for the SCORM/AICC version. Nothing to it. Then you can modify as needed for passing back to the LMS, whereas your html version may have a certificate to print out.

It's always the same principle: Find the difference!

Find a difference between the scorm and the html output and use it. A difference is the existence of scorm variables. You can build two versions of your page (on the same page) and show only those elements that you want a scorm / html user to see. Then create two action groups one to show the scorm version and one for the html version.

Add an action to the page:

On: Show

Action: Run action group

Target: Show scorm version


If AICC_Student_Name Contains ","


Action: Run action group

Target: Show HTML version

AICC_Student_Name is a variable Lectora uses for scorm courses to fill in the users name as "Name, Firstname". Only if the course is run from an LMS the variable will contain a comma, otherwise it will be empty or undefined or something but it won't contain a comma.

Tims solution is probably the best way. 2 pages at the end, if its Scorm show A, else B...

There's no need to change the type. Just publish the title to HTML. When you publish the title to HTML, Lectora shows a warning that the Scorm variables cannot be used and takes out all related code automatically. If you changed the type to standard, all your LMS-related actions / conditions would loose their targets because the Scorm / AICC variables are not available in a standard course. Every time you change the type you'll have to renew all of these.

The HTML version should be displayed in any case...

I tested it with a very simple course, one page only, to show one textfield "If AICC_Student_Name" contains "," and another one if not. This worked in moodle (showing "Scorm") and when published to html and in preview (Showing "HTML").

I attached the sample.

Can you share the Lectora file?

It worked Tim!! I know now what mistakes I did thanks to your sample!

1- I put the student name comma (,) between two inverted commas. So my condition was:

If AICC_Student_Name Contains “,” and that was wrong. When I removed the quotation commas, it worked fine, even in the Preview mode.

2- In the sample, you made it a simple action: on Show ---undefined and then tested the HTML version and it shows the associated page.

Thank you for this tip again,

That's great.

And thanks for the great question. I wouldn't know half as much about Lectora if I didn't have this Community that's constantly providing me with new challenges.

nice Tim - I didn't realize you could leave the title as SCORM and publish to html without issue. (I contribute the wrong answer so that I make sure and get Tim and Math to set me straight). ; P

Thank you Tim, Math and Adam.

So what about if I use a combination of both Adam's and Tim's. Here's the plan and please let me know what do you think.

1- Change the Title Type to Standard (originally in AICC);

2- Use Tim's solution in Course Completion Page (hide and show SCORM/HTML elements);

3- Publish the course in HTML for Internet users;

4- Turn on AICC in the Title Type and republish the training in SCORM for LMS users.

Will that be fine or would I run into issues for turning on/off the AICC?

Thank you Adam though for trying to help me:) That was so nice of you.

Tim: I'm running into an issue here. After I followed your steps exactly, when I published the training in HTML and tried to preview it in IE, none of the elements group appeared; neither the SCORM group nor the HTML group. Is that because it was not yet uploaded online?

thanks for any tip,

Thank you Tim for the great tip, I'm glad I asked before I change the type. It's a large training that I've been working in since June! I'll keep it in AICC then and apply your method to the last page. I'll keep you posted of the results after testing it in both environment.

Many many thanks again,


Tim's right. The community is great. Often better and quicker then support ;-)


Your suggestion works perfectly when I finally published the training and put it up on the LMS/ Internet. Thank you again.

However, is there a way to customize the completion page so that it may display different text without using the student name? We want to avoid using names.

Thank you Tim. You're right, the name search is the easiest. I may keep the AICC name. If you don't mind I've another question. I've an entry field and I want to limit the users' input to Alpha letters only. Is there a way or Java Script to do that?

Many many thanks,


You can use any of the Scorm/AICC variables, the name should be the easiest. The solution only checks if there is a name, it is not really using it, is it?

You can also try with AICC_Lesson_Status. AICC_Lesson_Status can either be "incomplete", "completed", "passed" or "failed". So you can use 4 conditions to check for these values and it should do the same as AICC_Lesson_Status does not exist in the HTML output.

I'm no expert for regular expressions, but I attached a library object that seemed to work.

Thank you Tim. It works! I typed letters and it did accept them. When I typed numbers and special characters it didn't go through. Thank you so much, that was a big headache for me!

"~~~null~~~" is the value of an empty Lectora variable... but I don't know how this would appear in your string.

Can you share the AWT?

Hi Tim, I have been trying to use your script to display the Student name (first last). I understand the difference of the script if I am using seamless or not for example:

Seamless Play turned on

var username = parent.AICC_Student_Name.getValue().split(",");



Seamless Play turned off

var username = AICC_Student_Name.getValue().split(",");



However when I publish this I see on the LMS

Hi ~~~null~~~ Michael Collins

I am unsure why I am seeing the ~~~null~~~

I tested the script in Lectora 18.2.2 and moodle and it worked. Do you have any other actions to modify the variables or additional custom script?

Hi Tim, I will upload here. Just seen your messages now. I only have used your test to display the name by pushing the big blue button.


I tested your sample in moodle. It should work when you remove the "Var" before AICC_Student_Name:

var username = AICC_Student_Name.getValue().split(undefined



Hi Tim,

Thank you very much for the reply. I have removed the Var in front of the AICC_Student_Name and now shows my surname, but with ~~~null~~~ as my first name. I have included the screenshot of my user page including popup, JS and action.


Discussions have been disabled for this post