August 24, 2009

Moblin4Children: configuring GCompris

Each level provides a set of activities:

  • easy profile: computer
  • medium profile: puzzle, discovery, fun, computer
  • hard profile: puzzle, discovery, math, fun, strategy, computer, experience, experimental, reading

Moreover, the "default" profile doesn't include any activities.

I set up this configuration using "GCompris Administration Tool".
It was easy to create a configuration.
The configuration is stored in the DB ~/.config/gcompris/gcompris_sqlite.db.

The question now is: to make the configuration portable do I need to copy (install) a preconfigured gcompris_sqlite.db?

PART 1: analysis
I'll make some analysis (ref).
First of all I explored the content of the DB gcompris_sqlite.db. I used the tool sqlite3.
Just enter following commands:

 # cd ~/.config/gcompris/
 # ls
gcompris.lock  gcompris_sqlite.db
 # sqlite3 gcompris_sqlite.db
sqlite>.help

The database schema in an SQLite database is stored in a special table named "sqlite_master". You can execute "SELECT" statements against the special sqlite_master table just like any other table in an SQLite database

sqlite> select * from sqlite_master;

Tables in the DB are:

sqlite> .table
activities_out           groups                   logs                   
board_profile_conf       informations             profiles               
boards                   list_groups_in_profiles  users                  
class                    list_users_in_groups   

To know wich profiles are stored tapes following command:

sqlite> select * from profiles;
1           Default     Default            Default profil for gcompris
2           easy                           easy                       
3           medium                         medium                     
4           hard                           hard  

Configuration of each profiles can be got with the command:

sqlite> select * from activities_out;

Each entry has two values: the id of the activity (also known as board) and the id of the profile. For example the entry "112, 1" tells that the profile 1 (default) doesn't include the activity 112 (algebra_minu). To get the ID of the activities use the command:

sqlite> select * from boards;

PART 2: A portable configuration
Please waits next post.

Click Here!