maths / moodle-qtype_stack

Stack question type for Moodle
GNU General Public License v3.0
142 stars 149 forks source link

Metadata within STACK questions #1171

Open sangwinc opened 7 months ago

sangwinc commented 7 months ago

At the STACK International Advisory Board meeting today, one colleague asked for a supported mechanism for question authors to add metadata to STACK questions. E.g. author(s), original institution, copyright, etc. This could be an extra field.

The first thing to note is this really isn't an issue only affecting STACK questions. But, since STACK questions are more complicated than many, people see more value in these than other question types.

One proposal is to add in a [[metadata]] ... [[/metadata]] castext block which, like comments, is not shown to students. Instead it can be used to host metadata.

Newer versions of STACK have a "description" field, and the block would naturally sit there.

Do people want to add this data? What do you want to add, and how can we easily add it in a consistent and simple way?

bgailer commented 7 months ago

I think that is a wonderful feature that would be beneficial for the use case at our university. In our STACK questions we usually include information about the author, institution and also sometimes the copyright as a comment in the question variables, but this is surely not the best place for this kind of information.

The question description field would be a good place in my opinion. Maybe every new question could start with an empty [[metadata]] block in the question description filed? Also, maybe the content of that [[metadata]] castext block could be shown below the question name in the question dashboard so that one can quickly see who created a question and who modified it (especially useful for imported question). I'm not sure if a new field for question metadata would be better that a castext block.

Or maybe something like this:

[[metadata name="" role="author" institution="" copyright="" /]]
[[metadata name="" role="editor" institution="" copyright="" /]]

Overall, this proposal would definitely help for dealing with author information on questions :)

smborio commented 7 months ago

Hi all,

We already use the question description for this. We have the following tags that match our workflows (and are currently discussing the possibility of adding some more):

<p id="author"></p>
<p id="concept doc link"></p>
<p id="reviewer"></p>
<p id="reviewer"></p>
<p id="description"></p>

I hope this helps in the definition of this addition.

There is another type of metadata that we are in the process of using, which is already included, which is tags. This is to help us manage large question banks and with gitsync we are hoping to have a sensible database that uses the metadata to filter questions nicely.

All the best!

sangwinc commented 2 months ago

One option would be to have a tag to indicate the type of metadata. If we support JSON then we could more easily compute with it later, e.g.

[[metadata type="json"]] 
{
 "author": "Chris Sangwin",
 "licence": "CCBY"
}
[[/metadata]] 

When you save the question, we would then check the contents of the block are valid.

sangwinc commented 2 months ago

What metadata should we store? My suggestion is that we add another setting to STACK which is the default metadata for a new question.

qtype_stack | metadata

When we create a new question, this becomes the question description, and some of the fields in this metadata (e.g. question author) are automatically populated.

We might investigate existing standards for metadata as well, e.g https://pure.hw.ac.uk/ws/portalfiles/portal/10607125/TICLpaper.MetadataForEducation_postref.pdf including The Dublin Core Metadata Initiative (DCMI).

If we really go for Dublin Core, then we might validate this with

[[metadata type="dublin"]]