Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-3714

QTI 2.1: rs with tab and enter play in a test with limited number of attempt per question

    XMLWordPrintable

    Details

      Description

      With Edge or Firefox, it is possible to use tab and enter to "click" links and buttons. Take the case of a test with only one attempt per question, a user answers all the questions, play a little with tab and select a link in the menu list of question (a question or the bookmark) and use "enter". -> Red screen

      12:27:55,426 ERROR OLATRuntimeException:175 - **RedScreen** Item session has already been ended
      
      <dispatchinfo>
      	<componentinfo>
      		<compname>ffo_main_at_run</compname>
      		<compclass>org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer</compclass>
      		<extendedinfo>n/a</extendedinfo>
      		<event>
      			<class&gt;org.olat.core.gui.control.Event</class&gt;
      			<command>validation ok</command>
      			<tostring>com:validation ok,org.olat.core.gui.control.Event@d62b3f02</tostring>
      		</event>
      	</componentinfo>
      	<controllerinfo>
      		<controllername>org.olat.ims.qti21.ui.AssessmentTestDisplayController$QtiWorksController</controllername>
      		<controllername>org.olat.ims.qti21.ui.AssessmentTestDisplayController</controllername>
      		<controllername>org.olat.course.nodes.iq.QTI21AssessmentRunController</controllername>
      		<controllername>org.olat.course.run.RunMainController</controllername>
      		<controllername>org.olat.course.run.CourseRuntimeController</controllername>
      		<controllername>org.olat.core.commons.fullWebApp.BaseFullWebappController</controllername>
      	</controllerinfo>
      </dispatchinfo>
      >>>stack of 1.cause::org.olat.core.logging.OLATRuntimeException: Item session has already been ended
      -> at org.olat.core.gui.exception.ExceptionWindowController.<init>(ExceptionWindowController.java:116)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:57)
         at org.olat.core.gui.exception.MsgFactory.createMessageChiefController(MsgFactory.java:46)
         at org.olat.core.gui.components.Window.dispatchRequest(Window.java:589)
         at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:282)
         at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193)
         at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:273)
         at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:190)
         at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:294)
         at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:237)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
      >>>stack of 2.cause::uk.ac.ed.ph.jqtiplus.exception.QtiCandidateStateException: Item session has already been ended
      -> at uk.ac.ed.ph.jqtiplus.running.ItemSessionController.assertItemNotEnded(ItemSessionController.java:1116)
         at uk.ac.ed.ph.jqtiplus.running.ItemSessionController.assertItemOpen(ItemSessionController.java:1128)
         at uk.ac.ed.ph.jqtiplus.running.ItemSessionController.bindResponses(ItemSessionController.java:647)
         at uk.ac.ed.ph.jqtiplus.running.TestSessionController.handleResponsesToCurrentItem(TestSessionController.java:1549)
         at org.olat.ims.qti21.ui.AssessmentTestDisplayController.handleResponse(AssessmentTestDisplayController.java:1216)
         at org.olat.ims.qti21.ui.AssessmentTestDisplayController.processQTIEvent(AssessmentTestDisplayController.java:717)
         at org.olat.ims.qti21.ui.AssessmentTestDisplayController.event(AssessmentTestDisplayController.java:496)
         at org.olat.core.gui.control.DefaultController$1.run(DefaultController.java:246)
         at org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller.runWithUserActivityLogger(ThreadLocalUserActivityLoggerInstaller.java:108)
         at org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:243)
         at org.olat.core.gui.control.DefaultController.fireEvent(DefaultController.java:190)
      

        Attachments

          Activity

            People

            Assignee:
            srosse Stéphane Rossé
            Reporter:
            srosse Stéphane Rossé
            Tester:
            Mandy Menzel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours, 15 minutes
                2h 15m