close

Filter

loading table of contents...

Headless Server Developer Manual / Version 2512.0

Table Of Contents

Headless Server Developer Manual

Copyright CoreMedia GmbH © 2026

CoreMedia GmbH

Altes Klöpperhaus, 5. OG

Rödingsmarkt 9

20459 Hamburg

International

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.

Germany

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.

January 28, 2026

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. Caching
3.3.1. Unified API Cache
3.3.2. Cache Keys
3.3.3. Caffeine Cache
3.3.4. HTTP Cache-Control
3.4. Preview
3.4.1. JSON Preview Client
3.4.2. Custom Preview Client
3.5. Security
3.5.1. Query Allow List for 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. Conversion Service
4.8. Adapter
4.9. Building Links
4.9.1. Link Composer for ID links
4.9.2. Link Composer for hyperlinks
4.9.3. Implementing Custom Link Composer
4.10. Content Schema
4.10.1. Simple Article Query
4.10.2. Article Query with Fragments and Parameters
4.10.3. Querying all available Sites
4.10.4. Site Query
4.10.5. Querying derived Sites
4.10.6. Page Query
4.10.7. Download Query
4.10.8. External Link Query
4.10.9. Querying localized variants
4.11. Using Time Dependent Visibility
4.12. Pagination
4.13. Remote Links
4.14. Taxonomies
4.15. Viewtypes
4.16. Plugin Support
4.16.1. Extension Points
4.16.2. Beans For Plugins
4.16.3. Resource file loading
4.17. Apollo Federation support
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. Handlers
5.1.9. HandlerSets Property
5.1.10. Internal Links
5.1.11. 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
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. Persisted Queries
8.1. Loading Persisted Queries at Server Startup
8.1.1. Defining Persisted Queries in Plain GraphQL
8.1.2. Defining Persisted Query Maps in Apollo Format
8.1.3. Defining Persisted Query Maps in Relay Format
8.2. Query Allow Listing
8.3. Apollo Automatic Persisted Queries
9. REST Access to GraphQL
9.1. Mapping REST Access to Persisted Queries
9.2. JSLT Transformation
10. Site Filter
11. Media Endpoint
11.1. Media Endpoint URLs
11.2. Configuration of Media Endpoints
11.3. Customization of Media Endpoints
12. Metadata Root
12.1. PDE Mapping as Metadata
13. Frontend Client Development
13.1. Getting Started
13.1.1. Prerequisites
13.1.2. Setting up a React App
13.1.3. Setup Apollo for GraphQL
13.1.4. Developer Tools
13.2. Basic Guides
13.2.1. Retrieving All Sites from CoreMedia Headless Server
13.2.2. Configuring Apollo Cache
13.2.3. Rendering the Homepage of a Site
13.2.4. Navigation and Routing
13.2.5. Rendering an Article
13.3. Standalone Component
13.3.1. Usage
13.3.2. Caching and rendering the requested placement
14. Configuration Property Reference
Glossary
Index

List of Examples

3.1. Example Cache-Control Configuration
3.2. Configuring Content Type Resolution for PDF and EPS Files
4.1. Creating a ModelMapper for Calendar objects
4.2. Creating a filter predicate
4.3. Retrieve a value from a struct with the StructAdapter
4.4. Different ways to pass the paths parameter to the settings field from the GraphQL perspective
4.5. Define SettingsAdapter as bean
4.6. Retrieve settings with the SettingsAdapter
4.7. Accessing the DataFetchingEnvironment.
4.8. Example of a new http request header to be copied to the graphql context.
4.9. Example of a filter predicate using the new context parameter.
4.10. Example of a custom SuggestionSearchServiceProvider.
4.11. Using a bean for plugin in a plugin configuration
6.1. Example implementation of a custom filter query.
11.1. Retrieving the URI template of a picture
11.2. Retrieving the URI template of a picture with an alternative image format
11.3. Retrieving the URI or the fully qualified URL of the original file of a picture
13.1. Example for Hello World App
13.2. Example Component rendering all available sites as a list
13.3. Configuring the Apollo Cache
13.4. Page query with siteID
13.5. Page Component render function
13.6. Iterating over all rows of the PageGrid
13.7. The PageGridPlacement Component
13.8. Installing React Router
13.9. The App.jsx rendering with routing
13.10. The PageGridPlacement.jsx rendering links around article banner
13.11. Identify id of article
13.12. Generating the full image URL
13.13. Detailview of an article component
13.14. Fragment Integration with a separate DOM Placeholder
13.15. Fragment Integration of DOM element with custom data attribute
13.16. fetching the wanted placement
13.17. rendering the PageGridPlacement

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

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