Using page providers in Web UI

Hello,

A newbie question: how can I pass parameters to NXQL request of a Page Provider via WebUI Designer ?

I'm trying to create a customized content view for a Folderish document. I created a Page Provider in Nuxeo Studio Modeler as follows:

PP Definition

Then I've added this PageProvider to the view layout of a document:

View Layout Configuration

Apparently the “Query Parameters” field from Modeler is ignored in WebUI. So what I've tried was to pass a parameter from Layout configuration (I've put [[document.properties.ecm:uuid]] in the params field), but as you can see on the screenshot - I can't access ecm properties of the file from Designer.

Any suggestions on what I should do ?

0 votes

1 answers

9868 views

ANSWER



You must forget about Query Parameters (`#{currentDocument} is a JSF notion).

Remove ecm:parentId = ? clause from the filter.

Define a predicate on system:parentId with = operator (It should result in something like ecm:parentId = (system_parentId). Your page provider will now have a system_parentId named parameter.

Then client side, you can set this named parameter '{"system_parentId" : document.uid}'.

1 votes



Thank you grenard, you save my day second time in a row!
01/17/2018

Hello,

Just to be sure that I've done everything correctly:

I've added a predicate ecm:parentId={system_parentId} to the PageProvider and put {"system_parentId" : document:uid} in the "params" field of the "nuxeo-document-content" field. Now my PageProvider returns me ALL the documents of Nuxeo : domain, workspace root etc., not only children of current folder.

Further investigation has shown me that the request sent to page provider is the following:

/nuxeo/api/v1/query/AERM_default_page_provider?currentPageIndex=0&pageSize=40&sortBy=&sortOrder=&ecm_parentId=2b64c8e1-724c-4078-839b-e5ccde9eb9d2

If I replace ecm_parentId with system_parentId I get the correct result.

Is it a bug, or I did something wrong?

01/18/2018