Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Experimental project
This is a sandbox project, which contains experimental code for developer use only.
This project is a first small step in an attempt to do something similar to
what is found at the Khan Academy (khanacademy.org).
This first step allows for setting up Rules components used for evaluating an
answer towards a given correct answer, in dynamic ways. It contains:
* A new entity type, "Question". It is used to store questions, and descriptions
of answers (either in exact form or in lists of answer alternatives). It also
has a reference field to Rules components, for allowing the question creator
to select which kind of logic should be used for evaluating answers.
* Two Rules condition components, "is equal to" and "is one of". These are used
by question creators to select answer evaluation logic.
* A content type, "Answer". This contains a reference to a question, and a field
for answer.
* A reaction rule acting when an answer is saved, using the component selected
in the question to evaluate the answer (against the question data). If the
conditions are met, the text 'it is true' is displayed.
The idea is that the question entity should be expanded with a few more fields,
to allow more flexibility in how accepted answers can be set. These fields
should be visible/hidden depending on which evaluation components are used.
More importantly, though, there should be many more evaluation components – for
example to evaluate mathematical expressions, check for *all* words in a list,
check for similar words, and other things you could set up using Rules
conditions.
Some links for trying this out:
* Create a question: admin/structure/eck/question/question/add
* Create an answer: node/add/answer
* Change fields for the questions: admin/structure/eck/question/question/fields
IDEAS FOR A DISTANT FUTURE
==========================
* Questions should be able to use token replacement patterns in the question
texts, allowing for dynamic questions following specified patterns.
* There should probably be a separate entity type for answers. (Which actually
makes more sense than a separate question type for answers.) Answers need to
be light-weight, and should probably be archived or deleted after a certain
time.
* There should be rules and stuff for setting up achievements and rewards.
* There should be permissions associated with each answer evaluation component,
allowing access to more sophisticated evaluators as the user account grows.
* There should be a separate component type in Rules for answer evaluations,
which would also make it easier to only allow certain type of components to be
selected as answer evaluations.
* And more...
Project information
- Seeking co-maintainer(s)
Maintainers are looking for help reviewing issues. - Module categories: User Engagement, Automation
- Created by Itangalo on , updated