2769 Commits

Author SHA1 Message Date
Tim Hunt
fb74929e97 MDL-32188 question CBM: alter score handling.
We now change so that minfraction is -6 and maxfraction is 3, so getting
the question right a low certainty gives maxmark marks, and you get a
bonus for being more confident (rather than being penalised for being
unconfident). Mathematically it is the same, but the difference is
importnat psychologically.

We also change how partially correct scores are handled.
It is too harsh to penalise a partially correct score with full
certainty by doing a linear interpolation between -6 and +3. Instead,
any partially correct score (e.g. 0.5) becomes that fraction of the
correct score (e.g. 0.5 * 3 = 1.5). Also, any incorrect score is treated
as 0, so if you have a multiple choice question that normally gives a
negative score for a wrong choice, this will now never give a score of
less than -6.

Finally we change how this is displayed to students beside the question.
Rather than saying "Marked out of 1.00", we say "Base mark 1.00", and
then later we say "CBM mark 3.00" (or whatever it is).
2013-10-04 17:52:29 +01:00
Tim Hunt
7ab9ce3a3c MDL-32188 question CBM: fix hard-coded numbers -> constants. 2013-10-04 17:52:26 +01:00
Tim Hunt
c4efeb2b4b MDL-32188 question CBM: fix typos in comments.
Also one method name.
2013-10-04 17:52:24 +01:00
Tim Hunt
02d3e4d557 MDL-32188 question rendering: let behaviours control mark display.
Then use this in the CBM behaviours to change how the question marks are
displayed there.
2013-10-04 17:52:21 +01:00
Tim Hunt
4e3d829350 MDL-42105 questions: let attempts have a max fraction > 1.
This parallels question_attempt->minfraction, which allows the
fractional mark to go below zere.

This is needed to allow the certainty-base marking behaviours to work
better.
2013-10-04 17:52:19 +01:00
Tim Hunt
474aa125ca MDL-32188 quiz/question: behaviours can add to the review summary.
At the top of the quiz reivew page, there is a table that summarises
infomration about the quiz attempt as a whole. For some question
behaviours, we would like to be able to add additional information to
that summary.

This commit introduces a generic method for the behaviour to provide
summary information about an entire question usage.
2013-10-04 17:52:16 +01:00
Tim Hunt
f3460297a9 MDL-32188 question engine: behaviour static methods -> new classes
It was always a bit of a hack to use static methods on the
qbehaviour_whatever classes to return metadata about the behaviour. It
is better design to have real qbehaviour_whatever_type classes to report
that metadata, particularly now that we are planning to add more such.

For example, inheritance works better with real classes. See, for
example, the improvements in
question_engine::get_behaviour_unused_display_options().

This change has been implemented in a backwards-compatbile way. Old
behaviours will continue to work. There will just be some developer debug
output to prompt people to upgrade their code properly.
2013-10-04 12:15:01 +01:00
Sam Hemelryk
7f62e4040a Merge branch 'MDL-9873' of https://github.com/merrill-oakland/moodle 2013-10-04 08:25:58 +13:00
Eric Merrill
300eee6a45 MDL-9873 question Require question text
This commit removes the code that requires the question text
for the multianswer question type, as it is a duplicate, and
throws errors.
2013-10-03 08:50:39 -04:00
Sam Hemelryk
c7387be83b Merge branch 'MDL-16464' of https://github.com/timhunt/moodle 2013-10-03 08:34:39 +13:00
Tim Hunt
dba40d4e70 MDL-16464 qtype_multichoice: fix missed question -> questionid. 2013-10-02 10:16:22 +01:00
Marina Glancy
a929e5e83d Merge branch 'MDL-9873' of https://github.com/merrill-oakland/moodle 2013-10-02 09:20:52 +10:00
Sam Hemelryk
6579a7b791 Merge branch 'MDL-41751-master' of git://github.com/jamiepratt/moodle 2013-10-02 11:36:16 +13:00
Eloy Lafuente (stronk7)
91c49b8cf4 Merge branch 'MDL-41752-master' of git://github.com/jamiepratt/moodle 2013-10-01 19:18:36 +02:00
Marina Glancy
e6ec2366a8 Merge branch 'MDL-41885-master' of git://github.com/danpoltawski/moodle
Conflicts:
	mod/upgrade.txt
2013-09-30 17:57:30 +10:00
Jamie Pratt
d50b05e696 MDL-41751 changes to api of question_response_analyser
and code refactoring and clean up.
2013-09-27 17:38:13 +07:00
Tim Hunt
0aa04a7faf MDL-16464 remove multichoice answers field.
This field is not used, but sometimes causes errors when we try to
instert a value that is too long to fit. Therefore remove it.

At the same time, rename tables and columns to match the coding
guidelines.
2013-09-27 10:57:58 +01:00
Jamie Pratt
59abb70716 MDL-41752 question statistics class moved and improved
quiz_question_statistics_stats renamed to question_statistics_calculator
separate class question_statistics used to store calculated stats
and api changed, also code generally cleaned up.
2013-09-27 16:24:18 +07:00
Jamie Pratt
515b3ae6a7 MDL-41752 question statistics class moved and improved
quiz_question_statistics_stats renamed to question_statistics_calculator
separate class question_statistics used to store calculated stats
and api changed, also code generally cleaned up.
2013-09-27 14:10:53 +07:00
Dan Poltawski
b07ef13be2 MDL-41885 modules now declare use of question bank
* FEATURE_USES_QUESTION_BANK is now a module_supports flag which declares
  that an activity uses the question engine.

* question_module_uses_questions can be used to determine if a module
  uses the question bank.
2013-09-26 09:49:34 +08:00
Eric Merrill
363f82243b MDL-9873 questions Set question text field to required.
After much discussion, it was decided that the damage done by not
not setting question text (student goes to take test and sees nothing)
is more of a problem then the use cases where teachers want empty
questions (inputing paper tests). In those cases, they will need
to add something like a period to the question text field.
2013-09-25 09:07:04 -04:00
Jamie Pratt
e68e4ccfdc MDL-41725 move db tables from quiz stats report
to question bank

- move cron to clean up old cache records move code and
rename classes
- further review of the quiz reports statistics code
- starting to separate calculations of quiz stats, question stats and
response analysis
- introduce hashcode db field for cached stats convert
- code to use qubaids hashcode for caches

We just drop the old tables (including previous upgrade steps) and
re-create the new ones, because these tables just cache calculated
statistics. No important data is stored in them.
2013-09-20 16:27:06 +07:00
Eloy Lafuente (stronk7)
abef633c33 Merge branch 'MDL-41570-master-v2' of git://github.com/jamiepratt/moodle 2013-09-17 21:57:07 +02:00
Sam Hemelryk
26c9c586c9 Merge branch 'MDL-41572-master' of git://github.com/jamiepratt/moodle 2013-09-17 14:30:16 +12:00
Sam Hemelryk
81ece3f7aa Merge branch 'MDL-41571-master' of git://github.com/jamiepratt/moodle 2013-09-17 14:00:15 +12:00
Jamie Pratt
764f6153d1 MDL-41572 pass through question behaviour vars with correct prefix
Through prepare_simulated_post_data. Also includes unit tests for
multiple attempts and tries.
2013-09-15 17:52:18 +07:00
Jamie Pratt
f7f596a2a7 MDL-41571 move forced_choices_selection_strategy
out of question/engine/tests/helpers.php to
question/engine/lib.php
2013-09-10 14:29:01 +07:00
Jamie Pratt
f8f37f1edc MDL-41570 fixes match qtype's prepare_simulated_post_data
And converts more unit tests to use the method
2013-09-10 14:24:32 +07:00
Adam Olley
910051b798 MDL-41600: qformat_blackboard_six Fix test_import_match fail w/ddmatch
With qtype_ddmatch installed, the unit tests for qformat_blackboard_six
fail as they generate ddmatch questions instead of match ones. This
patch checks for ddmatch and changes the test to expect that instead if
its installed.
2013-09-10 09:16:51 +09:30
Damyon Wiese
050167c3e6 Merge branch 'MDL-41348' of git://github.com/timhunt/moodle 2013-09-03 16:09:29 +08:00
Tim Hunt
0d14f2eb1e MDL-41348 question code depends on filelib.
I think this used to work because mod/forum/lib.php used to be included
everywhere, and in turn included lib/formslib.php. We should declare the
dependencey explicitly.
2013-08-28 11:15:24 +01:00
Dan Poltawski
939320f721 Merge branch 'MDL-41366' of git://github.com/timhunt/moodle 2013-08-27 18:09:34 +08:00
Dan Poltawski
915a6b4117 Merge branch 'MDL-39980' of git://github.com/timhunt/moodle 2013-08-22 10:04:55 +08:00
Tim Hunt
7a55fd3888 MDL-41366 qbehaviour_informationitem fix name capitalisation. 2013-08-21 12:28:20 +01:00
Tim Hunt
d629327a14 MDL-39980 essay attempt-on-last. Handle the no-files case.
This slighly changes the format for the way answers are stroed in the DB
in the case where there is some HTML content, but no files. This should
not cause any problems.
2013-08-21 11:56:17 +01:00
Damyon Wiese
43cc62ed13 Merge branch 'MDL-41036' of git://github.com/timhunt/moodle 2013-08-20 12:55:31 +08:00
Dan Poltawski
8ab325fb00 Merge branch 'MDL-38203' of git://github.com/timhunt/moodle 2013-08-20 11:28:39 +08:00
Dan Poltawski
9d66c2bb5b Merge branch 'MDL-39980' of git://github.com/timhunt/moodle 2013-08-20 10:47:45 +08:00
Damyon Wiese
26ae471585 Merge branch 'MDL-40896' of git://github.com/timhunt/moodle
Conflicts:
	theme/bootstrapbase/style/moodle.css
2013-08-19 15:38:23 +08:00
Tim Hunt
9e6eb082ff MDL-38203 multianswer qtype: feedback pop-up should be constrained.
So that, when there is a lot of feedback, it is all visible.
2013-08-15 14:15:38 +01:00
Tim Hunt
afb1b3d03b MDL-39980 question engine: Attempt on last loses response files
When doing Each attempt builds on last, we need to copy any response
files into a draft file area, and then re-save them.

While writing the unit test for this, I had to deal with a todo in the
question engine so that questions with files in the response could be
unit-tested.

I also found an fixed a bug with qtype_essay_question::is_same_response
and fixed some notices in the existing essay/manual graded unit tests.
2013-08-15 12:55:13 +01:00
Tim Hunt
89b04bef50 MDL-41093 qtype match: unique index upgrade problem.
Eliminate duplicate rows before we try to add a unique index. We
arbitrarily keep the duplicate row with the lowest id.
2013-08-15 12:20:07 +01:00
Tim Hunt
fa5c608c62 MDL-41036 Question category info should use HTML editor
This is a minimal fix. All this code could do with a clean-up, but at
the moment, it works, so I am not going to touch it.
2013-08-15 12:19:47 +01:00
Tim Hunt
2f7827b241 MDL-40896 Add missing question edit CSS to bootstrapbase. 2013-08-15 12:18:00 +01:00
Dan Poltawski
387d040b7b Merge branch 'MDL-40668-master' of git://github.com/damyon/moodle 2013-08-13 11:14:37 +08:00
Damyon Wiese
0c0dfa8fbd MDL-40668 tinymce: Remove collapsable editor options
We have an alternative (pdw toolbars)
Also, allow tinymce to be collapsed down to a single row.
2013-08-13 10:54:36 +08:00
Dan Poltawski
ed07242713 MDL-39507 qtype_essay: hacky fix for unit tests
This is just to get the tests passing for integration purposes. Tim
may want to do a robust fix and revert this.
2013-08-13 10:47:19 +08:00
Dan Poltawski
942a0e37d4 Merge branch 'MDL-39507' of git://github.com/timhunt/moodle 2013-08-13 09:52:35 +08:00
Sam Hemelryk
defb89c30c Merge branch 'MDL-41091' of git://github.com/timhunt/moodle 2013-08-13 09:38:40 +12:00
Tim Hunt
e2b388c1a4 MDL-39507 questions: fix pluginfile URLs before format_text.
This commit build's on Jean-Michel's work, tidying up a few lose ends.
2013-08-12 10:32:02 +01:00