Advanced Controls: Jumping to top of chapter
June 22, 2021 12:00 AM
Hello -
Does anyone know what the JavaScript or JQuery code would be to modify the next button to jump to a specific Exam Chapter title name?
For example, my section is called EXAM and I have 4 chapters called: RED, BLUE, GREEN, ORANGE. What would be the code (JS or jQuery) to modify to jump to a specific chapter based on some logic/code dynamically.
Reason: I am building a highly modified exam solution that pulls our user details in from a REST API solution internal to our corporate infrastructure and want to ask questions based on specific competencies that are documented in the platform.
Discussion (11)
Thank you @chris_willis for sending it off to your engineering team.
Essentially we have a workforce of over 8000+ with multiple "certifications" which means not everyone is the same. We used to asked questions that were highly generic and applicable to all, but this turned out to be extremely useless in terms of actually assessing what people know.
To test out my theory and capabilities of Lectora, the first phase involved grouping sites into specific categories and asking a foundational set of question (30Q) to all users. Then if the user was from one of the 8 larger sites (where we have probably 60% of our users located), we would ask them another 10 questions specific to that group of users but generic enough to be asked to all sites.
After talking to my Sys Admins in my IT Department, they mentioned the handful of under-utilized REST APIs that our organization has access to from our vendors. So using the very limited details from the SCORM API (e.g. user ID), I can make a request to our available REST API to get details that are outside of typical SCORM API data package. After having their list of certifications, we can then ask specific certifications/competencies questions based on the details we dynamically obtain on the first page of the assessment - then using some logic (IF/THEN, etc) to check to see if the question falls within their assigned competencies.
I really wish I could just post the materials since I believe Lectora was the tool that I was missing to make highly customized training and assessment tools internal to our organization.
@andrew-robertson I've posted your question to our engineers. I really dig your use case and would love to learn more about how you are using Lectora assessment to drive organizational performance improvement!
Yes maybe have 4 navigation buttons all initially hidden. Based on where you want to send them show the appropriate button. You can set up a known name on a button, then call actionShow() on that button.
Button GREEN
(add an action to this button)
On Page Show -> Run JavaScript -> getDisplayWindow().greenButton = %HTMLNAME%;
To show the button from JavaScript:
getDisplayWindow().greenButton.actionShow();
@chris_willis that is a very fair question and I have thought about that, but to avoid people from cheating we need our questions randomized. For our dedicated course assessments, it's easy because we can ask 30 questions in the exam and tell the application to randomize all 30 questions. However, when we start going down the path of asking specific competency questions based on an external source, I cannot figure out how to keep our randomization in play.
I think with the hiding/showing the next button idea that you have removes the ability to randomize the questions to a certain extent.
The solution below is the only way I could do it in my head, but I am entirely open to other ideas and solutions to investigate.
- Each competency (COMP1, COMP2, COMP3, etc.) is a test section containing 5 questions randomized.
- Once all questions in a competency section are answered, it progresses to the next page which is in the Jump Page section.
- The Jump Page (only page in the section) has an on page show action which will proceed to the next competency section if the appropriate competency condition is met in the IF/THEN condition. If it isn't, then it skips to the next Jump Page - rinse repeat.
- Once the last competency section is completed OR skipped, it hits teh submission page which has a on page show to process the quiz/exam.
@andrew-robertson, our Lectora gurus ask if there is a reason you do not Hide or disinherit the standard Next button and insert a new Next button that targets where you need to go?
But it should be possible to show / hide buttons on the "Jump pages" as long as their respective test sections are not randomized. It may also be an option to use 5 separate tests instead of 1 test with 5 sections. Through this the users would be outside any test when it's time to decide which test to take next. You could put a landing page before it "The following 3 of 5 topics are relevant for you".
@wheels you do have me thinking now about how to modify that solution idea that @chris_willis suggested.
- Set all questions and relative page assets to INITIALLY HIDDEN on each page.
- Set the TEST BEHAVIOUR to not require the Student Must Answer Each Question.
- Add an OnPageShow action which if the student has the question's competency, then SHOW the Question and Submit button, otherwise go to next page.
I was able to build it this way as outlined above using 5Qs, the only thing I see that is annoying more than anything is the flashing of the page that isn't to be shown (essentially the 1-2sec processing part where it says to go to the next pg).
So, you have an array of competencies a user has and there's a number of questions related to each competency?
You could create an array that contains all questions html names, check the skill array to remove all non-relevant questions from it, shuffle the remaining values and show them one by one, i.e. in a randomized sequence, maybe all on the same page.
You could also put the questions on separate pages and do the same thing with iframes / Web Windows that display the question pages. This would make it easier to handle the large number of objects, e.g. when each question had a separate Check button or images.
@timk this is exactly the route I was thinking. I just need to figure out the code to support it lol!
I have gotten something similar to this working, but it checks when the question page on screen as opposed to having the defined set of questions up front.
Is there an easy way to find out the PAGEID numbers without having to publish the content? I can find the text based page names (a001_exam_main_question1.html), but I am having to convert to page id numbers due to the language restrictions (EN/FR).
@timk, from a content management perspective, I like your idea of using separate question pages and Web Windows for several reasons, including the ability to maintain a single question in one place while re-purposing it across multiple assessments within the same project.
@timk I know what you are saying, my example only included 4 competencies but our current competency list is anywhere between 20-25 and users can have any mix of them. Where.....
- Main Certification
- Sub-competency 1
- Sub-competency 2
- Sub-competency 3
- Sub-competency X
- Supplementary Certification 1
- Supplementary competency 1
- Supplementary Certification 2
- Supplementary competency 2
Users would have the main certification, but not all the sub-competencies for one reason or another; and then we get even more complex where the Sub-competency in the main certification may be broken down into 2 or more technology specific questions.
It's kind of like:
- Main Certification: Sedan Driving
- Road Rules
- Map Reading
- Main Driving Tools (wheel, brake pedal, gas pedal, etc.)
- Entertainment System
- Apple Car Play
- Android Audio
- etc.
- It uses all the same foundational competencies above with a few extras such as the door usage, seat configuration, etc.
Sorry for the car analogy, my team is starting to kill me because i sue them all the time but it is the most relatable to people