aem headless cms documentation. With Experience Manager as a Cloud Service, your teams can focus on innovating instead of planning for product. aem headless cms documentation

 
 With Experience Manager as a Cloud Service, your teams can focus on innovating instead of planning for productaem headless cms documentation  It illustrates how multiple features work together to solve a business need in a best practices fashion

Headless implementation forgoes page and component management, as is traditional in. A headless CMS (Content Management System) is a content management system that allows you to manage and distribute content across multiple channels, such as websites, mobile apps, and social media platforms, without being tied to a specific presentation layer. 5. AEM Forms Headless Adaptive Forms provide a fast and efficient way to create forms for various platforms including Headless or Headful CMS, React applications, Single Page Applications (SPA), Web Apps, Mobile apps, Amazon Alexa, Google Assistant, WhatsApp, and more. The Android Mobile App. Solved: Hi, I am going through the article AEMCQ5Tutorials: Integrate PWA with AEM – using headless CMS @ - 325762In this part of the AEM Headless Content Architect Journey, you can learn the (basic) concepts and terminology necessary to understand content modeling when using Adobe Experience Manager (AEM) as a Cloud Service as a Headless CMS. In a headless setup, the presentation system (the head) is decoupled from the content management (the tail). Use GraphQL schema provided by: use the drop-down list to select the required configuration. Community. The value of Adobe Experience Manager headless. Learn how to use features like Content Models, Content Fragments, and a GraphQL API to power headless content delivery. Getting Started with AEM Headless - GraphQL by Adobe Docs Abstract AEM’s GraphQL APIs for Content Fragments supports headless CMS scenarios where external client applications render experiences using content managed in AEM. With Headless Adaptive Forms, you can streamline the process of building. Content Fragments Support in AEM Assets HTTP API feature helped us to solve the multiple challenges and provide a seamless headless delivery. The following diagram illustrates the overall architecture for AEM Content Fragments. With Headless Adaptive Forms, you can streamline the process of. js. Log in to AEM Author service as an Administrator. Next, explore the power of AEM’s GraphQL API using the built-in GraphiQL IDE. Australian retailer Big W is moving full speed ahead with Adobe Experience Manager Headless CMS. This provides a paragraph system that lets you position components within a responsive grid. Documentation AEM 6. Mar 20, 2023. Headless CMS advantages: • Scales efficiently to multiple channels and unlocks. Select the Content Fragment Model and select Properties form the top action bar. Getting Started with AEM Headless as a Cloud Service. It supports both traditional and headless CMS operations. Use a language/country site naming convention that follows W3C standards. . Objective This document helps you understand headless content delivery and why it should be used. Community home. Learn about key AEM 6. At the start, you must enable Content Fragment Models for your site. Developer. Adobe Experience Manager, the leading headless CMS* by Adobe Abstract Adobe Experience Manager is a headless CMS, who knew? Let's explore why organisations are evaluating headless content delivery and how AEM can help. cors. The most common deployment pattern with AEM headless applications is to have the production version of the application connect to an AEM Publish service. A primary use case for The Adobe Experience Manager as a Cloud Service (AEM) GraphQL API for Content Fragment Delivery is to accept remote queries from third-party applications or services. A modern content delivery API is key for efficiency and performance of Javascript-based frontend applications. In this case, there are no AEM Templates, but AEM Components may be there connecting the new front end with AEM Data store. It is a traditional, monolithic CMS with a content-as-a-service (CaaS) API. Learn about the concepts and mechanics of authoring content for your Headless CMS using Content Fragments. 2. AEM’s GraphQL APIs for Content Fragments. Why would you need a headless CMS? IT is looking to address Agility and Flexibil. Or any other application that can execute HTTP requests and handle JSON responses. In the last step, you fetch and. Content Fragment Models define the elements (or fields) that define what content the Content Fragment may capture and expose. Contribute to adobe/aem-headless-client-nodejs development by creating an account on GitHub. Headless implementation forgoes page and component. The. Select Create. 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. AEM Headless is a CMS solution from Experience Manager that allows structured content (Content Fragments) in AEM to be consumed by any app over HTTP using GraphQL. The results tell the story. Authoring Basics for Headless with AEM. With Headless Adaptive Forms, you can streamline the process of building forms, making it easier to collect data from your users. What is a headless CMS? Headless architecture offers a new way of presenting AEM content. The Story So Far. The use of AEM Pages and AEM Components empowers marketers to quickly compose and update flexible JSON APIs that can power any application. ; The Content Fragment is an instance of a Content Fragment Model that represents a logical. In this session, we will cover the following: Content services via exporter/servlets. . . A task that involved ground-breaking work with the deployment of AEM 6. Discover the Headless CMS capabilities in Adobe Experience Manager. Learn about the concepts and mechanics of authoring content for your Headless CMS using Content Fragments. A headless CMS remains with an interface to add content and a RESTful API (JSON, XML) to deliver content wherever you need it. Instead of continually planning for upgrades and monitoring site traffic. 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. This tutorial uses a simple native Android Mobile App to consume and display Event content exposed by AEM Content Services. e. In this part of the AEM Headless Developer Journey, learn about headless technology and why you would use it. Contentful is a pure headless CMS. Description. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities. Ten Reasons to Use Tagging. AEM Technical Foundations. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to use them on your project. of the application. Adobe Experience Manager headless CMS is the most flexible content management system that helps teams quickly build and deliver customer experiences across all channels and devices. Experience Manager as a Cloud Service provides a scalable, secure, and agile technology foundation for Experience Manager Sites and Assets, enabling marketers and IT to focus on delivering impactful experiences at scale. A collection of documentation journeys describing how to use Adobe Experience Manager as a Headless CMS. The best practice is a language-based structure with no more than 3 levels between the top-level authoring and country sites. Experience Fragments. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. AEM 6. This multi-part tutorial walks through the implementation of a React application for a fictitious lifestyle brand, the WKND. Headless Authoring Journey - Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to model your. e. With these operation the API lets you operate Adobe Experience Manager as a headless CMS (Content Management System) by providing Content Services to a. Deliver content to various channels and platforms, including websites, mobile apps, IoT devices, chatbots, and more. We’ll cover retrieving Content Fragment data from AEM’s GraphQL APIs and displaying it in the React app. This involves structuring, and creating, your content for headless content delivery. Developer. Learn how to use features like Content Models, Content Fragments, and a GraphQL API to power headless content delivery. Welcome to this tutorial chapter where we will explore configuring a React app to connect with Adobe Experience Manager (AEM) Headless APIs using the AEM Headless SDK. Documentation AEM 6. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to leverage them on your project. For other programming languages, see the section Building UI Tests in this document to set up the test project. 16. Learn more about developing your strategy within. This enablement is done in the Configuration Browser; under Tools > General > Configuration Browser. Content Models are structured representation of content. In this session, we will be joined by Thomas Reid from Australian retailer Big. It includes new asset upload module, API reference, and information about the support provided in post-processing workflows. When using AEM Headless Persisted Queries which access AEM over HTTP GET, a Referrer Filter. AEM Headless CMS Documentation. The different roles to enable the headless content. For example, define the field holding a teacher’s name as Text and their years of service as Number. An end-to-end tutorial illustrating how to build-out and expose content using AEM Headless. Live Webinar Date: Thursday, November 17, 2022 Live Webinar Time: 10:00 AM PT | 1:00 PM ET Organizations around the world rely on Adobe Experience Manager Headless CMS to delight their customers across every channel of interaction. Organize and structure content for your site or app. The GraphiQL tool enables developers to create and test queries against content on the current AEM environment. Unlike with traditional (or “monolith”) systems, the CMS is not directly responsible for powering the web front-end. Learn about headless technologies, what they bring to the user experience, how AEM supports headless models, and how to implement your own headless development project from A to Z. Learn how to use Content Fragments in Adobe Experience Manager (AEM) as a Cloud Service with the AEM GraphQL API for headless content delivery. This article builds on these so you understand how to model your content for your AEM headless. Tap in the Integrations tab. 5 Authoring Guide Experience Fragments. Learn about headless technologies, why they might be used in your project, and how to create. AEM as a Cloud Service GraphQL API used with Content Fragments is heavily based on the standard, open source GraphQL API. These are self-contained items of content that can be directly accessed by a range of applications, as they have a predefined structure, based on Content Fragment Models. 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. AEM 6. I'm looking for specific HTTP RESTful API documentation for AEM Assets headless-CMS. Next-generation Adobe Experience Manager enables any authorized team member to edit a brand’s web and mobile content using popular productivity tools including Microsoft Word and Google Docs Integration of AEM Assets with Adobe Firefly and Adobe Express enable marketers to instantly change image components such as colors, objects. If auth param is an array, expected data is ['user', 'pass'] pair, and Basic Authorization will be used. Adobe Experience Manager Sites is an industry-leading headless content management system (CMS), which makes it easy for your marketing and IT teams to create and deliver personalized content. A little bit of Google search got me to Assets HTTP API. Build a React JS app using GraphQL in a pure headless scenario. Get started with Adobe Experience Manager (AEM) and GraphQL. Documentation: Documenting headless applications can be challenging since there is no UI to provide context. It is a query language API. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to leverage them on your project. Persisted queries are queries that are stored on the Adobe Experience Manager (AEM) server. Workflow Best Practices. Organizing Tags - While tags organize content, hierarchical taxonomies/namespaces organize tags. Developer. Content fragment via asset API (demo) Content fragment via graphql (demo) Some real-time use cases around using content fragments and their approaches. The API lets you operate Adobe Experience Manager as a Cloud Service as a headless CMS (Content Management System) by providing Content Services to a JavaScript front-end application. Log into AEM as a Cloud Service and from the main menu select Tools > General > Configuration Browser. It illustrates how multiple features work together to solve a business need in a best practices fashion. There's been a lot of chatter lately about AEM as a headless CMS, so I thought I'd share a post with some helpful resources! Summary of AEM - 451730. “Adobe Experience Manager is at the core of our digital experiences. Understanding of the translation service you are using. See generated API Reference. You also learn how you can create editable SPAs using AEM’s SPA Editor framework, and integrate external SPAs, enabling editing capabilities as required. Documentation Community Advertising Cloud Analytics Audience Manager Campaign Classic v7 & Campaign v8 Campaign Standard Experience Cloud Experience Manager Sites & More Experience Platform I/O Cloud Extensibility Journey Optimizer Target Creative Cloud Document Cloud Commerce Marketo Engage WorkfrontAn 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. Tutorial - Getting Started with AEM Headless and GraphQL. Headless implementations enable delivery of experiences across platforms and channels at scale. The AEM SDK is used to build and deploy custom code. Last update: 2023-08-31. AEM Headless CMS – GraphQL by Mujafar Shaik Abstract Hello everyone, Today I came with an exciting topic, AEM Headless CMS with GraphQL. Created for: Beginner. In addition to offering robust tools to create, manage, and deliver traditional webpages in the full-stack fashion, AEM also offers the ability to author self-contained selections of content and serve them headlessly. Documentation: Documenting headless applications can be challenging since there is no UI to provide context. With Headless Adaptive Forms, you can streamline the process of building. This means your content can reach a wide range of devices, in a wide range of formats and with a. Documentation. 16. Then Getting Started with AEM Headless as a Cloud Service described AEM Headless in the context of your own project. It's a back-end-only solution that. You can either select to configure the global entry, or create a configuration. A collection of documentation journeys describing how to use Adobe Experience Manager as a Headless CMS. Body is where the content is stored and head is where it is presented. On this page. Open the Program containing the AEM as a Cloud Service environment to integrate set up the Service Credentials for. For instance, a customer might want to migrate a particular page with high traffic to Edge Delivery Services, while all other pages might remain on. In Headless CMS the body remains constant i. Headless CMS in AEM 6. Learn key concepts for creating content and authoring in AEM. Documentation Journeys are designed around best practices principles, informed by Adobe’s latest research, proven implementation experience from Adobe consultants, and. If auth is not defined, Authorization header will not be set. With Headless Adaptive Forms, you can streamline the process of. Documentation home. While we were hearing a lot about new publishing concept called ‘ headless CMS’, Adobe/AEM introduced Content Fragments and Experience Fragments to fulfil the needs of the headless. Experience Fragments. AEM as a Cloud Service and AEM 6. Experience Manager helps companies regain control over their digital content, which is often spread across numerous sites, channels, and apps — by providing much-needed structure for. Tutorial Set up. AEM 6. From a traditional point of view there’s a site, screens, and a SPA editor, which gives the author in-context end-to-end control of what the end user is going to see. 0 to AEM 6. This document provides an overview of the different models and describes the levels of SPA integration. Before building the headless component, let’s first build a simple React countdown and. The Content author and other. Last update: 2023-09-26. The latest version of AEM and AEM WCM Core Components is always recommended. This user guide contains videos and tutorials helping you maximize your value from AEM. Content Services: Expose user defined content through an API in JSON format. Courses Recommended courses Recommended coursesReact has three advanced patterns to build highly-reusable functional components. Welcome to the documentation for developers who are new to Adobe Experience Manager headless CMS! Learn about the powerful and flexible headless features, their capabilities, and how to use them on your first headless development project. . Adobe Experience Manager (AEM) Gems is a series of technical deep dives into Adobe Experience Manager delivered by Adobe experts. In this optional continuation of the AEM Headless Developer Journey, you learn how Adobe Experience Manager (AEM) can combine headless delivery with traditional full-stack CMS features and how you can create editable SPAs using AEM’s SPA Editor framework, and integrate external SPAs, enabling editing capabilities as required. Wow your customers with AEM Headless – A discussion with Big W. Tutorials by framework. For more detail on ContextHub, see the developer documentation. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to use them on your project. Learn the basic of modeling content for your Headless CMS using Content Fragments. Adaptive Forms Core Components. After reading you should: Understand. 5 Developing Guide Responsive design for web pages. AEM Headless Translation Journey - This documentation journey gives you a broad understanding of headless technology, how AEM serves headless content, and how you can translate it. A journey illustrates how multiple features work together to serve a single business need. Adobe Experience Manager helps you create next-generation digital experiences for your users and it keeps getting better with new features and developer capabilities to meet your needs. 5. AEM Technical Foundations. Support enterprise governance and globalisation needs with a cloud-native architecture that’s always current, providing fast deployment cycles, auto-scaling and a self-healing infrastructure. GraphiQL is included in all environments of AEM (but will only be accessible/visible when you configure your endpoints). This document helps you understand headless content delivery, how AEM supports. But, this doesn't list the complete capabilities of the CMS via the documentation. This end-to-end tutorial continues the basic tutorial that covered the fundamentals of Adobe Experience Manager (AEM) Headless and GraphQL. This does not mean that you don’t want or need a head (presentation), it’s that. What is a traditional CMS? This is likely the one you are familiar with. Adobe Experience Manager as a Cloud Service. Adobe Experience Manager (AEM) Sites is a leading experience management platform. Topics: Content Fragments. I'm looking for specific HTTP RESTful API documentation for AEM Assets headless-CMS. Adobe’s visual style for cloud UIs, designed to provide consistency. A React application is provided that demonstrates how to query content using the GraphQL APIs of AEM. AEM as a Cloud Service and AEM 6. Understand Headless in AEM; Learn about CMS Headless Development; Getting Started with AEM Headless as a Cloud Service; Path to your first experience. API. A collection of documentation journeys describing how to use Adobe Experience Manager as a Headless CMS. Experience Manager helps companies regain control over their digital content, which is often spread across numerous sites, channels, and apps — by providing much-needed structure for content management. Storyblok is an enterprise-level Headless Content Management System with the Visual Editor. Design Model Advantages Disadvantages; AEM is used as a headless CMS without using the SPA Editor SDK framework. Last update: 2023-08-31. Explore tutorials by API, framework and example applications. Wow your customers with AEM Headless – A discussion with Big W. e. Bootstrap the SPA. Created for: Beginner. Learn how to create a SPA using the React JS framework with AEM's SPA Editor. The new architecture supporting AEM as a Cloud Service involves some key changes to the overall developer experience. Efficiently manage and scale documentation, support content creation, and publish faster with a. We can show you what AEM can do in regards to content. The current implementation of the Assets HTTP API is based on the REST architectural style and enables you to access content (stored in AEM) via CRUD operations (Create, Read, Update, Delete). Developer. granite. AEM Headless Developer Journey - Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities,. I'm looking for specific HTTP RESTful API documentation for AEM Assets headless-CMS. 0 or later. AEM Headless Developer Journey - Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to use them on your first development project. Session Details. Deploying a SPA that interacts AEM in a headless manner involves hosting the SPA and making it accessible via a web. 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. AEM offers the flexibility to exploit the advantages of both models in one project. 4. . Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to leverage them on your project. Watch overview Explore the power of a headless CMS with a free, hands-on trial. There are many more resources where you can dive deeper for a. If you are new to either AEM or headless, see Adobe’s Headless Documentation Journeys for an end-to-end introduction to both headless and how AEM supports it. 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. Please go through below article to read about our experience in using AEM as a Headless CMS - 566187AEM 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. ” Tutorial - Getting Started with AEM Headless and GraphQL. The Story So Far. while assuming minimal prior topic or AEM knowledge. But, this doesn't list the complete capabilities of the CMS via the documentation. 5. Documentation AEM 6. Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to leverage them on your first headless development project. Tutorial - Getting Started with AEM Headless and GraphQL. A headless CMS is therefore responsible for the (backend) content management services, together with the mechanisms allowing the (frontend) applications to access that content. Adobe Experience Manager as a Headless CMS - Where/When/Why?In this session, you'll learn how to implement headless CMS via Adobe Experience Manager in many ways. The site creation wizard starts. 5 The headless CMS extension for AEM was introduced with version 6. 0 or later Forms author instance. For AEM SPA Editor to integrate a SPA into it’s authoring context, a few additions must be made to the SPA. Headless and AEM; Headless Journeys. Implementing Applications for AEM as a Cloud Service; Using. Authors want to use AEM only for authoring but not for. What you need is a way to target specific content, select what you need and return it to your app for further processing. Tutorial Set up. The benefit of this approach is cacheability. Community. A collection of documentation journeys describing how to use Adobe Experience Manager as a Headless CMS. The GraphiQL tool also enables users to persist or save queries to be used by client applications in a production setting. Contributing. AEM Headless Content Author Journey - Overview; Authoring for Headless with AEM - An Introduction; Authoring Basics for Headless with AEM; Learn about using references in Content Fragments; Learn about defining Metadata and Tagging for Content Fragments; Implementing. Be familiar with how AEM supports headless and translation. Headless content management is a key development for today’s web design that decouples the frontend, client-side applications from the backend, content management system. AEM Forms Headless Adaptive Forms provide a fast and efficient way to create forms for various platforms including Headless or Headful CMS, React applications, Single Page Applications (SPA), Web Apps, Mobile apps, Amazon Alexa, Google Assistant, WhatsApp, and more. Developer; Content Architect; Content Author; Developer: The developer performs most of the technical configurations to enable Content Architect. I'm looking for specific HTTP RESTful API documentation for AEM Assets headless-CMS. An introduction to the headless features of Adobe Experience Manager, and how to author content for your project. Tutorials by framework. After selecting this you navigate to the location for your model and select Create. A little bit of Google search got me to Assets HTTP API. CORSPolicyImpl~appname-graphql. Rather than delivering HTML or formatted content directly, a headless CMS decouples content from presentation, enabling content to be used by a variety of front-end technologies. One of the major goals for AEM as a Cloud Service is to allow experienced customers (having used AEM either on-premise or in the context of the Adobe Managed Services) to migrate to AEM as a Cloud Service as. When your reader is online, your targeting engine will review the. This session dedicated to the query builder is useful for an overview and use of the tool. Provide a Title and a Name for your configuration. Community. Create Content Fragments based on the. Headless Developer Journey; Headless Content Architect Journey; Headless Content Author. Length: 34 min. Content Fragments: Allows the user to add and. 3. Wow your customers with AEM Headless – A discussion with Big W. For cases that need customization (for example, when customizing the cache) you can use the API; see the cURL example provided in How to persist a GraphQL query. Resource Description Type Audience Est. Since the cloud service auto-scales within seconds, and new features are added continuously, this frees up significant IT resources. For headless, your content can be authored as Content Fragments. While client-side GraphQL queries can also be executed using HTTP POST requests, which cannot be cached, persisted queries can be cached. Community. This exceptional AEM GEMs session features two speakers who are operating AEM as customers. I'd like to know if anyone has links/could point me in the direction to get more information on the following - Translating Headless Content in AEM. Get AEM Cloud Services support guides and learn more about getting started or finding a solution. A collection of documentation journeys describing how to use Adobe Experience Manager as a Headless CMS. 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. A Headless Content Management System (CMS) is a back-end only content management system, designed and built explicitly as a content repository that makes content accessible via an API, for display on any device. Adobe Experience Manager (AEM) provides several APIs for developing applications and extending AEM. This journey provides you with all the information you need to develop. With Adobe Experience Manager (AEM) as a Cloud Service, Content Fragments lets you design, create, curate, and publish page-independent content. Navigate to Navigation -> Assets -> Files. Remember that headless content in AEM is stored as assets known as Content Fragments. json to be more correct) and AEM will return all the content for the request page. Search for. The two only interact through API calls. 5 Authoring Guide Experience Fragments. Be aware of AEM’s headless integration levels. In this part of the AEM Headless Content Author Journey, you can learn the (basic) concepts and terminology necessary to understand authoring content when using Adobe Experience Manager (AEM) as a Cloud Service as a Headless CMS. AEM as a Cloud Service GraphQL API used with Content Fragments is heavily based on the standard, open source GraphQL API. Experience Cloud release notes. The use of Android is largely unimportant, and the consuming mobile app. It is not intended as a getting-started guide. AEM Headless Developer Journey - Start here for a guided journey through the powerful and flexible headless features of AEM, their capabilities, and how to use. In a typical development cycle, you start with creating and hosting Headless adaptive forms on Adobe Experience Manager Forms Server. All 3rd party applications can consume this data. I'm looking for specific HTTP RESTful API documentation for AEM Assets headless-CMS. Configure the ContextHub toolbar to control whether it appears in Preview mode, to create ContextHub stores, and add UI modules. In terms of. The AEM SDK. Develop Adobe Experience Manager (AEM). Meet our community of customer advocates. We can show you what AEM can do in regards to content delivery — and in which case headless is recommended. As a CMS Adobe AEM specialist, I was asked to lead the CMS team and guide them throughout a migration from AEM 6. If auth param is an array, expected data is ['user', 'pass'] pair, and Basic Authorization will be used. In this part of the AEM Headless Developer Journey, learn how to use the REST API to access and update the content of your Content Fragments. Product abstractions such as pages, assets, workflows, etc. Be aware of AEM’s headless integration levels. 0+ version supports GraphQL API to expose the Content Fragment to enable the headless content experience. Authorization. A primary use case for The Adobe Experience Manager as a Cloud Service (AEM) GraphQL API for Content Fragment Delivery is to accept remote queries from third-party applications or services. Deeply Organized Tags - With the ability to create tags and sub-tags it becomes possible to. Last update: 2023-08-16.