Expand my Community achievements bar.

[AEM Gems | 9th October 2024] Unlocking the Power of AEM Sites: Master the Content Management APIs

Avatar

Administrator

kautuk_sahni_0-1672810566214.jpeg

Session Details

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:

  1. Duration: 60 minutes including 10 minutes of Q&A
  2. Audience: Technical Teams of Customers, Partners, and Adobe Employees
  3. Recording and slides will be made available to the public after the session
  4. The session is free of charge, registration will be required
  5. View the webinar archive at https://Adobe.com/go/gems

Session Presentation

OpenAPI for Content Management & Delivery 

Session Recording

Session Schedule

Wednesday, October 9, 2024, | 8 am PDT OR 5 pm CEST OR 8.30 pm IST

Speaker(s)

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

Session Q&A

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. 
   

 

Register at: https://adobe.ly/4g6TYck 

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



Kautuk Sahni
Topics

Topics help categorize Community content and increase your ability to discover relevant content.

3 Replies

Avatar

Community Advisor

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

 

arunpatidar_0-1725096485614.png

 



Arun Patidar

Avatar

Administrator

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!

kautuk_sahni_0-1725097069758.png

 



Kautuk Sahni

Avatar

Community Advisor

Hi @kautuk_sahni 
It is resolved now.



Arun Patidar