In this session, we'll show you how AEM Sites are evolving with the latest API-first patterns to enhance your content management strategy. Discover advanced OpenAPI standards for seamless CRUD operations, learn about Adobe I/O's eventing and webhook capabilities for automating content processes, and explore new REST APIs for streamlining translation workflows. Expect great content, practical demonstrations, and actionable takeaways that you can apply immediately.
Housekeeping details:
OpenAPI for Content Management & Delivery
Wednesday, October 9, 2024, | 8 am PDT OR 5 pm CEST OR 8.30 pm IST
Prashant Kumar Singh - Computer Scientist at Adobe, Mathias Siegel - Principal Product Manager at Adobe, Catalina Dumitru - Software Development Engineer at Adobe & Lénárd Palkó - Sr. Software Development Engineer at Adobe
Question | Answer |
My phone is not recognizing any of the provided QR codes to the docs as valid QR codes. Can we get the links? | here it is: https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/sites/ |
Will this deck and recording be shared after the session? | Yes, the slides, recording and Q&A will be shared post webinar on the Contextual Thread (~2 days after): https://adobe.ly/4e34grR |
Are these APIs going to work only on the Cloud? Not on On-Premise? | they are available with AEM Cloud service for the moment. we are discussing options to have them available for AEM 6.5 Managed Services |
When we say content fragments are being deprecated in 25, are we talking about the legacy editor and non api implementations? | the content fragment support in the Assets HTTP API is going to be deprecated; the rest of content fragment functionalities are not going to be deprecated |
is this support only if you are on cloud or on-prem/AMS is also supported ? | those APIs are only available on AEM Cloud Service for the moment |
Why would we want to define CF schema by API? Which is the use case? | this can be a use-case if you want to interact with AEM in a pure headless / decoupled manner, and create not only the content, but also the models via API calls. basically doing that in a programmatical manner instead of via a user interface |
uiSchema API is basically to create fragment model? | not really, the UI schema allows to define the structure / the appearance of the fragments in the authoring interface (i.e. how the fields are presented on the user interface) |
Publish and unpublish has new APIs? | yes, but keep in mind that those APIs are specifically tailored for content fragments and content fragment models - We have endpoint for publishing Content Fragments and Content Fragment Models. There is also a workflow endpoint that supports launching different workflows (unpublish fragments, unpublish models, publish folders). Doc -> https://cuddly-parrot-13.redoc.ly/tag/Workflows#operation/workflows/start |
Is there intent to enable AI type search or something more than typical filters | I'm not sure if I understand what you mean with "AI type search" - could you please elaborate (I think you will need to use a follow up question) |
Does the API support property-based filtering, too? | the API also has search capabilities, with different search criteria available - have a look at the "search" section on the left side of the API doc (https://adobe-sites.redoc.ly/tag/Search#operation/fragments/search) |
For each API presented, is it possible to call such mechanism from the OSGI backend? | We recommend leveraging the HTTP API for now |
I have been asked a few times (related to searching content in AEM) if we intend to enable ChatGPT style interaction to query/understand content in AEM. CF content included and important. | we have a few AI related projects in the works with content fragments, but nothing available as of now as part of that new API |
do you have sample project in github? | not at the moment, but note that the API documentation is OpenAPI based and thus can also generate sample code for you in different languages |
Could you clarify how the publish event works with Eventing API? Does it trigger when the content is fully propagated across all publishers, or is it fired when the content is published on the author instance? | The published event fires once content is published, i.e. publisher pods have received the content |
Can all the links be pasted here.. Not everyone would have got time to capture all QR codes and bookmark them | the links and the presentation will be shared afterwards; in the meantime, the API documentation can be found here: https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/sites/ |
Does the API support property-based filtering for custom fields, too? (Or only for built-in fields?) The documentation does not say anything about custom fields (or indexing). | Hello, for now the functionality is enabled for the pre-defined filtering criteria |
Is sling/osgi (the current) eventing mechanism going to be depricated too? | Hello, for no there is no plan on deprecating the current eventing - they will both work in parallel for some time |
How does these updates impact Content Service delivery (not GraphQL)? | No impact, as "Content Services" delivery is based on core components |
does the openAPI supports only CF or pages/XF as well? | only content fragments are supported for now |
Is the Assets HTTP API is going to be _deprecated_ or _decomissioned_ (the slide said the former, Catalina the latter) | Hello, no - only the Content Fragment support from Assets API will be deprectaed, not the APIs themselves 🙂 |
Would these API will work with AMS applications ass well? | Only cloud at the moment. AMS/onprem maybe next year, 2025. |
can you explain Rest data format vs Custom Data Format | the OpenAPI for Delivery follows a JSON schema specific for Content Fragments - so the JSON output would look the same for your different content fragments thanks to a common structure |
Is content delivery OpenAPI dispatcher cache automatically get flushed on content publishing OOTB? or any customization is required |
the content delivery OpenAPI will take care of invalidating caching layers (we primarily target the CDN in that case, since the delivery service doesn't rely on the dispatcher caching, as it lives as a separate service outside of the AEM publisher service) |
How it is supposed to be used on local environments? Or does it consider using AEMaaCS dev instance to use on your FE application? | For Managment APIs you can use the Headless APIs as an AEMCs locally using AEM SDK. You can find more details here https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/headless/journey... |
What is the purpose of using Open API for translation of CFs? It requires to create new UI on my side (application). Why can I not use AEMaaCS UI to manage translations of CFs? What are a use-cases for using it? | For use cases where you want to translate without using the UI, i.e. automated translation. Common in headless cases. Small amounts of content but frequent translation cycles. |
Are there any real business use-cases? | Yes |
Does it mean a translation connector for a new translation provider is NOT required since API can be called for any provider? | AEM Tranlslation API is unaffected by the new OpenAPIs for Translation Management. TMS connectors still receive translation jobs over Translation API as they have for a long time. The new Translation Management OpenAPIs allow automating steps before and including job submission - project creation, job creation, adding content to job, etc. |
Do these APIs have access controls at the CRUD level? | The permissions with which the APIs are operated are the ones of the AEM user you use in the authentication section - the Management APIs are authenticated APIs and need an AEM user |
how to manage include or exclude properties and patterns for translation job? | Which component or resource properties are extracted when creating translation jobs is defined in Translation Rules. Those are independent and unrelated from Tranlation Management OpenAPI. Translation Rules get defined first, to then allow Translation Management OpenAPI perform its actions. |
and how we can manage the API permissions? | The permissions with which the APIs are operated are the ones of the AEM user you use in the authentication section - the Management APIs are authenticated APIs and need an AEM user |
Does it mean a new translation provider need not create a connector, rather they can use API to integrate? | No. TMS still connects with connector. AEM APIs allow automating submission of job over AEM Translation API the 3rd-party TMS connector uses |
what happens to the job if the content changed after creating the job? | Nothing just on its own. But wtih content update events and the new translation management OpenAPI you can automate adding updated content to the job. |
are there any options to translate i18n via this API? | Work in progress, to allow storing dictionaries in /content and then use AEM translation management for translating them, UI or API. Planned for early next year |
do any of these APIs relate to Edge Delivery also? | yes, the new OpenAPI for Content Fragment delivery leverages same principles as Edge Delivery Services |
What are the business use cases for translation APIs? To introduce event-driven automation of job configuration and execution and take the author out of the equation? Anything else? | Please feel free to reach out directly. Happy to discuss |
Is Early Adopter applicable for partner sandbox programs? | in general, we would have a preference for real world use-cases, but that's something we may discuss, depending on your own use-case |
I have a question regarding the Bulk Update API. Does it automatically stagger the job to avoid any adverse impact on the environment, or is this something users are encouraged to manage themselves? Given that traffic fluctuations can affect the effective update capacity, a fixed value might not always be suitable. Could you please elaborate on the capacity planning aspect of the Bulk Update API and how it handles varying loads? |
The AEM Batch API does not automatically stagger jobs to manage the load on the environment. Instead, users are encouraged to manage the load themselves to avoid any adverse impact. When launching a Bulk operation through the Batch Requests the request will be resolved individually, in a sequential manner in the background. That being said, if the instance is at maximum capacity the job might take longer to complete the instance might be scaled up. |
Would it be possible to "connect" eventing somehow to the EDS caching API (if there is one) both to flush and read? | Events using the new AEM eventing framework are registered in Adobe IO, to fire IO webhooks that applications using Adobe IO can consume. |
Topics help categorize Community content and increase your ability to discover relevant content.
Hi @kautuk_sahni
I think Event date is not correct is not correct at Event link. It shows 4th Sept 2024 and calendar invite also had 4th Sept
Hi Arun,
Thanks for pointing this out. That’s odd—I’m seeing the date as October 9th. New events are typically cloned from the most recent event in the pipeline, so the October 9th event would have been cloned from the September 4th one, which hasn't happened yet. When it was initially published, it was corrected right away. I’m not sure if this could be an issue with the load balancer’s cache invalidation, but it does show October 9th on my end. Could you please try clearing your cache and checking again?
Appreciate your help in bringing this to our attention!
Views
Replies
Total Likes
Hi @kautuk_sahni
It is resolved now.