loading table of contents...

Headless Server Developer Manual / Version 2107

Table Of Contents

Headless Server Developer Manual

Copyright CoreMedia GmbH © 2023

CoreMedia GmbH

Altes Klöpperhaus, 5. OG

Rödingsmarkt 9

20459 Hamburg


All rights reserved. No part of this manual or the corresponding program may be reproduced or copied in any form (print, photocopy or other process) without the written permission of CoreMedia GmbH.


Alle Rechte vorbehalten. CoreMedia und weitere im Text erwähnte CoreMedia Produkte sowie die entsprechenden Logos sind Marken oder eingetragene Marken der CoreMedia GmbH in Deutschland. Alle anderen Namen von Produkten sind Marken der jeweiligen Firmen.

Das Handbuch bzw. Teile hiervon sowie die dazugehörigen Programme dürfen in keiner Weise (Druck, Fotokopie oder sonstige Verfahren) ohne schriftliche Genehmigung der CoreMedia GmbH reproduziert oder vervielfältigt werden. Unberührt hiervon bleiben die gesetzlich erlaubten Nutzungsarten nach dem UrhG.

Licenses and Trademarks

All trademarks acknowledged.

December 08, 2023

1. Preface
1.1. Audience
1.2. CoreMedia Services
1.2.1. Registration
1.2.2. CoreMedia Releases
1.2.3. Documentation
1.2.4. CoreMedia Training
1.2.5. CoreMedia Support
1.3. Typographic Conventions
1.4. Changelog
2. Overview
3. Configuration and Operation
3.1. Configuration of the Headless Server
3.2. Endpoints of the Headless Server
3.3. HTTP Cache-Control
3.4. Preview
3.4.1. JSON Preview Client
3.4.2. Custom Preview Client
3.5. Security
3.5.1. Whitelisting of GraphQL Queries
3.5.2. Limiting the Size of a Search Result
3.5.3. Limiting the Depth of a GraphQL Query
3.5.4. Limiting the Complexity of a GraphQL Query
3.5.5. Enforcing an Execution Timeout for GraphQL Queries
3.5.6. MediaType Content Negotiation
4. Development
4.1. Defining the GraphQL Schema
4.2. Headless Server Implementation with GraphQL-Java
4.2.1. Bootstrapping an Executable Schema
4.2.2. TypeDefinitionRegistry
4.2.3. RuntimeWiring
4.2.4. Invoking Queries
4.3. The @fetch Directive
4.4. The @inherit Directive
4.5. Model Mapper
4.6. Filter Predicates
4.7. Adapter
4.8. Building Links
4.8.1. Link Composer for ID links
4.8.2. Link Composer for hyperlinks
4.8.3. Implementing Custom Link Composer
4.9. Content Schema
4.9.1. Simple Article Query
4.9.2. Article Query with Fragments and Parameters
4.9.3. Querying all available Sites
4.9.4. Site Query
4.9.5. Querying derived Sites
4.9.6. Page Query
4.9.7. Download Query
4.9.8. External Link Query
4.9.9. Querying localized variants
4.10. Using Time Dependent Visibility
4.11. Remote Links
5. Rich Text
5.1. Rich Text Output
5.1.1. The Include Directive
5.1.2. YAML Anchors and Aliases
5.1.3. Code Comments
5.1.4. Name Property
5.1.5. Elements Property
5.1.6. Classes Property
5.1.7. Contexts and InitialContext Property
5.1.8. HandlerSets Property
5.1.9. Internal Links
5.1.10. External Links
5.2. Using RichTextAdapters for Different Rich Text Grammars
5.2.1. Rich Text Adapters
5.2.2. Developing Custom RichTextAdapters
5.2.3. CoreMedia Grammar RichTextAdapter
6. Search Extension
6.1. Generic Search
6.2. Dynamic Query Lists
6.3. Custom Filter Queries
7. eCommerce Extension
7.1. Headless Commerce Integration Architecture
7.2. Augmentation
7.2.1. Categories and Products Mapped to Media Content
7.2.2. Augmented Categories and Products
7.2.3. Augmented Pages
7.3. Product Lists
7.4. References to Products and Categories
7.5. eCommerce Setup and Configuration
8. Personalization Extension
8.1. Retrieve CMSelectionRules Documents
8.2. Rules
9. Persisted Queries
9.1. Loading Persisted Queries at Server Startup
9.1.1. Defining Persisted Queries in Plain GraphQL
9.1.2. Defining Persisted Query Maps in Apollo Format
9.1.3. Defining Persisted Query Maps in Relay Format
9.2. Plugin support for persisted queries
9.3. Query Whitelisting
9.4. Apollo Automatic Persisted Queries
10. REST Access to GraphQL
10.1. Mapping REST Access to Persisted Queries
10.2. JSLT Transformation
11. Site Filter
12. Media Endpoint
12.1. Media Endpoint URLs
12.2. Configuration of Media Endpoints
13. Metadata Root
13.1. PDE Mapping as Metadata
14. Frontend Client Development
14.1. Getting Started
14.1.1. Prerequisites
14.1.2. Setting up a React App
14.1.3. Setup Apollo for GraphQL
14.1.4. Developer Tools
14.2. Basic Guides
14.2.1. Retrieving All Sites from CoreMedia Headless Server
14.2.2. Configuring Apollo Cache
14.2.3. Rendering the Homepage of a Site
14.2.4. Navigation and Routing
14.2.5. Rendering an Article
14.3. Standalone Component
14.3.1. Usage
14.3.2. Caching and rendering the requested placement
15. Configuration Property Reference

Search Results

Table Of Contents

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.