Extensible user data fields

During the 3 coming days, I will be developing a feature for Dokeos that allows a Dokeos administrator to add data to users' profiles. For example, you will be able to add an age (or better, a date of birth), a sex, a mother tongue, etc. Whatever you want, basically. Once these fields are setup and filled, you will be able to limit the statistic results to only a subset of users (i.e. the ones between 20 and 40 years old, with Spanish as a mother tongue)  and restrict the entrance to tests based on these criterias. This will be achieved by adding a set of 3 tables to the main database: user_data, user_data_field, and user_data_field_values.
  • user_data will contain the data itself (a key pointing to the user, a key pointing to the field in user_data_fields)
  • user_data_field will contain the fields description (name of field, type of data it contains, etc)
  • user_data_field_values will contain the values for the fields that offer a choice of predefined values, and a pointer to the user_data_field table
We expect the first integration to be functional in Dokeos 1.8.5, although maybe not as well documented as we would like (otherwise we'll never release Dokeos 1.8.5). This goes right in the line of  developments to increase the help-HR capabilities of Dokeos.