// trigger a query asynchroneously
proxy_url : '/manifold/proxy/json/',
// trigger a query asynchroneously
proxy_url : '/manifold/proxy/json/',
// however in some cases we wish to publish the results under a different uuid
// e.g. an updater wants to publish its results as if from the original (get) query
asynchroneous_success : function (data, query, publish_uuid, domid) {
// however in some cases we wish to publish the results under a different uuid
// e.g. an updater wants to publish its results as if from the original (get) query
asynchroneous_success : function (data, query, publish_uuid, domid) {
// xxx should have a nicer declaration of that enum in sync with the python code somehow
if (data.code == 1) {
alert("Your session has expired, please log in again");
window.location="/logout/";
return;
} else if (data.code != 0) {
// xxx should have a nicer declaration of that enum in sync with the python code somehow
if (data.code == 1) {
alert("Your session has expired, please log in again");
window.location="/logout/";
return;
} else if (data.code != 0) {
- alert("Error received from manifold backend at " + MANIFOLD_URL + " [" + data.output + "]");
+ messages.error("Error received from manifold backend at " + MANIFOLD_URL + " [" + data.output + "]");
+ // publish error code and text message on a separate channel for whoever is interested
+ jQuery.publish("/results/" + publish_uuid + "/failed", [data.code, data.output] );
if (!!domid) {
/* Directly inform the requestor */
if (manifold.asynchroneous_debug) messages.debug("directing results to " + domid);
if (!!domid) {
/* Directly inform the requestor */
if (manifold.asynchroneous_debug) messages.debug("directing results to " + domid);
} else {
/* Publish an update announce */
if (manifold.asynchroneous_debug) messages.debug("publishing results on " + publish_uuid);
} else {
/* Publish an update announce */
if (manifold.asynchroneous_debug) messages.debug("publishing results on " + publish_uuid);