Bonjour à tous . Je tente desesperement de developper un dashlets recuperant les données d'une datalists custom.Je me suis donc inspiré du JS datagrid.js pour effectuer ma récupération de colonne qui se passe bien . Ma table possède bien les colonne correspondante a ma datalist.Cependant je seche sur la récupération des données associés.Voici ma configuration du datasource.
_setupDataSources: function DemInter__setupDataSources()
{
var listNodeRef = new Alfresco.util.NodeRef('workspace://SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317');
//var listNodeRef = "workspace/SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317";
console.log("nb colonne " + this.datalistColumns.length);
for (var i = 0, ii = this.datalistColumns.length; i < ii; i++)
{
var column = this.datalistColumns[i],
columnName = column.name.replace(":", "_"),
fieldLookup = (column.type == "property" ? "prop" : "assoc") + "_" + columnName;
this.dataRequestFields.push(columnName);
this.dataResponseFields.push(fieldLookup);
this.datalistColumns[fieldLookup] = column;
}
// DataSource definition
this.widgets.dataSource = new YAHOO.util.DataSource(Alfresco.constants.PROXY_URI + 'slingshot/datalists/data/node/' + listNodeRef.uri,
{
connMethodPost: true,
connXhrMode: "queueRequests",
responseType: YAHOO.util.DataSource.TYPE_JSON,
responseSchema:
{
resultsList: "items",
metaFields:
{
totalRecords: "totalRecords"
}
}
});
this.widgets.dataSource.connMgr.setDefaultPostHeader(Alfresco.util.Ajax.JSON);
// Intercept data returned from data webscript to extract custom metadata
this.widgets.dataSource.doBeforeCallback = function DemInter_doBeforeCallback(oRequest, oFullResponse, oParsedResponse)
{
// Container userAccess event
var permissions = oFullResponse.metadata.parent.permissions;
if (permissions && permissions.userAccess)
{
Bubbling.fire("userAccess",
{
userAccess: permissions.userAccess
});
}
return oParsedResponse;
};
},
Lorsque celui s'execute j'obtiens une erreur 500 de ce type
12:35:08,157 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 03110005 Failed to convert request to JSON
org.springframework.extensions.webscripts.WebScriptException: 03110005 Failed to convert request to JSON
at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:82)
at org.springframework.extensions.webscripts.json.JSONReader.createScriptParameters(JSONReader.java:93)
at org.springframework.extensions.webscripts.AbstractWebScript.createScriptParameters(AbstractWebScript.java:407)
at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:81)
at org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:377)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)
at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)
at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 0
at org.json.JSONTokener.syntaxError(JSONTokener.java:413)
at org.json.JSONObject.<init>(JSONObject.java:180)
at org.json.JSONObject.<init>(JSONObject.java:420)
at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:77)
… 27 more
Le code est identique au datagrid.js à l'exception du listNodeRef qui est une valeur statique.Ma liste contient bien des valeur , mon get.head.ftl inclu bien le fichier JS mais cette erreur ce produit.Le noderef est le bon j'ai vérifié dans Alfresco Explorer ainsi que dans la page datalists.J'ai beau avoir décortiqué le code pour comprendre le pourquoi du comment . Je me tourne vers vous en ésperant que vous pourrez m'aider….Et je n'en doutes pas .Merci d'avanceCordialement