Details
-
Sub-task
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
3
-
Orion
-
Orion.Cycle6.Sprint3
-
Undetermined
Description
The component properties window does a call to the backend,
e.g. [CMS]/_rp/[component-uuid]./hippo-default/en, to get the property values.
The output is JSON, for a link picker field type it is for example:
{ "properties": [ { "name": "document", "value": "banners/banner2", "displayValue": "banner2", "type": "linkpicker", "label": "Document", "hint": null, "defaultValue": "", "description": "", "required": true, } ] }
Another property should be added to above, i.e. "offlineDocument" : true
Classes involved are:
org.hippoecm.hst.pagecomposer.jaxrs.services.ContainerItemComponentResource#getVariant
and then ContainerItemComponentServiceImpl#represent
and then ParametersInfoProcessor#getPopulatedProperties
creating ContainerItemComponentPropertyRepresentation objects with the properties.
There is already a JCR Node available (the HST component node), assuming from the CMS user session which should have access to the document node to inspect a variant with hippo:availability=live. So from the relative content path (the parameter value) and the site content base path, it should be possible to get to the document node.
Note there is also an XPageContainerItemComponentResource for XPage component properties.