Headless Server Developer Manual / Version 2204
Table Of ContentsCopyright CoreMedia GmbH © 2022
CoreMedia GmbH
Ludwig-Erhard-Straße 18
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.
September 13, 2022- 1. Preface
- 2. Overview
- 3. Configuration and Operation
- 4. Development
- 4.1. Defining the GraphQL Schema
- 4.2. Headless Server Implementation with GraphQL-Java
- 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.10. Content Schema
- 4.11. Using Time Dependent Visibility
- 4.12. Pagination
- 4.13. Remote Links
- 4.14. Taxonomies
- 4.15. Viewtypes
- 4.16. Plugin Support
- 5. Rich Text
- 6. Search
- 7. eCommerce Extension
- 8. Personalization Extension
- 9. Persisted Queries
- 10. REST Access to GraphQL
- 11. Site Filter
- 12. Media Endpoint
- 13. Metadata Root
- 14. Frontend Client Development
- 15. Configuration Property Reference
- Glossary
- Index
List of Figures
List of Tables
- 1.1. CoreMedia manuals
- 1.2. Typographic conventions
- 1.3. Pictographs
- 1.4. Changes
- 4.1. Available Beans in HeadlessBlueprintBaseBeansForPluginsConfiguration
- 5.1. Available context types for the contexts section.
- 5.2. Available properties for !Context and !RootContext.
- 5.3. Available properties for !Matcher.
- 5.4. Available properties for !Push and !ReplacePush.
- 5.5. Available properties for !ElementWriter.
- 5.6. Available properties for !ImageWriter.
- 5.7. Available properties for !LinkWriter.
- 8.1. Generic Personalization rules
- 8.2. Taxonomy Personalization rules
- 8.3. Date/Time Personalization rules
- 8.4. Elastic Social Personalization rules
- 8.5. Commerce Personalization rules
- 8.6. SFMC Personalization rules
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.
- 12.1. Retrieving the URI template of a picture
- 12.2. Retrieving the URI template of a picture with an alternative image format
- 12.3. Retrieving the URI or the fully qualified URL of the original file of a picture
- 14.1. Example for Hello World App
- 14.2. Example Component rendering all available sites as a list
- 14.3. Configuring the Apollo Cache
- 14.4. Page query with siteID
- 14.5. Page Component render function
- 14.6. Iterating over all rows of the PageGrid
- 14.7. The PageGridPlacement Component
- 14.8. Installing React Router
- 14.9. The App.jsx rendering with routing
- 14.10. The PageGridPlacement.jsx rendering links around article banner
- 14.11. Identify id of article
- 14.12. Generating the full image URL
- 14.13. Detailview of an article component
- 14.14. Fragment Integration with a separate DOM Placeholder
- 14.15. Fragment Integration of DOM element with custom data attribute
- 14.16. fetching the wanted placement
- 14.17. rendering the PageGridPlacement