Expand my Community achievements bar.

Adobe Developers Live 2021, Session | Headless: GraphQL with Content Fragments

Avatar

Administrator

BlogImage.jpg

Session Details

Learn about the new headless capabilities with the most recent Content Fragment enhancements. This session will focus on the GraphQL API for AEM Cloud Service.

Experience League Session Recording 

Session Schedule

8-Feb, 10:15 AM - 10:45 AM PST

Speaker(s)

Jabran Asghar

Full Schedule

Check Here

Q&A

Please use this thread to ask the question related to this Session. Click here for the session slides.

Session FAQs

Q. Will GraphQL Content Fragment support be available in both the Cloud version of AEM and the more traditional 6.5 version? 

A. The feature is developed "Cloud first", but we intend to release it as a part of a Service Pack for 6.5 later. 

Q. How Adobe I/O can integrate to headless graphQL? 

A. Adobe I/O Events works with AEM as a Cloud Service today (1). We are working on usability enhancements, but webhooks/events management in general via I/O Events is possible today (1) https://www.adobe.io/apis/experienceplatform/events/docs.html#!adobedocs/adobeio-events/master/aem/a...

Q. Will AEM GraphQL API comes with an inbuilt ACL? 

A. AEM GraphQL uses the same permission model than AEM uses in common. There are some limitations, those are documented. So, I'd suggest consulting the documentation. 

Q. Mutations are not supported?  How do we push data to AEM with GraphQL if we want to? 

A. For create/update operations you use the Assets HTTP API for now. GraphQL is for delivery. We are investigating mutations. 

Q. Is it possible to export data from content model i.e schema to AEP schema 

A. No, exporting from content models is not supported. 

Q. Is graphql api support available only in cloud service? 

A. GraphQL is in cloud service first (public release last week) and will come to 6.5/AMS later in the year 

Q. Can we use GraphQL to expose XF's? 

A. No, XFs are currently unsupported 

Q. Graph queries can return Content Fragment only? 

A. Yes, GraphQL is currently limited to Content Fragments. GraphQL uses schemas based on fragment models and returns fragment json - for fragments and references 

Q. Is this feature built on top of Kibana? 

A. No, it's not built on Kibana 

Q. Which version onwards is this available? 

A. First public release was last week in cloud service 2021.01 

Q. Will the model now supports json Array? For example array of reference fragments 

A. We support arrays of references in models 

Q.Is there a deepness limit? 

A. graphql has a built-in deepness limit (as you're specifying the depth through your queries). 

Q. are ACL applied to queries? 

A. ACLs are applied to the result set - only fragments that the requesting user has access to will be returned. 

Q. Will GraphQL have an authorization feature? This means protected content needs to be exposed to only authorized users. Or is it the burden of the implementer to wrap it up in protected API? Please advise. 

A. AEM will provide service to service authentication. Further, ACLs can be applied to the result sets returned by a GraphQL query. 

Q. content fragment models have only very basic types and input fields.. content modeling capabilities using content fragments are minimal when compared to other headless CMS 

A. New data types have been added (reference field, JSON data type for instance) and configuration capabilities have been increased (validation); all of that part of the 2021.01 release 

Q. Will content fragment models will have the possibility of extending? they are very basic and limiting the use it as a headless cms 

A. (Question is too vague – If the question is more on extending data types, this is something part of the roadmap, but not scheduled for now. We believe that the new data types we have added should cover most of the modeling needs) 

Q. Will the public endpoint directly the AEM Dispatcher or can we also forward the requests from the CDN (if not cached)? 

A. (Hard to answer, as the current implementation solely rely on CDN caching, but we are envisioning restoring an additional layer of caching at the Dispatcher level in the future) 

Q. If a content fragment is referencing a content fragment. Will GraphQL return the original json as well as the referenced content fragment as well in its response? 

A. Yes, given that the GraphQL query includes the fields of the referenced fragment(s). 

Q. Are these going to be cached at the dispatcher? 

A. (Hard to answer, as the current implementation solely rely on CDN caching, but we are envisioning restoring an additional layer of caching at the Dispatcher level in the future) 

Q. I think this is great to integrate with 3rd party solutions, however, it should be extracted from the whole AEM packaging. Is there any vision to provide Content Fragments and GraphQL as a separate Headless Adobe CMS? 

A. Currently GraphQL support is only part of the AEM. 

Q. How scalable this model is for queries that can't be cached?  Is it good to assume those queries are executed on publishers - if they are not cacheable? 

A. It depends upon how deep content fragment models refer to each other. The not-cached queries will execute on the publisher. 

Q. how to test the GraphQL endpoints? 

A. If it means testing the availability of the endpoint, then it can be done via introspection queries or any other query conforming to the available content fragment models. 

Q. Do we have monitoring within AEM for the GQL Endpoint to see response times and load? 

A. There is not getting monitored within AEM, but we have external monitoring (Grafana + Promethius) 

Don't forget to register yourself for this session using the registration link shared above. 



Kautuk Sahni
0 Replies