Aem graphql dispatcher. The configuration name is com. Aem graphql dispatcher

 
 The configuration name is comAem graphql dispatcher  You need to send the queries from the client, you can just send strings but if you want more comfort and caching you'll use a client library -> extra code in your client

4. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. Persisted queries are queries that are stored on the Adobe Experience Manager (AEM) server. Logging at the AEM application level, is. Review existing models and create a model. GraphQl persisted query endpoints aren't working in the publisher for me. CMS Experience, especially Adobe Experience Manager (AEM)/CQ6 architecture. Setup your local development environment for AEM as a Cloud Service SDK or for older versions of AEM. NOTE. You can provide additional code to expose pages and other structures, but when you require content from other API’s such as personalized content, a dedicated. Further Reference. Me too Reply 1 Accepted Solution Correct answer by Daniel_Gordon Employee Advisor 9/22/21 8:53:01 AM. It is exposed at /api/assets and is implemented as REST API. 5 Serve pack 13. Download Advanced-GraphQL-Tutorial-Starter-Package-1. In the previous chapter, you have explored some advanced GraphQL queries to gather data for the WKND app. The following configurations are examples. IMS integration allows the Desktop App to perform access token refresh automatically, allowing the user to stay. Clients can send an HTTP GET request with the query name to execute it. Developer. adapters. The GraphiQL tool enables developers to create and test queries against content on the current AEM environment. In addition to pure AEM-managed content CIF, a page can. Select Full Stack Code option. Designed for flexibility, GraphQL delivers the exact content requested and nothing more. Learn how and when to leverage AEM Author and Publish environments when using AEM’s GraphQL APIs. Solved: I've been currently looking at the GraphQL API. Unpack the Dispatcher Tools into ~/aem-sdk/dispatcher. If your modeling requirements require further restriction, there are some other options available. As per Adobe's documentation you should use GraphQL when you're trying to expose data from Content Fragments. AEM Publish does not use an OSGi configuration. The GraphiQL Explorer tool enables developers to create, and test queries against content on the current AEM environment. The default cache-control values are:. When configuring CORS on AEM Publish, ensure: The Origin HTTP request header cannot be sent to AEM Publish service, by removing the Origin header (if previously added) from the. The GraphiQL tool also enables users to persist or save queries to be used by client applications in a production setting. Skip to content Toggle navigation. extensions must be set to [GQLschema]Documentation AEM AEM Tutorials AEM Headless Tutorial Dispatcher filters for AEM GraphQL. Managing Content. Locate the Layout Container editable area beneath the Title. Once a query has been persisted, it can be requested using a GET request and cached at the. It is the most popular GraphQL client and has support for major. It appears that the GraphQL endpoint is blocked on the dispatcher. Recommendation. APOLLO CLIENT. json*" } Also, please review if you would want to avoid caching of the GraphQL queries. The GraphiQL tool enables developers to create and test queries against content on the current AEM environment. Register now! SOLVEDThe Dispatcher is Adobe Experience Manager’s caching and/or load-balancing tool that helps realize a fast and dynamic Web authoring environment. Or increase Jetty servlet engine’s response buffer size to avoid early auto-flushing. Use the adventures-all query. 3. graphql. Create Content Fragments based on the. {"payload":{"allShortcutsEnabled":false,"fileTree":{"dispatcher/src/conf. In this chapter, you explore how AEM’s GraphQL APIs can drive the experience in an external application. Adobe Experience Manager as a Cloud Service uses AEM Publish Dispatcher filters to ensure only requests that should reach AEM do reach AEM. Select GraphQL to create a new GraphQL API. Persisted queries are GraphQL queries that are created and stored on the Adobe Experience Manager (AEM) server. With the Next. (FilterHandler. The use of React is largely unimportant, and the consuming external application could be written in any framework. gz file contains Dispatcher version 4. The AEM GraphQL API allows you to update the default cache-control parameters to your queries in order to improve performance. If product data changes, there is a need for cache invalidation. The endpoint is the path used to access GraphQL for AEM. 0 is below. GraphQL API. The GraphiQL Explorer tool enables developers to create, and test queries against content on the current AEM environment. 1 for an Apache 2. AEM GraphQL API is currently supported on AEM as a Cloud Service. Since we get GrapghQL connector installed in AEM for Content fragment -Headless approach. My name is Abhishek Dwevedi. It allows easier categorization and organization of assets and it helps people who are looking for a specific asset. Learn the recommended Best Practices for the setup and use of AEM GraphQL with Content Fragments. This allows for grouping of fields so. An end-to-end tutorial illustrating how to build. The way it works is you insert these placeholders in the model where you want tab breaks to occur in the Content Fragment. The WKND client application connects to AEM publish service, so it is important that you published the following to the AEM publish service. GraphQL Query Editor. graphql. Last update: 2023-04-21. any file. This project contains the AEM CIF Venia reference site. Learn how to create GraphQL queries to return content from Adobe Experience Manager (AEM) and how to use the GraphiQL tool to quickly test, refine, and debug queries. Persisted queries are more performant than client-defined GraphQL queries, as persisted queries are executed using HTTP GET, which is cache-able at the CDN and AEM Dispatcher tiers. Developer. The zip file is an AEM package that can be installed directly. 2. Documentation AEM AEM Tutorials AEM Headless Tutorial Dispatcher filters for AEM GraphQL. apps) deployment; OSGi bundle and config file deployment; Apache and Dispatcher configs deployment as a zip fileIn AEM 6. In this video you will: Understand the power behind the GraphQL language. Rich text with AEM Headless. An end-to-end tutorial illustrating advanced concepts of Adobe Experience Manager (AEM) GraphQL APIs. 9. zip: AEM as a Cloud Service, the default build. In AEM, navigate to Tools > Deployment > Packages to access Package Manager. 5 also includes several digital experience platform features such as GraphQL support, built-in Adobe Target integration, and a new user interface for the AEM Screens device. Previous page. An implementation of the standard GraphiQL IDE is available for use with the GraphQL API of Adobe Experience Manager (AEM) as a Cloud Service. Dispatcher. The basic operation of queries with GraphQL for AEM adhere to the standard GraphQL specification. Developer. 2. By default all requests are denied, and patterns for allowed URLs must be explicitly added. Create Content Fragments based on the. ELEKS SOFTWARE UK LIMITED. for. Adobe Experience Manager as a Cloud Service uses AEM Publish Dispatcher filters to ensure only requests that should reach AEM do reach AEM. GraphQL Editor user interface does not let you scroll through all the persisted queries when there is a high number of queries (for example, more than. Hybrid and SPA with AEM; SPA Introduction and Walkthrough; SPA WKND Tutorial; Getting Started. Experience LeagueManage metadata of your digital assets. Sample Sling Model Exporter GraphQL API. Created for: Intermediate. Various methods of caching can also be used for optimization. json extension. In this article, we’ll break down the responsibilities of a state management solution, discuss what’s involved in building a solution from scratch, and how Apollo Client 3 introduces new ways to manage local state and remote data in harmony. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. The configured AEM service’s host/domain is then used to construct the AEM GraphQL API URLs and Image URLs. 20200619T110731Z-200604. SlingSchemaServlet. Understand the benefits of persisted queries over client-side queries. By default all requests are denied, and patterns for allowed URLs must be explicitly added. All log activity for a given environment’s AEM service (Author, Publish/Publish Dispatcher) is consolidated into a single log file, even if different pods within that service generate the. Tap Home and select Edit from the top action bar. If you require a basic introduction to creating Content Fragment Models, please see the appropriate chapter in the basic tutorial. and CDN. This feature is being gradually rolled out to customers in early September. In this video you will: Understand the power behind the GraphQL language. Also, the CIF add-on includes a local reverse proxy make the Commerce GraphQL endpoint available locally. AEM Publish does not use an OSGi configuration. Adobe Experience Manager as a Cloud Service uses AEM Publish Dispatcher filters to ensure only requests that should reach AEM do reach AEM. In addition to pure AEM managed content CIF a page can typically display commerce data that is dynamically fetched from Adobe Commerce via GraphQL. Example: if one sets up CUG, the results returned will be based on user's session. Available for use by all sites. Prerequisites Docker setup in local AEM Publish instance setup JDK 1. Dispatcher filters. Ensure that the version of Dispatcher Tools is provided via the AEM SDK version matching the AEM as a Cloud Service version. Last update: 2023-04-21. Learn how to configure AEM Publish Dispatcher filters for use with AEM GraphQL. I am using AEM as a Cloud Service and have created a component in which the data is rendered through the Content Fragments. Services. Click the Save All Button to save the changes. AEM dispatcher: Filters, ignoreUrlParams, virtualhosts, rewrites by Aanchal Sikka Overview In this extensive blog post, we'll delve into the topics of filters, ignoreUrlParams, virtual hosts, and rewrites, providing a detailed examination of their best practices and simplifying their operational me. The following tools should be installed locally: JDK 11;. This video is an overview of the GraphQL API implemented in AEM. In the basic tutorial multi-step GraphQL tutorial, you used the GraphiQL Explorer to test and refine the GraphQL queries. This tutorial explores how AEM Content Services can be used to power the experience of an Mobile App that displays Event information (music, performance, art, etc. View the source code on GitHub. nio. Unpack the Dispatcher Tools into ~/aem-sdk/dispatcher. Step 3: Install Nexus with Prisma. It is intended as a best-practice set of examples as well as a potential starting point to develop your own functionality. I noticed that my persistent queries are getting updated with Graphql introspection query. The ability to customize a single API query allows you to retrieve and deliver the specific content that you want/need to render (as the. Code examples Learning to use GraphQL with AEM - Sample Content and Queries; Cache Strategy. This is the same framework used to translate other AEM content, such as Pages, Experience Fragments, Assets, and Forms. The content in AEM is managed through Content Framnents and exposed through GraphQL API as a JSON. AEM has a large list of available content types and you’re able to select zero or more. Experienced Software Engineer with 7 years and a demonstrated history of working in the information technology and services industry. It does not look like Adobe is planning to release it on AEM 6. But it’s no secret that Magento’s built-in CMS doesn’t go far when your business scales. This document is part of a multi-part tutorial. The ability to customize a single API query lets you retrieve and deliver the specific. AEM Headless single-page app (SPA) deployments involve JavaScript-based applications built using frameworks such as React or Vue, that consume and interact with content in AEM in a headless manner. Updating your Content Fragments for optimized GraphQL Filtering; Authentication for Remote AEM GraphQL Queries on Content Fragments; AEM GraphQL API with Content Fragments - Sample Content and Queries; Hybrid and SPA AEM Development. You can find it under Tools → General). Download the latest GraphiQL Content Package v. Only static data (such as product or category data) is cached on the Dispatcher. supports headless CMS scenarios where external client applications render experiences using content managed in AEM. Author in-context a portion of a remotely hosted React. Using this path you (or your app) can: access the GraphQL schema, send your. Wrap the React app with an initialized ModelManager, and render the React app. ) that is curated by the. GraphQL. It is fully managed and configured for optimal performance of AEM applications. In this chapter, you persist the queries to AEM and learn how to use cache control on persisted queries. One of the latest features contributed by Bounteous from AEM CF Extras is the Tab Placeholder. If a caching issue is suspected, you should republish the pages in question and ensure that a virtual host is available that matches the ServerAlias localhost, which is required for Dispatcher cache invalidation. Unzip the downloaded aem-sdk-xxx. sample will be deployed and installed along with the WKND code base. In the next chapter, Explore GraphQL APIs, you will explore AEM’s GraphQL APIs using the built-in GrapiQL tool. Deploying a SPA that interacts AEM in a headless manner involves hosting the SPA and making it accessible via a web browser. 5. Build a React JS app using GraphQL in a pure headless scenario. Bundle start command : mvn clean install -PautoInstallBundle. 10. PersistedQueryServlet". This Web Component application demonstrates how to query content using AEM’s GraphQL APIs using persisted queries and render a portion of UI, accomplished using pure JavaScript code. The following AEM documentation includes everything from essential guides for those new to the content management system (CMS) to videos, tutorials, and further learning resources to get the most out of AEM 6. With CIF, AEM integrates seamlessly with Adobe Commerce, making it the easiest solution for creating. any","path":"dispatcher/src/conf. February 23, 2023 · 4 mins. Topics: GraphQL API View more on this topic. ”. 2. maven. It has the aim of storing (or “caching”) as much of the static website content as possible and accessing. any text file, though you can change the name and location of this file during installation. Learn best practices for headless delivery with an AEM Publish environment. Open CRXDE Lite in your browser. Using a REST API introduce challenges: Enable AEM Dispatcher caching. 1. Usually, it relies on invalidation techniques that ensure that any content changed in AEM is properly updated in the Dispatcher. model. Learn how to model content and build a schema with Content Fragment Models in AEM. adobe. 120 by @froesef in #976; Disable marketing parameters include for now by @froesef in #979Translate. The documentation folder contains some code that is used to generate a subset of the Magento schema that covers all the queries required by the CIF. Created for: Intermediate. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL Explorer. Please ensure that the previous chapters have been completed before proceeding with this chapter. Enable AEM Dispatcher caching. Learn how AEM can go beyond a pure headless use case, with options for in-context authoring and experience management. Build a React JS app using GraphQL in a pure headless scenario. Enable GraphQL pre-caching and configure dispatcher/ CDN cache for persisted queries; If Dynamic Media is enabled, employ web-optimized image delivery. In AEM 6. Do NOT attempt to set the AEM_PROXY_HOST via Cloud. TTL for the client (for example, a browser) 7200 seconds is the default (s-maxage=7200) TTL for the Dispatcher and CDN; also known as shared caches. Developer. Open the model in editor. Example: # GraphQL Persisted. Upload and install the package (zip file) downloaded in the previous step. 3. The AEM GraphQL API allows you to update the default cache-control parameters to your queries in order to improve performance. The AEM GraphQL API allows you to update the default cache-control parameters to your queries in order to improve performance. Tap the Technical Accounts tab. ) or getAdventureBySlug(. plugins:maven-archetype-plugin:3. For GraphQL queries with AEM there are a few extensions: If you require a single result: use the model name; for example, city; If you expect a list of results: add List to the model name; for example, cityList The GraphiQL Explorer tool enables developers to create, and test queries against content on the current AEM environment. Code Sources. This is built with the Maven profile classic and uses v6. It is available for Apache and IIS both. Documentation AEM AEM Tutorials AEM Headless Tutorial Dispatcher filters for AEM GraphQL. Created for: Beginner. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL Explorer. This feature is core to the AEM Dispatcher caching strategy. The HTTP GET requests from the headless app to AEM’s GraphQL APIs must be configured to interact with the correct AEM service, as. How does cache invalidation for AEM Dispatcher work with AEM and commerce?This end-to-end tutorial continues the basic tutorial that covered the fundamentals of Adobe Experience Manager (AEM) Headless and GraphQL. The React app should contain one. One could export an AEM page in JSON format via a REST call, however there are many fields in the JSON that the Spring Boot app does not use. Last update: 2023-04-21. API to client applications. amspom. Persisted queries are more performant than client-defined GraphQL queries, as persisted queries are executed using HTTP GET, which is cache-able at the CDN and AEM Dispatcher tiers. 8 and above Steps to run the dispatcher in docker container Once the docker is installed in local start the docker using command line or using docker desktop. Currently t he GraphQL feature is enabled by default only on the AEM SDK from 2021-02-04 or newer on AEM as Cloud Service. We have a business requirement where we need to secure AEM graphql endpoint with OKTA. And so, with that in mind, we’re trying. d":{"items":[{"name":"available_vhosts","path":"dispatcher/src/conf. AEM HEADLESS SDK API Reference Classes AEMHeadless . The AEM Developer Portal; AEM Headless tutorials - If you prefer to learn by doing and have existing knowledge of AEM, take our hands-on tutorials organized by API and framework, that explore creating and using applications built on AEM. $[env:AEM_PROXY_HOST] is a reserved variable that AEM as a Cloud Service maps to the internal proxy. Dispatcher Setup AEM as a Cloud Service AEM Coders Hub #aem #aemdeveloper #aemcommunity #aem65 #aemcoral #adobe #adobeaemdeveloper #api #java… Liked. You can enable caching for Persisted Queries in AEM. User. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL Explorer. Copy the Quickstart JAR file to ~/aem-sdk/publish and rename it to aem-publish-p4503. By default all requests are denied, and patterns for allowed URLs must be explicitly added. Connect and share knowledge within a single location that is structured and easy to search. In this example, we’re restricting the content type to only images. See GraphQL. Content Fragments. (FilterHandler. (Not on AEM as a cloud service) In our case, AEM will be the resource owner, 3rd party application will be client and OKTA will be the authorization. This GraphQL API is independent from AEM’s GraphQL API to access Content Fragments. Additionally, enable the GraphQL endpoint configurations that can be consumed by external applications to fetch headless content. 5. This video is an overview of the GraphQL API implemented in AEM. js application is as follows: The Node. Select the AEM as a Cloud Service development environment from the Eligible Deployment Environments select box. Provides link to other generic actions; such as Search, Help, Experience Cloud Solutions, Notifications, and User Settings. Developer. Dispatcher changes not reflected in INT environment “AH01620: Could not open password file” in logs after configuring Basic Auth in AEM dispatcher; When are browsers counted in Analytics? Fine-Grained Priorities on Recommendations Activity; Recommendation is filtering criteria while creating activityIn this post, the most common used queries will be explored, using the most important predicates provided by the Query Builder API; following an incremental approach does not neglect the possibility of understanding how to build more complex queries. Disadvantages: You need to learn how to set up GraphQL. The Single-line text field is another data type of Content. Using this path you (or your app) can: access the GraphQL schema, send your GraphQL queries, receive the responses (to your GraphQL queries). The basic operation of queries with GraphQL for AEM adhere to the standard GraphQL specification. AEM as a Cloud Service and AEM 6. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. Select Full Stack Code option. AEM provides a Translation Integration Framework for headless content, allowing Content Fragments and supporting assets to be easily translated for use across locales. Bundle start command : mvn clean install -PautoInstallBundle. denabled_vhostsaem_author. How to analyze the performance issue. This starts the author instance, running on port 4502 on the local computer. This issue is seen on publisher. Example: # GraphQL Persisted Queries & preflight requests /0061 { /type "allow" /method '(GET|POST|OPTIONS)' /url "/graphql/execute. The data needs to be stored in a search database. sling. Strong business development professional currently working in Rightpoint Pvt Ltd. In AEM, navigate to Tools > Deployment > Packages to access Package Manager. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. Getting Started with the AEM SPA Editor and React. 13+. The Origin header must not be passed to AEM publish via the Dispatcher: Check the clientheaders. ViewsThe GraphQL endpoints are publicly accessible, but the content that they return depends on user's access. I have a bundle project and it works fine in the AEM. Upload and install the package (zip file) downloaded in the previous step. apache. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL IDE. Dispatcher filters. Learn how to make GraphQL queries using the AEM Headless SDK. Hybrid and SPA with AEM; SPA Introduction and Walkthrough; SPA. The WKND reference site is used for demo and training purposes and having a pre-built, fully. The version of Dispatcher Tools is different from that of the AEM SDK. d/filters":{"items":[{"name":"default_filters. |. This fulfills a basic requirement of GraphQL. An end-to-end tutorial illustrating how to build-out and expose content using AEM and consumed by a native mobile app, in a headless CMS scenario. Please check the filter section to assure that its allowed. Once we have the Content Fragment data, we’ll integrate it into your React app. In this video you will: Learn how to create and define a Content Fragment Model. First, each vertex must have a unique ID to make it easily identifiable by the search step. Learn to use the delegation pattern for extending Sling Models. impl. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL IDE. java:135) at org. Caching AEM pages or fragments in the AEM Dispatcher is a best practice for any AEM project. Q&A for work. 2. at org. The Dispatcher can also be used for load. FileSystemException: C:Usersprojectswknd-testaem-guides-wknddispatchersrcconf. Select the AEM as a Cloud Service development environment from the Eligible Deployment Environments. all-2. Any new configuration available in that new Dispatcher Tools version can be used to deploy to Cloud environments running that version of AEM in the Cloud or higher. 1. The GraphiQL Explorer tool enables developers to create, and test queries against content on the current AEM environment. Dispatcher filters. The React App in this repository is used as part of the tutorial. Dispatcher filters. AEM Headless supports management of image assets and their optimized delivery. Created for: Intermediate. any","path":"dispatcher/src/conf. To share with the community, we talked to the AEM support team and found that it was an issue with 6. Headless implementation forgoes page and component. It provides a more flexible and efficient way to access. Experience on Using REST APIs or GraphQL to load material. Author in-context a portion of a remotely hosted React. The following configurations are examples. The AEM Headless quick setup gets you hands-on with AEM Headless using content from the WKND Site sample project, and a sample React App (a SPA) that consumes the content over AEM Headless GraphQL APIs. Tap the Local token tab. Select Edit from the mode-selector in the top right of the Page Editor. GraphQL Query Language. By default all requests are denied, and patterns for allowed URLs must be explicitly added. Topics: GraphQL API View more on this topic. AEM makes an environment fast and dynamic, because it also serves as a load-balancing tool. GraphQL API. Run the following command to build and deploy the entire project to AEM: $ mvn clean install -PautoInstallSinglePackage. Schemas on publish are the most critical as they provide the foundation for live delivery of Content Fragment. TTL for the client (for example, a browser) 7200 seconds is the default (s-maxage=7200) TTL for the Dispatcher and CDN; also known as shared caches. Browse the following tutorials based on the technology used. In addition to production and non-production, pipelines can be differentiated by the type of code they deploy. Developer. Documentation AEM AEM Tutorials AEM Headless Tutorial Dispatcher filters for AEM GraphQL. In this chapter, you use the GraphiQL Explorer to define more advanced queries to gather data of the Content. Tap on the download button in the top-left corner to download the JSON file containing accessToken value, and save the JSON file to a safe location on your development machine. GraphQL for AEM - Summary of Extensions {#graphql-extensions} . An end-to-end tutorial illustrating how to build-out and expose content using AEM’s GraphQL APIs and consumed by an external app, in a headless CMS scenario. The AEM Publish tier is operated as a farm of AEM publish instances, each with their own content repository of published content. This is your 24 hour, developer access token to the AEM as a Cloud Service environment. Toronto, Ontario, Canada. Get started with Adobe Experience Manager (AEM) and GraphQL. Developer Console is accessed per AEM as a Cloud Service. May 2020 - Present3 years 4 months. Once headless content has been translated,. ReferrerFilter. Upload. src/api/aemHeadlessClient. See: GraphQL Persisted Queries - enabling caching in the. AEM Publish does not use an OSGi configuration. Further Reference. Developer. zip: AEM 6. . AEM Brand Portal. AEM as a Cloud Service lets you capitalize on the AEM applications in a cloud-native way, so that you can: Scale your DevOps efforts with Cloud Manager: CI/CD framework, autoscaling, API connectivity, flexible deployment modes, code quality gates, service delivery transparency, and guided updates. By utilizing the AEM Headless SDK, you can easily query and fetch Content Fragment data using GraphQL. This tutorial explores how AEM’s GraphQL APIs and headless capabilities can be used to power the experiences surfaced in an external app. The GraphQL API then can be implemented directly within the commerce solution using the tools and programming languages the commerce solution provides. Now we have got our AEM up and running, and we have already set up AEM in Java in our last. For a third-party service to connect with an AEM instance it must have an. Brands have a lot of flexibility with Adobe’s CIF for AEM. For GraphQL queries with AEM, there are a few extensions: If you require a single result: use the model name; for example, city; If you expect a list of results: add List to the model name; for example, cityList Adobe Experience Manager as a Cloud Service’s Cross-Origin Resource Sharing (CORS) facilitates non-AEM web properties to make browser-based client-side calls to AEM’s GraphQL APIs, and other AEM Headless resources. Learn to use the Experience Manager desktop app to connect repositories and desktop applications to provide faster access to resources and streamlined workflows. Create a new model. all-2. Double-click the aem-author-p4502. Experience League1. The following are examples of possible approaches for constructing URLs for AEM GraphQL API and image requests, for several popular headless frameworks and platforms. Further Reference. Adobe Experience Manager as a Cloud Service uses AEM Publish Dispatcher filters to ensure only requests that should reach AEM do reach AEM. Overview; 1 - Content modeling; 2 - AEM Headless APIs and React; 3 - Complex components; Deployments. The GraphQL API in AEM allows you to expose Content Fragment data to downstream applications.