Commit 09e181c6 authored by Maxime Chaillet's avatar Maxime Chaillet

display a new error message when the doi is not available yet

parent b2136c0f
2018-06-27 11:25:04,678 DEBUG: [main] ICATManagerActivator - ICAT Manager starting in context org.eclipse.osgi.framework.internal.core.BundleContextImpl@add0edd
2018-06-27 11:25:04,688 DEBUG: [main] ICATDataService - Configuration file at: /users/mchaille/.icat_servers
2018-06-27 11:25:04,709 DEBUG: [main] ICATDataService - Loaded 4 server URLs
2018-06-27 11:25:04,765 DEBUG: [main] ICATManagerActivator - IcatManager proxy properties:
2018-06-27 11:25:04,765 DEBUG: [main] ICATManagerActivator - HTTP : null:null
2018-06-27 11:25:04,765 DEBUG: [main] ICATManagerActivator - HTTPS : null:null
2018-06-27 11:25:04,765 DEBUG: [main] ICATManagerActivator - NOPROXY: *.esrf.fr
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - System proxy properties:
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - HTTP : null:null
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - HTTPS : null:null
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - NOPROXY: null
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - Eclipse proxy properties:
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - proxiesEnabled=true
2018-06-27 11:25:04,766 DEBUG: [main] ICATManagerActivator - hasSystemProxies=false, systemProxiesEnabled=false
2018-06-27 11:25:04,767 DEBUG: [main] ICATManagerActivator - Type=HTTP, host=null, port=-1
2018-06-27 11:25:04,767 DEBUG: [main] ICATManagerActivator - Type=HTTPS, host=null, port=-1
2018-06-27 11:25:04,768 DEBUG: [main] ICATManagerActivator - Type=SOCKS, host=null, port=-1
2018-06-27 11:25:04,769 DEBUG: [main] ICATManagerActivator - nonProxiedHosts=[*.esrf.fr]
2018-06-27 11:25:04,769 DEBUG: [main] ICATManagerActivator - Configuring eclipse proxy using IcatManager proxy settings ...
2018-06-27 11:25:04,769 DEBUG: [main] ICATManagerActivator - IcatManager proxy properties:
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - HTTP : null:null
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - HTTPS : null:null
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - NOPROXY: *.esrf.fr
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - System proxy properties:
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - HTTP : null:null
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - HTTPS : null:null
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - NOPROXY: null
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - Eclipse proxy properties:
2018-06-27 11:25:04,770 DEBUG: [main] ICATManagerActivator - proxiesEnabled=true
2018-06-27 11:25:04,771 DEBUG: [main] ICATManagerActivator - hasSystemProxies=false, systemProxiesEnabled=false
2018-06-27 11:25:04,771 DEBUG: [main] ICATManagerActivator - Type=HTTP, host=null, port=-1
2018-06-27 11:25:04,771 DEBUG: [main] ICATManagerActivator - Type=HTTPS, host=null, port=-1
2018-06-27 11:25:04,771 DEBUG: [main] ICATManagerActivator - Type=SOCKS, host=null, port=-1
2018-06-27 11:25:04,771 DEBUG: [main] ICATManagerActivator - nonProxiedHosts=[*.esrf.fr]
2018-06-27 11:25:09,654 DEBUG: [Thread-3] DynamicSimpleICATClient - Starting client initialisation in background
2018-06-27 11:25:09,683 DEBUG: [Thread-3] DynamicSimpleICATClient - Using ICAT service at https://icat.esrf.fr:8181/ICATService/ICAT?wsdl
2018-06-27 11:25:11,725 INFO : [Thread-3] DynamicClientFactory - Created classes: https.fr_8181.esrf.icat.AccessType, https.fr_8181.esrf.icat.Application, https.fr_8181.esrf.icat.AuthenticatorCredentialKey, https.fr_8181.esrf.icat.AuthenticatorInfo, https.fr_8181.esrf.icat.Constraint, https.fr_8181.esrf.icat.Create, https.fr_8181.esrf.icat.CreateMany, https.fr_8181.esrf.icat.CreateManyResponse, https.fr_8181.esrf.icat.CreateResponse, https.fr_8181.esrf.icat.DataCollection, https.fr_8181.esrf.icat.DataCollectionDatafile, https.fr_8181.esrf.icat.DataCollectionDataset, https.fr_8181.esrf.icat.DataCollectionParameter, https.fr_8181.esrf.icat.Datafile, https.fr_8181.esrf.icat.DatafileFormat, https.fr_8181.esrf.icat.DatafileParameter, https.fr_8181.esrf.icat.Dataset, https.fr_8181.esrf.icat.DatasetParameter, https.fr_8181.esrf.icat.DatasetType, https.fr_8181.esrf.icat.Delete, https.fr_8181.esrf.icat.DeleteMany, https.fr_8181.esrf.icat.DeleteManyResponse, https.fr_8181.esrf.icat.DeleteResponse, https.fr_8181.esrf.icat.Dummy, https.fr_8181.esrf.icat.DummyResponse, https.fr_8181.esrf.icat.EntityBaseBean, https.fr_8181.esrf.icat.EntityField, https.fr_8181.esrf.icat.EntityInfo, https.fr_8181.esrf.icat.Facility, https.fr_8181.esrf.icat.FacilityCycle, https.fr_8181.esrf.icat.Get, https.fr_8181.esrf.icat.GetApiVersion, https.fr_8181.esrf.icat.GetApiVersionResponse, https.fr_8181.esrf.icat.GetAuthenticatorInfo, https.fr_8181.esrf.icat.GetAuthenticatorInfoResponse, https.fr_8181.esrf.icat.GetEntityInfo, https.fr_8181.esrf.icat.GetEntityInfoResponse, https.fr_8181.esrf.icat.GetEntityNames, https.fr_8181.esrf.icat.GetEntityNamesResponse, https.fr_8181.esrf.icat.GetProperties, https.fr_8181.esrf.icat.GetPropertiesResponse, https.fr_8181.esrf.icat.GetRemainingMinutes, https.fr_8181.esrf.icat.GetRemainingMinutesResponse, https.fr_8181.esrf.icat.GetResponse, https.fr_8181.esrf.icat.GetUserName, https.fr_8181.esrf.icat.GetUserNameResponse, https.fr_8181.esrf.icat.GetVersion, https.fr_8181.esrf.icat.GetVersionResponse, https.fr_8181.esrf.icat.Grouping, https.fr_8181.esrf.icat.IcatException, https.fr_8181.esrf.icat.IcatExceptionType, https.fr_8181.esrf.icat.Instrument, https.fr_8181.esrf.icat.InstrumentScientist, https.fr_8181.esrf.icat.Investigation, https.fr_8181.esrf.icat.InvestigationGroup, https.fr_8181.esrf.icat.InvestigationInstrument, https.fr_8181.esrf.icat.InvestigationParameter, https.fr_8181.esrf.icat.InvestigationType, https.fr_8181.esrf.icat.InvestigationUser, https.fr_8181.esrf.icat.IsAccessAllowed, https.fr_8181.esrf.icat.IsAccessAllowedResponse, https.fr_8181.esrf.icat.Job, https.fr_8181.esrf.icat.Keyword, https.fr_8181.esrf.icat.Login, https.fr_8181.esrf.icat.LoginResponse, https.fr_8181.esrf.icat.Logout, https.fr_8181.esrf.icat.LogoutResponse, https.fr_8181.esrf.icat.ObjectFactory, https.fr_8181.esrf.icat.Parameter, https.fr_8181.esrf.icat.ParameterType, https.fr_8181.esrf.icat.ParameterValueType, https.fr_8181.esrf.icat.PermissibleStringValue, https.fr_8181.esrf.icat.PublicStep, https.fr_8181.esrf.icat.Publication, https.fr_8181.esrf.icat.Refresh, https.fr_8181.esrf.icat.RefreshResponse, https.fr_8181.esrf.icat.RelType, https.fr_8181.esrf.icat.RelatedDatafile, https.fr_8181.esrf.icat.Rule, https.fr_8181.esrf.icat.Sample, https.fr_8181.esrf.icat.SampleParameter, https.fr_8181.esrf.icat.SampleType, https.fr_8181.esrf.icat.Search, https.fr_8181.esrf.icat.SearchResponse, https.fr_8181.esrf.icat.Shift, https.fr_8181.esrf.icat.Study, https.fr_8181.esrf.icat.StudyInvestigation, https.fr_8181.esrf.icat.StudyStatus, https.fr_8181.esrf.icat.Update, https.fr_8181.esrf.icat.UpdateResponse, https.fr_8181.esrf.icat.User, https.fr_8181.esrf.icat.UserGroup
2018-06-27 11:25:12,940 DEBUG: [Thread-3] DynamicSimpleICATClient - Background client initialisation done
2018-06-27 11:25:17,097 DEBUG: [Worker-0] DynamicSimpleICATClient - Waiting for client initialisation ...
2018-06-27 11:25:17,098 DEBUG: [Worker-0] DynamicSimpleICATClient - ... client initialisation done, waiting ends.
2018-06-27 11:25:17,303 DEBUG: [Worker-0] DynamicSimpleICATClient - ICAT Version: 4.9.1
2018-06-27 11:25:17,304 DEBUG: [Worker-0] DynamicSimpleICATClient - Connecting to ICAT as 'mchaille'
2018-06-27 11:25:17,327 DEBUG: [Worker-0] DynamicSimpleICATClient - Connected to ICAT [26802b19-dbc1-427d-bcd3-e085fead4355]
2018-06-27 11:25:26,181 DEBUG: [main] OpenEntityHandler - Opening DataPart for Investigation using filter null
2018-06-27 11:25:26,232 DEBUG: [main] DataPart - Reading column order file at: /users/mchaille/.icat_column_orders
2018-06-27 11:25:26,287 DEBUG: [main] WrappedEntityBean - Processing class https.fr_8181.esrf.icat.Investigation
2018-06-27 11:25:26,321 DEBUG: [main] EntityContentProvider - Getting content of Investigation from https://icat.esrf.fr:8181/
2018-06-27 11:25:26,321 DEBUG: [main] EntityContentProvider - 0,50 Investigation INCLUDE 1 ORDER BY id DESC
2018-06-27 11:25:26,444 DEBUG: [main] OpenEntityHandler - Creating new part icat-manager.core.part.data:https://icat.esrf.fr:8181/:Investigation
2018-06-27 11:25:26,472 DEBUG: [main] WrappedEntityBean - Processing class https.fr_8181.esrf.icat.Facility
2018-06-27 11:25:26,473 DEBUG: [main] WrappedEntityBean - Processing class https.fr_8181.esrf.icat.InvestigationType
2018-06-27 11:27:20,041 DEBUG: [main] EntityListProposalContentProvider - 0,50 Facility ORDER BY id DESC
2018-06-27 11:27:20,082 DEBUG: [main] EntityListProposalContentProvider - 0,50 InvestigationType ORDER BY id DESC
This diff is collapsed.
This diff is collapsed.
......@@ -103,7 +103,7 @@ DOIController.prototype.getData = function(doi) {
}
}
}).fail(function(jqXHR, textStatus, errorThrown) {
_this.view.renderError(errorThrown, _this.origin);
_this.view.renderError(jqXHR, errorThrown, _this.origin);
_this.view.setLoading(false);
});
......
......@@ -7,23 +7,23 @@ function DOIView() {
this.reportExperimentFileNames = null;
this.failedRecievingExpReport = false;
this.isDOIAlreadyRendered = false;
this.onDOIRendered = new Event( this );
this.onDOIRendered = new Event(this);
}
DOIView.prototype.setLoading = function( message ) {
if ( message == false ) {
$( "body" ).removeClass( "loading" );
DOIView.prototype.setLoading = function (message) {
if (message == false) {
$("body").removeClass("loading");
return;
}
$( "body" ).addClass( "loading" );
$("body").addClass("loading");
};
/**
* Set the doi prefix/suffix text in the top banner of the doi landing page. This is done before the template is rendered.
*
*/
DOIView.prototype.setDOIInTopBanner = function( doiCode ) {
$( "#doiValue" ).text( "DOI > " + doiCode.toUpperCase() );
DOIView.prototype.setDOIInTopBanner = function (doiCode) {
$("#doiValue").text("DOI > " + doiCode.toUpperCase());
};
/**
......@@ -32,16 +32,16 @@ DOIView.prototype.setDOIInTopBanner = function( doiCode ) {
* @param {array}
* data The filename list to be displayed
*/
DOIView.prototype.renderExperimentalReportData = function( data ) {
if ( data ) {
DOIView.prototype.renderExperimentalReportData = function (data) {
if (data) {
var _this = this;
/** Only render the list of files if DOI has already been rendered * */
if ( this.isDOIAlreadyRendered ) {
dust.render( 'experimentalreport_tpl', {
if (this.isDOIAlreadyRendered) {
dust.render('experimentalreport_tpl', {
data: data
}, function( err, out ) {
$( '#' + _this.reportPanelId ).html( out );
} );
}, function (err, out) {
$('#' + _this.reportPanelId).html(out);
});
} else {
this.reportExperimentFileNames = data;
}
......@@ -50,24 +50,24 @@ DOIView.prototype.renderExperimentalReportData = function( data ) {
}
};
DOIView.prototype.renderDOIData = function( doiData ) {
DOIView.prototype.renderDOIData = function (doiData) {
var _this = this;
dust.render( 'landingpage_tpl', {
dust.render('landingpage_tpl', {
data: doiData
}, function( err, out ) {
$( '#' + _this.mainPanelId ).html( out );
}, function (err, out) {
$('#' + _this.mainPanelId).html(out);
_this.isDOIAlreadyRendered = true;
_this.renderBadges( doiData );
_this.renderBadges(doiData);
/**
* If there are experimental reports already retrieved then render them after
* the rendering of the DOI
*/
if ( _this.failedRecievingExpReport ) {
if (_this.failedRecievingExpReport) {
_this.renderErrorForExperimentalReport();
} else if ( _this.reportExperimentFileNames ) {
_this.renderExperimentalReportData( _this.reportExperimentFileNames );
} else if (_this.reportExperimentFileNames) {
_this.renderExperimentalReportData(_this.reportExperimentFileNames);
}
} );
});
};
/**
......@@ -79,47 +79,52 @@ DOIView.prototype.renderDOIData = function( doiData ) {
* origin The page which caused this rendering. This directly
* influence the element id
*/
DOIView.prototype.renderError = function( error, origin ) {
var template = ( ( origin === "welcome-page" ) ? "doinotfound2_tpl" : "doinotfound_tpl" );
DOIView.prototype.renderError = function (jqXHR, errorThrown, origin) {
var template = ((origin === "welcome-page") ? "doinotfound2_tpl" : "doinotfound_tpl");
var message = "";
if ( error === "Bad Prefix" ) {
if ( origin === "welcome-page" ) {
if (errorThrown === "Bad Prefix") {
if (origin === "welcome-page") {
message = '<h3> Not found ! </h3> <p> The DOI was not found at ESRF because its prefix is not ESRF specific. Please use the DOI search engine at <a href="https://www.doi.org"> doi.org</a>. </p>';
} else {
message = '<h2> Not found ! </h2> <p> The DOI was not found at ESRF because its prefix is not ESRF specific. </br> Please use the DOI search engine at <a href="https://www.doi.org"> doi.org</a>. </p>';
}
} else if ( error === "Not Found" ) {
if ( origin === "welcome-page" ) {
} else if (errorThrown === "Not Found") {
if (origin === "welcome-page") {
message = "<h3> Not found ! </h3> <p> Sorry, the requested DOI was not found. </p>";
} else {
message = "<h2> Not found ! </h2> <p> Sorry, the requested DOI was not found. </p>";
}
} else if ( error === "timeout" ) {
if ( origin === "welcome-page" ) {
} else if (errorThrown === "timeout") {
if (origin === "welcome-page") {
message = "<h3> Not found ! </h3> <p> Sorry, the server took too long to reply. Try again later. </p>";
} else {
message = "<h2> Not found ! </h2> <p> Sorry, the server took too long to reply. Try again later. </p>";
}
} else if (errorThrown === "" && jqXHR.responseText === "The resource you are looking for doesn't exist.") {
if (origin === "welcome-page") {
message = "<h3> Not found ! </h3> <p>It may take up to 24 hours for a newly generated DOI to become available. Please try again later.</p>";
} else {
message = "<h2> Not found ! </h2> <p>It may take up to 24 hours for a newly generated DOI to become available. Please try again later.</p>";
}
} else {
if ( origin === "welcome-page" ) {
if (origin === "welcome-page") {
message = "<h3> Not found ! </h3> <p> Connexion problem to the server. </p>";
} else {
message = "<h2> Not found ! </h2> <p> Connexion problem to the server. </p>";
}
}
dust.render( template, {
dust.render(template, {
message: message
}, function( err, out ) {
$( "#error" ).html( out );
} );
}, function (err, out) {
$("#error").html(out);
});
};
DOIView.prototype.renderErrorForExperimentalReport = function() {
DOIView.prototype.renderErrorForExperimentalReport = function () {
this.failedRecievingExpReport = true;
var out = '<div class="card-header text-center"> <label>Experimental report </label> </div> <div class="card-body padding10"> <p> The filename list is not available. </p> </div>';
$( '#' + this.reportPanelId ).html( out );
$('#' + this.reportPanelId).html(out);
};
......@@ -129,15 +134,15 @@ DOIView.prototype.renderErrorForExperimentalReport = function() {
*
* */
DOIView.prototype.renderBadges = function( data ) {
if ( data ) {
DOIView.prototype.renderBadges = function (data) {
if (data) {
var _this = this;
dust.render( 'badges_tpl', {
dust.render('badges_tpl', {
data: data
}, function( err, out ) {
$( '#' + _this.badgePanelId ).html( out );
} );
}, function (err, out) {
$('#' + _this.badgePanelId).html(out);
});
}
};
......@@ -150,10 +155,10 @@ DOIView.prototype.renderBadges = function( data ) {
* @return {string}
* the message to display
*/
DOIView.prototype.setDataAccessMessage = function( doiData ) {
if ( doiData.accessibility === "Open access" ) {
DOIView.prototype.setDataAccessMessage = function (doiData) {
if (doiData.accessibility === "Open access") {
return "The data can be accessed by clicking on the link below";
} else if ( doiData.accessibility === "Restricted access" ) {
} else if (doiData.accessibility === "Restricted access") {
return "The data are under embargo until <b>" + doiData.publiclyAccessibleYear + "</b> but could be released earlier." +
" Currently, they are only accessible to proposal team members.";
}
......
......@@ -12,7 +12,7 @@
<h1 class="font-3p2rem">About the portal</h1>
</div>
<div class="card-body padding10">
This page centralizes the <a href="http://www.esrf.eu/home/UsersAndScience/UserGuide/esrf-data-policy/doi.html" target="_blank"> DOI</a> services offered by the ESRF to access data stored at the facility as part of its data policy.
This page centralizes the <a href="http://www.esrf.eu/home/UsersAndScience/UserGuide/esrf-data-policy/doi.html" target="_blank"> DOI</a> services offered by the ESRF to access data stored at the facility as part of its data policy.
Data referred to by ESRF DOIs are accessed via the ESRF data catalogue <a href="https://icat.esrf.fr" target="_blank"> icat.esrf.fr</a>.
<p> In case you require a DOI for a subset of data please send an email with the following high level metadata - "proposal", "title", "authors", "abstract", "datasets" to datapolicy@esrf.fr </p>
</div>
......@@ -53,6 +53,7 @@
<h1 class="font-3p2rem">About DOI </h1>
</div>
<div class="card-body padding10">
The Digital Object Identifier (<a href="http://www.esrf.eu/home/UsersAndScience/UserGuide/esrf-data-policy/doi.html">DOI</a>) is a code composed of digits and characters. It identifies data in a
unique and permanent way thereby allowing data to be referenced worldwide. The DOI has two parts, namely the DOI prefix and the DOI suffix separated by a slash ("/"). The ESRF prefix is 10.15151 followed by a slash and the ESRF suffix.
Currently the following suffix(es) are defined:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment