mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #36681
[Bug 1605071] Re: Display something more error-like when an AJAX block errors out
Testing this requires causing an error or exception in one of the ajax
block's render_instance methods. The easiest way to do this is to just
add an exception into one of the core blocks:
1. Open up file htdocs/blocktype/newviews/lib.php
2. Locate the function "render_instance()" on line 32.
3. Inside that function, put an exception, like so:
public static function render_instance(BlockInstance $instance, $editing=false) {
global $USER;
// here's an exception
throw new Exception('die.');
require_once('view.php');
$configdata = $instance->get('configdata');
$nviews = isset($configdata['limit']) ? intval($configdata['limit']) : 5;
4. Log in to Mahara and view your dashboard (which should contain a new
views block as per the default)
Expected result: The new view block indicates that it has failed to load
properly.
Actual result: The new view block displays an unreadable, compressed
version of the Mahara page header. (See screenshot).
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1605071
Title:
Display something more error-like when an AJAX block errors out
Status in Mahara:
In Progress
Bug description:
Spinning this bug off from Bug 1544424 (Endless JS loop if there's an
uncaught exception in an ajax block) since patch
https://reviews.mahara.org/6055 has taken much longer than
https://reviews.mahara.org/6054 to get merged.
We no longer get an endless loop when an Ajax block errors out, but it
still looks pretty bad. See the attached screenshot. Because the file
"blocktype.ajax.php" doesn't have the "JSON" header at its top, when
it errors out, Mahara tries to print the full error page with the
navigation headers and the message "Mahara: Site unavailable", and
then ajaxblocks.js tries to display it in the little iframe reserved
for that block.
This looks confusing to the user, and it can spill over out of that
block's space and cover up adjacent blocks. It would be better if we
printed something that more obviously indicates that just this one
block is broken, and that doesn't break the display of other blocks.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1605071/+subscriptions
References