launch several activities with specific multiple dataset in command line
Open, Needs TriagePublic

Description

Power users should have the possibility to :

  • define which activities are presented by GCompris
  • if it is an activity including multipledataset, being able to choose which options are presented
  • if it is an activity including multipledataset, and he wants to change the datasets, having the possibility to propose a different dataset

Add a new command:

  • --sequence "sequence_file" to propose a set of activities

The sequence file contains a list of configuration files each defining an activity being selected and its configuration.
if the configuration file name exactly matches the name of an activity, the activity is presented with all its options
e.g:
content of sequence_file_3rd_grade
reversecount #full activity will all options
falling_dice #full activity will all options

if the users need to pick only specific options from the default activity config file he can use the following option
content of sequence_file_3rd_grade_selected_option
learn_digits 1,3 #select options 1 and 3 which Numbers from 1 to 2 and Numbers from 1 to 4.
small_numbers 2,3 #select options 2 and 3 which are numbers until 4 and number until 5.
When displayed the other options are still visible but greyed and not available.

For the users that really know what they are doing and need very specific datasets, the multipledataset configuration file can be overloaded.
content of sequence_file_3rd_grade_cutomised
learn_digits customised_learn_digits #link to text file customised_learn_digits where multipledataset json configuration file is written
small_numbers 2,3 #select options 2 and 3 which are numbers until 4 and number until 5.

customised_learn_digits content:
Data {

 objective: qsTr("Dataset customised for Tom who has difficulties with 7 and 9.")
 difficulty: 1
 data: [
   {
     "objective" : qsTr("Type the number on the dice, 7 or 9."),
     "sublevels" : "1",
     "words" : [
        "7",
        "9"
     ]
   },
   {
      "objective" : qsTr("Type the number on the dice, from 1 to 3."),
      "sublevels" : "2",
      "words" : [
         "1",
         "2",
         "7",
         "9"
      ]
   }
]

}

jjazeix created this task.Apr 24 2022, 7:58 PM

For the file format, it will need more discussion, it is for now a copy/paste of a previous task.

The idea is to be able to filter in ActivityInfoTree.cpp, when filling the tree at the first time, the activities we want to have displayed (the ones in the file).

For the datasets, we need to know if we want to override the existing ones in the settings or if it is just for the session.

From https://phabricator.kde.org/T13899:

It would also be interesting to pass a list of activities to only run these ones, possibly with activity options sets included.
We could use this to offer list of activities able to cover a whole sequence very easily.

Exemple:

launch "learn_3.gc"

with in learn_3.gc

falling dice until 3
falling dominos until 3
click and color until 3 etc etc

If we would be able to add datasets to this learn_3.gc we could already let the possibility to teachers to create their own lessons, without too much work on our side.