Versions Compared

Key

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

...

Multiexcerpt
MultiExcerptNameconfiguration

The delivery endpoint requires a YAML configuration - 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 URL parameter.)

Add the configuration to the folder restEndpoints 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:

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 ore more workspace parameters.

<workspace-name>

required

The name of the JCR workspace to deliver content from. You define as many workspaces as you need.

You define one workspace with the below properties. (The definiton class is

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

nodeTypes*

required

An list of allowed node types.

depth*

optional (default=0)

The depth of subnodes to shwo in the result

includeSystemProperties

optional (default=true)

Whether the result should show the system properties.

rootPath

required

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

bypassWorkspaceAcls

optional (default=false)

Note

When set to true JCR - security is bypassed. Use with care and for development reasons only!


limit*

optional (default=10)

The number of nodes (of level 0) in the result. Only used in queryNodes method.

*) These properties can be overridden when calling queryNodes with a request parameter.

Configuring reference resolving

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

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:
      categorytour-types:
        propertyName: tourTypes
        referenceResolver:
          implementationClass: info.magnolia.rest.reference.jcr.UuidReferenceResolver
          targetWorkspace: category


Properties of references:




referencesThe property to define the references to be resoved. A map which may contain one to many reference definitions.

<reference-name>

An arbitrary name for a

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


propertyName



referenceResolver



implementationClass



targetWorkspace