Feature Wiki

Information about planned and released features

Tabs

Introduction of Learning Sequences (new container object) / an Object Sequence Player Object

This is a sub-entry of the feature request Competence-driven Question Groups and Test Parts

1 Initial Problem

We want to create and manage learning paths.

Currently, ILIAS offers no functionality to let a learner work thourgh a prediefined series of objects, for example, three tests and a survey in a row. It should be possible to structure and control the workflow of how a learner works through this sequence. The only way this can be done right now, is by using preconditions which however only provide very subtle means of controlling what a learner is supposed to do next.

In other words, there is no way of putting a "bracket" around a set ob repository objects which in turn acts like a separate entity that controlls if / how and when the objects it contains / organizes are played back. If a leaner enters such an entity they should be directed to the point they left off and they should be able to see where they stand in the process, i.e. they should see their "progress" within this process.

In order to find a solution, there have been several workshops / virtual meetings:

  • VC 17.03.2017 (3 hours)
  • VC 28.03.2017 (3 hours) - have a look at the mock-ups in the presentation below

2 Conceptual Summary

We propose introducing a new repository object called "Object Sequence Player Object" (henceforth referred to as OSPO).

Wen might need to find a handier name in the future, like "Learning Sequence" or whatever.

The OSPO should privde these basic functionalities:

  • assign other repository objects to manage them as its "content"
  • control if and when each contained object is "played back"
  • set and order for the objects to be played back
  • provide a "check-in" (before first object) and "check-out" (after last object) page
  • set conditions for "show" / "do not show" an object
    • standard: learning progress status
    • all existing precondition modes from the "Availability" feature
    • set of users who do / do not get this object presented
    • every object with a precondition can be set to "hidden", which hides it from the check-in page and the global progress bar of the OSPO
  • display results from such objects that a) have been worked through by the user and b) that provide the appropriate interface
    • grades
    • results from a test
    • learning prograss status
  • displays a graphic representation of a user's progress within the OSPO (suing the new UI concept KS-Entry: Instructional Overlay)
    • shows all steps for a user except those which are set to "hidden"
  • member list (i.e. local roles such as crs_member, ...) to show where everybody stands in the process
    • set of status: {not started, 'Object 1', ... , 'Object N', 'finished'}
  • internal copy function that produces an exact copy of
    • the OSPO itself
    • all contained objects
    • the playback settings, check-in, check-out config, ...
    • no member data
  • it should have its own LP status - an OSPO can assume several LP states:
    • not started
    • started
    • passed
    • failed
    • finished
  • should be able to carry its own preconditions
  • it should be possible to assign addresses competences to a leanring sequence
    • the competences that are addressed in the learning sequence should be clearly stated and linked
    • the determination of competence data should prey on the competence service functionalities of its conteined objects
Who does what?
  • simple solution: every member walks the same path (perhaps skipping some steps through (pre-)conditions
  • complex soution: define different paths and playback orders for individual sets of users

User Story

A course administrator wants to create a sequence of three tests that are suppsoed to be worked through by each course member in direct succession. Each test has its own settings (the first test 'Test A' uses a fixed set of questions and the last two, 'Test B' >  [pass with 50% of max score] and 'Test C' > [pass with 75% of max score] are random tests). The tests have been created on the same level as the OSPO to ensure access of every course member.
The sequence should appear as one object on the course content tab for the course members. The individual tests do not appear in the course anymore (cf. behaviour of session material)

Anna is a member of this course.

Anna enters the sequence object an lands on the check-in page. She gets an overview of what is waiting for her: a nice looking overview consisting of tiles linked by arrows (with the objects icon, title and description) of the three tests and a button called [Start]. The course admin has a member panel that lists which users have begun the sequence and at which point every course member stands at the moment. They can easily see, that Anna has not started the OSPO yet.

After clicking on [Start], Anna is directly led to the info page of 'Test A' and work through the test ordinary manner. After finishing 'Test A' Anna is redirected to the Info page of 'Test B' which she starts immediately. Anna decides to suspend the test for a while to go and meet some friends in town. When she returns, she logs on, goes to the course and enters the OSPO again. She is directly rerouted to 'Test B' and has the option to resume it there. Anna has no way of fast-forewarding to 'Test C' without fiinishing 'Test B' first. Anna resume and finished 'Test B' and continues with 'Test C'.

After finishing 'Test C', Anna is redirected to the check-out page of the sequence. There she gets an overview of her results from all three test. On entering the check-out page, her sequence status is automatically updated to "finished".

Possible Interfaces of other Objects for Condition Setting:

  • Test Object (Björn Heyer and Fred Neumann will have a look at this)
    • Learning Progress Status (see Development Guide: http://www.ilias.de/docu/goto_docu_pg_56999_42.html)
    • ilTestEvaluationUserData and ilTestEvaluationPassData provide many relevant data about a test participant and his passes/answers. But they are created as parts of ilTestEvaluationData which is filled for all test participants in ilObjTest::getUnfilteredEvaluationData(). There should be a possibility to query the results of a single test participant (the current user).

Expected Behaviour / Workflow: Instructor's Perspective

  1. Create an OSPO
  2. Create objects within / Add objects to the OSPO in a way that ios similar to the Session's "Material" tab
  3. Set up repconditions for the objects within the OSPO and determin the playback order
  4. Design / Put some text on the Check-In page
  5. Select the Results / data that is supposed to be displayed on the Check-Out page
  6. Set the OSPO online

Expected Behaviour / Workflow: Student's Perspective

  1. Click on OSPO
  2. Get overview over squenced objects and an instruction
  3. Start Sequence
  4. Leave OSPO at any point (e.g. within a test)
  5. Enter OSPO again and be automagically transferred to the point where you left off
  6. Finish OSPO's last object
  7. Get overview over results and additional finishing info

Check-In Page

  • holds instruction (as plain text field or PME) for the sequence
  • holds an overview over the assigned objects and their playback order
    • if objects are configured with preconditions (detours) within the OSPO, these detours are shown here as well (unless configured as "hidden")
  • additional information can be put here using the PME / plain text

Check-Out Page

  • the Check-out page can show content from results pages from different objects, e.g.
    • test results
    • GAP analysis data from a survey
    • GAP analysis data from a test [new feature]
  • if configured that way: shows the user's gloab staus of the OSPO: passed, failed
  • additional information can be put on this page, either through the PME or as plain text

3 User Interface Modifications

3.1 List of Affected Views

New Tabs:

  • Content
  • Info
  • Settings
    • Settings
    • Check-In Page
    • Check-Out Page
  • Objects
    • Assigned Objects
    • User Flow / Preconditions
  • Members
  • Permissions

3.2 User Interface Details

{For each of these views please list all user interface elements that should be modified, added or removed. Please provide the textual appearance of the UI elements and their interactive behaviour.}

Content > Check-In

Content > Check-Out

Check-In with addtional steps (objects controlled by preconditions)

Check-Out with addtional steps (objects controlled by preconditions)

3.3 New User Interface Concepts

  • Object Progress Flow
  • Object Tiles

{If the proposal introduces any completely new user interface elements, please provide a link to separate feature wiki entries for each of them according to the kitchen sink template.}

4 Technical Information

{The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues.}

5 Contact

  • Author of the Request: {Please add your name.}
  • Maintainer: {Please add your name before applying for an initial workshop or a Jour Fixe meeting.}
  • Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}

6 Funding

If you are interest in funding this feature, please add your name and institution to this list.

  • ...

7 Discussion

Schmid, Fabian [fschmid], 27 Mar 2017: This seems to me a very interesting variant, how users in ILIAS are led to learning materials. Contrary to the Feature Request I do not see this as a new container object, but rather in the sense of a representation and structuring form of elements in a container. There are also overlaps on "learning progress" and "preconditions". A possible implementation variant would be a similar form to the "session".
I am very interested in the implementation and maintenance of this feature.

Killing, Alexander [alex], 28 Mar 2017: I very much agree with Fabian here, there are lots of existing features that could help to set this up. It seems that item groups and preconditions could be at the core. Missing parts seem to be mostly ways of presenting the progress, which is easy when working with one fixed path (like in the mockups). But each precondition sets up an edge in a graph, so a general presentation would be a graph. However it would be possible to check if the preconditions are setup in a "one-path-only" way and to offer a certain visual presentation for this case only.

Slotosch, Sven [sven.slotosch], 28 Mar 2017:Could be good for e-assessment, too and maybe replace the "test parts"-feature. But only if it is possible to hide the overview   and if the transition from test A to test B can be seemless. It would disturb the students' concentration if the new test(-part) starts with the info-page. It would also be great if the parts within the OSPO could be randomized. It is necessary that the results are displayed on one page AND are also exported as one in an excel-sheet.

Neumann, Fred [fneumann], March 28, 2017: Some open questions / considerations:
Kiosk Mode

  • How far is the display of an object in the sequence reduced?
  • Will the progress bar always be shown?
  • What is shown in the breadcrumb?
  • Will the progress bar replace tie ILIAS header or the breadcrumb?
Navigation
  • If the sequence is just informal (no dependencies) then it should be possible to manually jump between objects in the progress bar. This is important if the sequence player should replace the concept of test parts in a test. See Scenarios T2 to T4 of the initial concept of Test-Parts and Question-Groups without time limit for the single parts. If the parts / tests are separated only for randomization / evaluation / grading, then it shoud be possible to jump seamlessly between all parts (see comment above from Sven).
  • “Finished” objects will change their appearance in the status bar.

Heyser, Björn [bheyser], March 28, 2017: I support this feature request from the view point of the test & assessment maintainer, as this concept can satisfy the needs for test parts. It was indeed an alternative option at the time we worked on the test parts concept. We simply decided to go the way of spliting a test into parts, because we did not see any relevance regarding other object types.

Killing, Alexander [alex], 28 Mar 2017: Could you please upload the mockups one by one into this page. I know it is a little bit of pain, but we should be able to address/discuss them one by one, replace single instances and so on without having everything in a PDF, which then might suddenly be replaced completely.

Strassner, Denis [dstrassner], 05.04.2017: For us, it is a very interesting feature request, especially for e-assessments under the caveats expressed by Sven.

Forster, Ulrich [uforster] , 03/05/2017: Nice Idea.  Could work for a regression predicted test/learning sequence, too. ILIAS picks the proper test suggested by privious grades. You get what you learned for :)

8 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.

Last edited: 11. Jul 2017, 21:19, Tödt, Alexandra [atoedt]