All SDKs unable to expire FTM content
Problem Statement
Content expiration via the Future Time Machine is only possible in traditional mode. The good news is content scheduling does appear to work in all five SDK libraries (Next.js, Angular, Astro, Laravel, Symfony), but without expiration, we're only implementing half of the FTM in headless examples.
Steps to Reproduce
- Configure UVE to work with any of the five current SDK library example projects — Next.js, Angular, Astro, Laravel, or Symfony.
- Set demo-site banner to expire in a week.
- Add a new contentlet to the banner container, scheduled to appear when the original expires.
- Go to Published mode and use the date picker to jump to the scheduled date.
- See BOTH banners present, where the old one should have disappeared.
- Switch to the other SDKs, see same.
- If you delete the UVE config, you will note traditional mode behaves properly.
Example screenshots below.
Acceptance Criteria
All SDK libraries/examples should expire content properly.
dotCMS Version
25.06.05-1, 25.06.03-1, and probably all the others.
Proposed Objective
Core Features
Proposed Priority
Priority 2 - Important
External Links... Slack Conversations, Support Tickets, Figma Designs, etc.
Here's a video which contains an illustration. https://dotcms.slack.com/archives/CSHTYUR7H/p1749414591572679?thread_ts=1748029281.346769&cid=CSHTYUR7H
Here are some screenshots. First is traditional mode, behaving properly.
Note the date picker dates:
- Current date, June 10, displays original banner
- June 16 displays new one.
Similarly, see date on all the headless examples showing both banners: