Course element : Course Classifier: Difference between revisions
| Line 73: | Line 73: | ||
[[File:courseClassifier_constraints_en.jpg]] | [[File:courseClassifier_constraints_en.jpg]] | ||
===What happens when classifying=== | |||
When choosing classification values, classifier information is stored into the customlabel for proper rendering the customlabel widget in course. In addition, the classification choices are stored into an extra course_classification table for other use elsewhere in Moodle. the customlabel install provides a specific table for storing those states. | |||
===What about if i want to use other tables as classification sources=== | |||
As the customlabel embedded classification has been result of a long research process over a lot of Moodle projects, We decided to let the integrator choose which tables were relevant to hold the classifiers. the last tab "Datamodel for classification" is a meta-model specification that allows diverting the storage of classification data into other tables in Moodle. Basic use of customlabels will not need to use this, but only situaitons where other plugins are used that hold a classification principle. The data model settings will tell you what tables and field are important for the customlabel classification to work. | |||
===Internal Variables=== | ===Internal Variables=== | ||
| Line 78: | Line 86: | ||
''%%tablecaption%%'' : A caption for the whole table | ''%%tablecaption%%'' : A caption for the whole table | ||
''%%uselevels%%'' : The number of classification levels to use | ''%%uselevels%%'' : The number of classification levels to use | ||
''%%level0%%'' : the value (printable form) for level 0 | ''%%level0%%'' : the value (printable form) for level 0 classification | ||
''%%level1%%'' : the value (printable form) for level 1 classification | ''%%level1%%'' : the value (printable form) for level 1 classification | ||
''%%level2%%'' : the value (printable form) for level 2 classification | ''%%level2%%'' : the value (printable form) for level 2 classification | ||
Revision as of 20:50, 1 March 2015
The Course Classifier is a special tabular element that is involved in a wider strategy for cataloging course into a global course index. At first glance, you may just use this element to mark the classification, without any other goal.
MyLearningFactory Lab has further developement in progress to reuse the indexation stored into this element to build a front site, multi-location course catalog for big public training organisations.
User side

Settings form

Integrator Corner
How to define classification lists and levels
The Coure Classifier relies on classification reference data that are stored into the Customlabel global settings. At site level, Customlabel allows to define and store some filtering and classifiers. Filtering lists can b used as source in subtypes uing the datasource field type. An example of this is given by the implemetation of the worktodo customlabel type.
For coure classifying purpose, you will first need to feed your classifiers in the global setings.
1. Browse to Administration > Plugins > Course Elements central settings, then click on the "Classification" link in the settings screen.
The classification settings panel has three main tabs, in which you can define :
- Filters and categorizers lists
- Value sets for above (either filter or categorier)
- Constraints définition for categorizers
Constraints are used to build the classification tree, selecting compatible combination of categorizing values. You may just need understand that categorizers and filters are "flat lists" of key->value pairs, that are thought rather as "tag lists". Each list will need to assemble all possible values of a tree organized classifier, than inadequate combinations of values between levels will be eliminated using constraints. Let's read the following steps to go ahead in the model.
2. Defining categorizers
- Click on th "Classifiers" tab. This allows to define our classifiers.
- Add the LEVEL0, LEVEL1 up to LEVEL2 classifiers (using those exact names in classifier codes, as the Course Classifier customlabel type relies precisely on those labels).
- Take care :
- Using LEVEL0, LEVEL1 and LEVEL2 labels as classifier codes, if you do not need the third level, just define LEVEL0 and LEVEL1, or just LEVEL0 for one level classifying list.
- Choose "category" and NOT "filter" when creating the element.
3. Adding value sets
- Now you can click on the Classification values and choose the classifiers you just created in the top scrolling list
or
- Click on the classifier name in the classifier definition view
- Add the values for a level. Note that you need add ALL the values that will be used by any branch of your classification tree at this level. See the following example if not clear at this moment.
4. Reducing the irrelevant combinations of classification.
Categories are lists of values that are defined "by level". when defining a first level A say with (a1, a2, a3), and a second level B with values (b1, b2), and choosing to priorize A as first level over B as second level, then 6 classification paths are possible at first glance:
- a1, b1,
- a1, b2,
- a2, b1,
- a2, b2,
- a3, b1,
- a3, b2
You may not need all arrangements (some may not be consistant at all), so constraints will let you exclude or define which paths are to be retained.
- Finally click on the Constraints tab
- Choose a pair of categorizers
- Edit the include/exclude grid to mark pairs that are valid/unvalid.
What happens when classifying
When choosing classification values, classifier information is stored into the customlabel for proper rendering the customlabel widget in course. In addition, the classification choices are stored into an extra course_classification table for other use elsewhere in Moodle. the customlabel install provides a specific table for storing those states.
What about if i want to use other tables as classification sources
As the customlabel embedded classification has been result of a long research process over a lot of Moodle projects, We decided to let the integrator choose which tables were relevant to hold the classifiers. the last tab "Datamodel for classification" is a meta-model specification that allows diverting the storage of classification data into other tables in Moodle. Basic use of customlabels will not need to use this, but only situaitons where other plugins are used that hold a classification principle. The data model settings will tell you what tables and field are important for the customlabel classification to work.
Internal Variables
%%tablecaption%% : A caption for the whole table %%uselevels%% : The number of classification levels to use %%level0%% : the value (printable form) for level 0 classification %%level1%% : the value (printable form) for level 1 classification %%level2%% : the value (printable form) for level 2 classification
Default Template
<table class="custombox-courseclassifier">
<tr valign="top">
<th class="custombox-title courseclassifier" colspan="2">
<%%tablecaption%%>
</th>
</tr>
<tr valign="top">
<td class="custombox-param courseclassifier" width="30%">
Classifier Level 1:
</td>
<td class="custombox-value courseclassifier">
<%%level0%%>
</td>
</tr>
<%if %%uselevels >= 2%% %>
<tr valign="top">
<td class="custombox-param courseclassifier" width="30%">
Classifier level 2:
</td>
<td class="custombox-value courseclassifier">
<%%level1%%>
</td>
</tr>
<%endif %>
<%if %%uselevels >= 3%% %>
<tr valign="top">
<td class="custombox-param courseclassifier" width="30%">
Classifier level3:
</td>
<td class="custombox-value courseclassifier">
<%%level2%%>
</td>
</tr>
<%endif %>
</table>
<%if %%showpeople%% %>
<table class="custombox-courseclassifier other">
<tr valign="top">
<th class="custombox-title courseclassifier" colspan="2">
Other classifying information
</th>
</tr>
<tr valign="top">
<td class="custombox-param courseclassifier" width="30%">
Public:
</td>
<td class="custombox-value courseclassifier">
<%%people%%>
</td>
</tr>
</table>
<%endif %>


