Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Request URL

Mgnl get
 /delivery/{workspaceendpoint-prefix}/v1/{path}

Parameters

Advanced Tables - Table Plus
highlightColor@default
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
enableHighlightingfalse


Parameter

Description

Data type

workspaceendpoint-prefix

required

The name of the workspace.

String

path

required

The path relative to the rootPath defined in the configuration.

String


...

Request URL

Mgnl get
 /delivery/{workspaceendpoint-prefix}/v1?param1=value1&param2=value2&... 

...

Advanced Tables - Table Plus
highlightColor@default
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
enableHighlightingfalse


Parameter

Description

Parameter type

Data type

workspaceendpoint-prefix

requiredThe name of the workspace.

A configured endpoint-prefix (the key in the definition params map)

path

String

nodeTypes

optional

A comma-separated string of primary node types.

query

String

q

optional

A search phrase (full-text search).

query

String

orderBy

optional

The properties by which to order the nodes. Example: mgnl:lastModified desc,title asc*

query

String

offset

optional,default is 0

The start position in a result list (for pagination).

query Integer

limit

optional, default: as set in YAML configuration

The number of nodes displayed in a page query. Used together with offset for pagination.

query

Integer


...

Multiexcerpt
MultiExcerptNameconfiguration

The delivery endpoint requires a YAML configuration or otherwise it cannot deliver content. Version 2.0 of the magnolia-rest-content-delivery module can have only one configuration. Future versions will allow multiple configurations which can be distinguished via a URL parameter.

Add the configuration to the restEndpoints folder in a light module or within src/main/resources/<module-name>/restEndpoints in a Magnolia Maven module.

Basic configuration

Code Pro
languageyaml
titlemy-lightmodule/restEndpoints /my-endpoint.yaml
class: info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition
implementationClass: info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint
params:
  website:
    depth: 3
    includeSystemProperties: false
    nodeTypes:
      - mgnl:page
      - mgnl:area
      - mgnl:component
    rootPath: /
  dam:
    depth: 1
    includeSystemProperties: false
    nodeTypes:
      - mgnl:asset
      - mgnl:folder
    rootPath: /travel-demoe

Properties:

You may define as many workspaces as needed.

Configure each workspace with the below properties.

The definiton class is

class

required

Must be info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition or a subclass.

implementationClass

required

Must be info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint or a subclass.

params

required

The map defining at least one or more workspaces.

<workspace<endpoint-name>prefix>

requiredThe name of the JCR workspace

Defines an endpoint prefix where requests will be routed and handled according to the associated workspace parameters below.


workspace

optional

The name of the JCR workspace to deliver content from.

Javadoc resource link
classNameinfo.magnolia.rest.delivery.jcr.WorkspaceParameters
renderTypeasynchronous
.

nodeTypes

optional default is mgnl:content

A list of allowed node types for depth-0 nodes.

childNodeTypes

optional default is mgnl:contentNode

nodeTypes*

required

A list of allowed node types for child nodes.

depth*

optional,default is 0

The depth of subnodes to display in the result.

includeSystemProperties

optional,default is true

Specifies whether the result should show system properties.

rootPath

required

The root path of this endpoint. The path information when requesting the endpoint is added to this path.

bypassWorkspaceAcls

optional, default is false

Note

If set to true , JCR security is bypassed. Use this with care and for development reasons only!


limit*

optional, default is 10

The number of nodes (of level 0) in the result. Used only in the queryNodes method.

*) The property can be overridden when calling queryNodes with a request parameter.

Anchor
reference-resolving-configuration
reference-resolving-configuration
Reference resolving configuration

A node may contain references to other nodes. With the references property you can extend the configuration to force it to resolve the referenced nodes per workspace.

Code Pro
languageyaml
linenumberstrue
class: info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition
implementationClass: info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint
params:
  tours:
    depth: 1
    includeSystemProperties: false
    nodeTypes:
      - mgnl:content
      - mgnl:folder
    rootPath: /
    references:
      tour-types:
        propertyName: tourTypes
        referenceResolver:
          implementationClass: info.magnolia.rest.reference.jcr.UuidReferenceResolver
          targetWorkspace: category

Properties of references :

referencesA map which contains at least one reference definition.

<reference-name>

An arbitrary name for a

Javadoc resource link
classNameinfo.magnolia.rest.reference.ReferenceDefinition
renderTypeasynchronous
.

propertyName

The name of the JCR property which stores the reference. It can be a multi-value property.

referenceResolver

The reference resolver definition for this reference. Its definition class is

Javadoc resource link
classNameinfo.magnolia.rest.reference.ReferenceResolverDefinition
renderTypeasynchronous
.

implementationClass

A class implementing

Javadoc resource link
classNameinfo.magnolia.rest.reference.ReferenceResolverDefinition
renderTypeasynchronous
.

Current implementations:

Javadoc resource link
classNameinfo.magnolia.rest.reference.jcr.UuidReferenceResolver
renderTypeasynchronous

targetWorkspace

The name of the workspace where the referenced node resides.


...