Versions Compared

Key

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

...

Expand
titleClick to see the resulting JSON

The result is based on the simple basic configuration.

Code Pro
languagejs
{
  "@name": "00",
  "@path": "/travel/about/main/00",
  "text": "<p>We are a full service, independent travel agency.</p>\n<p>We offer unique tours from every continent on the planet. Get inspired and book your tour with us for an experience you&rsquo;ll always remember.</p> ",
  "text_de": "<p>Wir sind eine unabh&auml;ngige Reiseagentur mit Rundumservice.</p>\n<p>Wir bieten einzigartige Reisen f&uuml;r jeden Kontinent der Erde an. Lassen Sie sich inspirieren und buchen Sie Ihre Reise bei uns, um Erfahrungen zu machen, die Ihnen f&uuml;r immer in Erinnerung bleiben werden.</p> ",
  "jcr:createdBy": "admin",
  "headline_de": "Über Magnolia Travels",
  "mgnl:lastActivatedBy": "superuser",
  "mgnl:template": "travel-demo:components/jumbotron",
  "mgnl:lastActivated": "2015-10-27T13:50:52.396+0100",
  "jcr:created": "2017-10-31T11:53:44.169+0100",
  "mgnl:created": "2015-02-02T20:23:37.199+0100",
  "imagePosition": "below",
  "headlineLevel": "small",
  "mgnl:createdBy": "superuser",
  "jcr:uuid": "01db6fc1-78af-4284-adf0-8c997309df6a",
  "headline": "About Magnolia Travels",
  "mgnl:lastModified": "2015-06-18T11:08:06.983+0200",
  "mgnl:activationStatus": "true",
  "jcr:primaryType": "mgnl:component",
  "mgnl:lastModifiedBy": "superuser",
  "@nodes": []
}


...

Expand
titleClick to see the resulting JSON

The result is based on the simple basic configuration.

Code Pro
languagejs
linenumberstrue
{
  "results": [
    {
      "@name": "Vietnam--Tradition-and-Today",
      "@path": "/magnolia-travels/Vietnam--Tradition-and-Today",
      "isFeatured": "true",
      "name": "Vietnam: Tradition and Today",
      "description": "Discover the culture and everyday treasures of a rising phoenix",
      "location": "Ho Chi Minh City, Vietnam",
      "tourTypes": [
        "415025c6-e4b5-4506-9384-34f428a52104",
        "e007e401-1bf8-4658-8293-b9c743784264"
      ],
      "author": "Magnolia Travels",
      "body_de": "<p>Vietnam ist eine der exotischsten und kulturreichsten Destinationen weltweit. Als Juwel unter Juwelen bietet es dem Besucher schillernde Vielfalt. Doch was die meisten so faszinierend finden, ist seine F&auml;higkeit zum Wandel. Dies wird nirgends deutlicher als in Ho-Chi-Minh-Stadt. Die am Saigon-Fluss gelegene Gro&szlig;stadt ist das perfekte Beispiel f&uuml;r das Nebeneinander von Fortschritt und Tradition. Pr&auml;chtige Kolonialbauten stehen neben modernen Wolkenkratzern, w&auml;hrend sich japanische Autos mit Fahrradrikschas die stark befahrenen Stra&szlig;en teilen. Wir bringen Sie nicht nur zu den wichtigsten Sehensw&uuml;rdigkeiten, sondern zeigen Ihnen auch die verborgenen Geschichten, die erkl&auml;ren k&ouml;nnen, was Vietnam zu dem macht, was es heute ist, und wohin es geht.</p>\n<p>Eine zweit&auml;gige Tour durch das Mekong-Delta (Vietnamesisch: Đồng Bằng S&ocirc;ng Cuu Long &bdquo;Flussdelta der neun Drachen&ldquo;) taucht Sie in ein Labyrinth des Lebens auf dem Wasser ein, in dem alles auf Booten geschieht, selbst die lokalen M&auml;rkte, die Tag f&uuml;r Tag durch ein Flo&szlig; der Boote der H&auml;ndler gebildet werden. Wir fahren weiter zur K&uuml;stenstadt Vung Tau, um dort im Phuong-Distrikt zu entspannen und wie die Einheimischen zu schwimmen.<br /> W&auml;hrend wir dort sind, besuchen wir den ber&uuml;hmten Wei&szlig;en Palast, die alte historische Kolonialvilla des franz&ouml;sischen Gouverneurs.</p>\n<p>Unterwegs werden Sie mit das beste Essen zu sich nehmen, das Sie jemals gegessen haben und wir werden Ihnen eventuell sogar beibringen, wie es zubereitet wird.</p> ",
      "body": "<p>Vietnam is one of the world&rsquo;s most exotic and culturally rich destinations. A gem among gems, it offers dazzling diversity for visitors. Yet what most find so fascinating is its capacity for change. This is nowhere more evident than in Ho Chi Minh City. Set on the Saigon river, the capital is the perfect example of progress and tradition living side-by-side. Grand colonial buildings stand alongside modern skyscrapers while Japanese cars share the busy roads with cycle rickshaws.</p>\n<p>We won&rsquo;t just take you to the key sights, but also reveal the hidden stories that explain what makes Vietnam what it is today, and where it&rsquo;s going.</p>\n<p>A two day tour of the Mekong delta (Vietnamese: Đồng bằng S&ocirc;ng Cửu Long &quot;Nine Dragon river delta&quot;) will immerse you in a water-world maze where everything happens on the boats - even local markets which form every day from a raft of vendors boats. We&rsquo;ll continue to the coastal town of Vung Tau in the Phuong district to relax and swim like the locals do.</p>\n<p>While there we&rsquo;ll visit the storied White Palace, the historical old colonial villa of the french governor.</p>\n<p>Along the way, you&rsquo;ll eat some of the finest food you&rsquo;ve ever eaten, and we might even teach you to cook it too.</p> ",
      "description_de": "Entdecken Sie die Kultur und die alltäglichen Schätze eines Phoenix aus der Asche",
      "destination": [
        "7ec72c48-c33f-418e-b2ff-44cfb4bbb1f2"
      ],
      "duration": "14",
      "name_de": "Vielfältiges Vietnam",
      "image": "jcr:1044b3b8-30b1-48fe-8078-832b6cef8fb5",
      "@nodes": []
    }
  ]
}

Note that the response above was created with a basic configuration and without reference resolving. See lines 9-12 tour-types . You can resolve these referenced nodes within the same REST request with reference resolving configuration.

...

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.

Anchor

simple

basic-config

simple

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: /
  travelling:
    workspace: tours
    includeSystemProperties: false

Properties:

class

required

Must be info.magnolia.rest.delivery.jcr.v1.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.

<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=mgnl:content

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

childNodeTypes

optional default=mgnl:contentNode

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

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
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.v1.JcrDeliveryEndpointDefinition
params:
  website:
    depth: 2
    nodeTypes:
      - mgnl:page
      - mgnl:area
      - mgnl:component
    childNodeTypes:
      - mgnl:area
      - mgnl:component
    rootPath: /
  tours:
    rootPath: /
    includeSystemProperties: false

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.


...