Skip to content
Snippets Groups Projects
Commit e3cc7a2b authored by Chris Sangwin's avatar Chris Sangwin
Browse files

Refactor admin UI pages to tidy them all away. No changes in current functionality. Issue #683.

parent ab97a8f5
No related branches found
No related tags found
No related merge requests found
Showing
with 96 additions and 87 deletions
......@@ -25,16 +25,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->dirroot .'/course/lib.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir .'/filelib.php');
require_once($CFG->libdir .'/tablelib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/answertest/controller.class.php');
require_once(__DIR__ . '/tests/fixtures/answertestfixtures.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/answertest/controller.class.php');
require_once(__DIR__ . '/../tests/fixtures/answertestfixtures.class.php');
// Get the parameters from the URL.
......@@ -48,7 +48,7 @@ require_capability('qtype/stack:usediagnostictools', context_system::instance())
// Set up the page object.
$PAGE->set_context(context_system::instance());
$PAGE->set_url('/question/type/stack/answertests.php');
$PAGE->set_url('/question/type/stack/adminui/answertests.php');
$title = stack_string('stackInstall_testsuite_title');
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
......
......@@ -25,12 +25,12 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__ . '/../../../config.php');
require_once(__DIR__ . '/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/bulktester.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/bulktester.class.php');
// Increase memory limit: some users with very large numbers of questions/variants have needed this.
raise_memory_limit(MEMORY_HUGE);
......
......@@ -26,12 +26,12 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__ . '/../../../config.php');
require_once(__DIR__ . '/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/bulktester.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/bulktester.class.php');
// Get the parameters from the URL. This is an option to restart the process
......
......@@ -24,12 +24,12 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/bulktester.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/bulktester.class.php');
$skippreviouspasses = optional_param('skippreviouspasses', false, PARAM_BOOL);
$urlparams = [];
......@@ -41,7 +41,7 @@ if ($skippreviouspasses) {
$context = context_system::instance();
require_login();
require_capability('qtype/stack:usediagnostictools', $context);
$PAGE->set_url('/question/type/stack/bulktestindex.php', $urlparams);
$PAGE->set_url('/question/type/stack/adminui/bulktestindex.php', $urlparams);
$PAGE->set_context($context);
$PAGE->set_title(stack_string('bulktestindextitle'));
......@@ -57,7 +57,7 @@ echo $OUTPUT->heading(stack_string('replacedollarsindex'));
echo html_writer::start_tag('ul');
foreach ($bulktester->get_stack_questions_by_context() as $contextid => $numstackquestions) {
echo html_writer::tag('li', html_writer::link(
new moodle_url('/question/type/stack/bulktest.php',
new moodle_url('/question/type/stack/adminui/bulktest.php',
$urlparams + ['contextid' => $contextid]),
context::instance_by_id($contextid)->get_context_name(true, true) . ' (' . $numstackquestions . ')'));
}
......@@ -65,7 +65,7 @@ echo html_writer::end_tag('ul');
if (has_capability('moodle/site:config', context_system::instance())) {
echo html_writer::tag('p', html_writer::link(
new moodle_url('/question/type/stack/bulktestall.php', $urlparams),
new moodle_url('/question/type/stack/adminui/bulktestall.php', $urlparams),
stack_string('bulktestrun')));
}
......
......@@ -22,13 +22,13 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/maximaparser/utils.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/maximaparser/utils.php');
require_login();
......@@ -39,7 +39,7 @@ $urlparams = array();
$context = context_system::instance();
$PAGE->set_context($context);
$PAGE->set_url('/question/type/stack/caschat.php', $urlparams);
$PAGE->set_url('/question/type/stack/adminui/cascacheview.php', $urlparams);
$title = 'Cache debug';
$PAGE->set_title($title);
......
......@@ -23,14 +23,14 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/cas/castext.class.php');
require_once(__DIR__ . '/stack/cas/keyval.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/cas/castext.class.php');
require_once(__DIR__ . '/../stack/cas/keyval.class.php');
require_login();
......@@ -55,7 +55,7 @@ if (!$questionid) {
$context = context_system::instance();
$PAGE->set_context($context);
$PAGE->set_url('/question/type/stack/caschat.php', $urlparams);
$PAGE->set_url('/question/type/stack/adminui/caschat.php', $urlparams);
$title = stack_string('chattitle');
$PAGE->set_title($title);
......
......@@ -19,19 +19,19 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/cas/castext.class.php');
require_once(__DIR__ . '/stack/cas/keyval.class.php');
require_once(__DIR__ . '/stack/cas/installhelper.class.php');
require_once(__DIR__ . '/stack/input/inputbase.class.php');
require_once(__DIR__ . '/stack/input/factory.class.php');
require_once(__DIR__ . '/stack/input/equiv/equiv.class.php');
require_once(__DIR__ . '/tests/fixtures/equivfixtures.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/cas/castext.class.php');
require_once(__DIR__ . '/../stack/cas/keyval.class.php');
require_once(__DIR__ . '/../stack/cas/installhelper.class.php');
require_once(__DIR__ . '/../stack/input/inputbase.class.php');
require_once(__DIR__ . '/../stack/input/factory.class.php');
require_once(__DIR__ . '/../stack/input/equiv/equiv.class.php');
require_once(__DIR__ . '/../tests/fixtures/equivfixtures.class.php');
// Get the parameters from the URL.
$questionid = optional_param('questionid', null, PARAM_INT);
......
......@@ -25,16 +25,16 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->dirroot .'/course/lib.php');
require_once($CFG->libdir .'/filelib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/cas/castext.class.php');
require_once(__DIR__ . '/stack/cas/connector.dbcache.class.php');
require_once(__DIR__ . '/stack/cas/installhelper.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/cas/castext.class.php');
require_once(__DIR__ . '/../stack/cas/connector.dbcache.class.php');
require_once(__DIR__ . '/../stack/cas/installhelper.class.php');
// Check permissions.
......@@ -44,7 +44,7 @@ require_capability('moodle/site:config', $context);
// Set up page.
$PAGE->set_context($context);
$PAGE->set_url('/question/type/stack/healthcheck.php');
$PAGE->set_url('/question/type/stack/adminui/healthcheck.php');
$title = stack_string('healthcheck');
$PAGE->set_title($title);
......
......@@ -28,11 +28,11 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
// Get the parameters from the URL.
......@@ -44,7 +44,7 @@ $preview = optional_param('preview', true, PARAM_BOOL);
$context = context::instance_by_id($contextid);
require_login();
require_capability('moodle/site:config', $context);
$PAGE->set_url('/question/type/stack/replacedollars.php', array('contextid' => $context->id));
$PAGE->set_url('/question/type/stack/adminui/replacedollars.php', array('contextid' => $context->id));
$PAGE->set_context($context);
$title = stack_string('replacedollarstitle', $context->get_context_name());
$PAGE->set_title($title);
......@@ -158,10 +158,10 @@ if (!$anychanges) {
echo html_writer::tag('p', get_string('changessaved'));
} else {
echo $OUTPUT->single_button(new moodle_url('/question/type/stack/replacedollars.php',
echo $OUTPUT->single_button(new moodle_url('/question/type/stack/adminui/replacedollars.php',
array('contextid' => $context->id, 'confirm' => 1, 'preview' => $preview)), get_string('savechanges'));
}
echo html_writer::tag('p', html_writer::link(new moodle_url('/question/type/stack/replacedollarsindex.php'),
echo html_writer::tag('p', html_writer::link(new moodle_url('/question/type/stack/adminui/replacedollarsindex.php'),
get_string('back')));
echo $OUTPUT->footer();
......
......@@ -23,11 +23,11 @@
define('NO_OUTPUT_BUFFERING', true);
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->libdir . '/questionlib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/utils.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/utils.class.php');
$preview = optional_param('preview', true, PARAM_BOOL);
......@@ -35,7 +35,7 @@ $preview = optional_param('preview', true, PARAM_BOOL);
$context = context_system::instance();
require_login();
require_capability('moodle/site:config', $context);
$PAGE->set_url('/question/type/stack/replacedollarsindex.php');
$PAGE->set_url('/question/type/stack/adminui/replacedollarsindex.php');
$PAGE->set_context($context);
$PAGE->set_title(stack_string('replacedollarsindextitle'));
......@@ -62,7 +62,7 @@ foreach ($counts as $contextid => $numstackquestions) {
$params['preview'] = 0;
}
echo html_writer::tag('li', html_writer::link(
new moodle_url('/question/type/stack/replacedollars.php', $params),
new moodle_url('/question/type/stack/adminui/replacedollars.php', $params),
context::instance_by_id($contextid)->get_context_name(true, true) . ' (' . $numstackquestions . ')'));
}
echo html_writer::end_tag('ul');
......
......@@ -21,16 +21,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->dirroot .'/course/lib.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir .'/filelib.php');
require_once($CFG->libdir .'/tablelib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/cas/cassession2.class.php');
require_once(__DIR__ . '/stack/input/factory.class.php');
require_once(__DIR__ . '/tests/fixtures/inputfixtures.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/cas/cassession2.class.php');
require_once(__DIR__ . '/../stack/input/factory.class.php');
require_once(__DIR__ . '/../tests/fixtures/inputfixtures.class.php');
// Get the parameters from the URL.
$questionid = optional_param('questionid', null, PARAM_INT);
......@@ -42,7 +42,7 @@ require_capability('qtype/stack:usediagnostictools', context_system::instance())
// Set up the page object.
$PAGE->set_context(context_system::instance());
$PAGE->set_url('/question/type/stack/studentinputs.php');
$PAGE->set_url('/question/type/stack/adminui/studentinputs.php');
$title = stack_string('stackInstall_input_title');
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
......
......@@ -25,16 +25,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__.'/../../../config.php');
require_once(__DIR__.'/../../../../config.php');
require_once($CFG->dirroot .'/course/lib.php');
require_once($CFG->libdir . '/questionlib.php');
require_once($CFG->libdir .'/filelib.php');
require_once($CFG->libdir .'/tablelib.php');
require_once(__DIR__ . '/locallib.php');
require_once(__DIR__ . '/stack/options.class.php');
require_once(__DIR__ . '/stack/answertest/controller.class.php');
require_once(__DIR__ . '/tests/fixtures/subscriptsfixtures.class.php');
require_once(__DIR__ . '/../locallib.php');
require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/../stack/answertest/controller.class.php');
require_once(__DIR__ . '/../tests/fixtures/subscriptsfixtures.class.php');
// Authentication. It is safe to make this available to any logged in user.
require_login();
......@@ -42,7 +42,7 @@ require_capability('qtype/stack:usediagnostictools', context_system::instance())
// Set up the page object.
$PAGE->set_context(context_system::instance());
$PAGE->set_url('/question/type/stack/subscripts.php');
$PAGE->set_url('/question/type/stack/adminui/subscripts.php');
$title = 'Subscript testing'; // Don't add language strings to the system. This page is temporary.
$PAGE->set_pagelayout('report');
$PAGE->set_title($title);
......
......@@ -24,7 +24,7 @@ Feedback as to the syntactic validity of a response is positioned using a corres
This tag must be included even if validation is suppressed with an option (see below) and is automatically generated after the input if it does not exist.
We expose the exact behaviour of the validation by giving registered users access to STACK's test suite validation of student's answers. This can be found on a live server at https://stack-demo.maths.ed.ac.uk/demo/question/type/stack/studentinputs.php
We expose the exact behaviour of the validation by giving registered users access to STACK's test suite validation of student's answers. This can be found on a live server at `https://stack-demo.maths.ed.ac.uk/demo/question/type/stack/adminui/studentinputs.php`
Each input may have a number of options and this is potentially complex area with a large range of possibilities.
......
......@@ -9,12 +9,13 @@ How to report bugs and make suggestions is described on the [community](../About
* Done: Add in additional cache `compiledcache` to reduce validation overheads by compiling questions.
* Done. Add in local.mac for site specific code.
* Done. Move STACK admin UI scripts to `adminui`.
## Version 4.4
1. Caching validation.
2. Compiled PRTs.
3. 4. CASText2.
3. CASText2.
## Maxima side PRTs.
......
# Bulk testing on your site
You can bulk test all question tests on all variants of all question by using the bulk-test script. This is available from the quetion setting page or from the "adminui" page
[...]/question/type/stack/adminui/index.php
User require capability `qtype/stack:usediagnostictools`.
# Running question tests for questions on other sites
When you upgrade to a new version of STACK, it would be reassuring to know beforehand
......
......@@ -990,7 +990,7 @@ $string['Interval_illegal_entries'] = 'The following should not appe
// Documentation strings.
$string['stackDoc_404'] = 'Error 404';
$string['stackDoc_docs'] = 'STACK Documentation';
$string['stackDoc_docs_desc'] = '<a href="{$a->link}">Documentation for STACK</a>: a local static wiki.';
$string['stackDoc_docs_desc'] = '<a href="{$a->link}">Documentation for STACK</a>: a local static wiki documenting the code you actually have running on your server.';
$string['stackDoc_home'] = 'Documentation home';
$string['stackDoc_index'] = 'Category index';
$string['stackDoc_siteMap'] = 'Site map';
......
......@@ -522,7 +522,7 @@ $chatparams['simp'] = $simp;
$chatparams['cas'] = $question->generalfeedback;
// We've chosen not to send a specific seed since it is helpful
// to test the general feedback in a random context.
echo $OUTPUT->single_button(new moodle_url('/question/type/stack/caschat.php', $chatparams), stack_string('chat'));
echo $OUTPUT->single_button(new moodle_url('/question/type/stack/adminui/caschat.php', $chatparams), stack_string('chat'));
if ($question->stackversion == null) {
echo html_writer::tag('p', stack_string('stackversionnone'));
......
......@@ -33,17 +33,17 @@ $links = array(
get_string('stackDoc_docs_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/doc/doc.php/'))),
get_string('healthcheck_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/healthcheck.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/healthcheck.php'))),
get_string('chat_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/caschat.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/caschat.php'))),
get_string('stackInstall_testsuite_title_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/answertests.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/answertests.php'))),
get_string('stackInstall_input_title_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/studentinputs.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/studentinputs.php'))),
get_string('bulktestindexintro_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/bulktestindex.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/bulktestindex.php'))),
get_string('stackInstall_replace_dollars_desc', 'qtype_stack',
array('link' => (string) new moodle_url('/question/type/stack/replacedollarsindex.php'))),
array('link' => (string) new moodle_url('/question/type/stack/adminui/replacedollarsindex.php'))),
);
$settings->add(new admin_setting_heading('docs',
get_string('settingusefullinks', 'qtype_stack'),
......
......@@ -22,7 +22,7 @@ require_once(__DIR__ . '/../stack/options.class.php');
require_once(__DIR__ . '/fixtures/test_base.php');
require_once(__DIR__ . '/fixtures/inputfixtures.class.php');
// Add in all the tests from studentinput.php into the unit testing framework.
// Add in all the tests from studentinputs.php into the unit testing framework.
// These are exposed to users as documentation and the Travis integration should also run all the tests.
//
// @copyright 2016 The University of Edinburgh.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment