Versions Compared

Key

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

...

Multiexcerpt
MultiExcerptNameconfiguration

The delivery endpoint requires a configuration, otherwise, it cannot deliver content. Version 1 of the delivery endpoint can have only one configuration. You can decorate the definition.

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

Anchor
basic-config
basic-config
Basic configuration

Code Pro
languageyaml
titlemy-lightmodule/restEndpoints /my-endpoint.yaml
class: info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpointDefinition
params:
  website:
    depth: 2
    nodeTypes:
      - mgnl:page
      - mgnl:area
      - mgnl:component
    childNodeTypes:
      - mgnl:area
      - mgnl:component
    rootPath: /
  trips:
    workspace: tours
    includeSystemProperties: false

Properties:

class

required

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

implementationClass

optional default=info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint

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

params

required

The map defining at least one or more endpoint prefixes.

<endpointPrefix>

required

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

The value can be an arbitrary name (no special characters!) - or it can be a real workspace name. If it is not a real workspace name, you must provide the sub property workspace.

workspace

optional

The name of the JCR workspace to deliver content from.

Must be set if the parent <endpointPrefix> is not a real workspace name.

nodeTypes

optional , default is mgnl:content

A list of allowed node types for depth-0 nodes. mgnl:folder is ignored deliberately.

childNodeTypes

optional default is mgnl:contentNode

A list of allowed node types for child nodes.

depth

optional, default is 0

The depth of child nodes to display in the result.

includeSystemProperties

optional, default is true

Specifies whether the result should show system properties.

rootPath

optional

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
anc-reference-resolving-configuration
anc-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.v1.JcrDeliveryEndpointDefinition
params:
  trips:
    workspace: tours
    includeSystemProperties: false
    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.

...