[SPIKE]🌵 Multi-Version Content Scheduling in dotCMS
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
[!WARNING]
TIMEBOX TO 1H
[!NOTE]
This ticket comes from customer feedback that when we were demoing Future Time Machine, he asked exactly how he can publish multiple pieces of content with multiple dates and just schedule multiple content at once.
Problem Statement
Currently, dotCMS lacks the ability to manage multiple active versions of content efficiently. Users must create multiple copies of the same content, each with its own publication and expiration dates, to simulate versioning over time. This approach is error-prone, inefficient, and limits users' ability to manage their content lifecycle effectively.
Objectives
- Implement a robust versioning and scheduling system.
- Provide clear UI options for managing and selecting content versions.
- Ensure seamless API integration for fetching content by versions.
User Story
As a content editor, I want to schedule multiple versions of a single content piece to be published at different times, so that I can efficiently manage my content calendar without manual workarounds.
For example I have a banner with a text input:
1/12/25 the title is: "Welcome to the new year"
1/19/25 the title is: "Are you ready for summer?"
1/26/25 the title is: "Get that push on?"
So is the same contentlet with different content that it will be publish at specific date, that means that we need to have more that just working and live.
What we need to support
- System allows scheduling multiple versions of the same content.
- Users can preview content as it will appear on future dates.
- API exists to fetch content by specific versions and dates.
- System gracefully handles overlapping versions and provides resolution options.
```[tasklist]
Answer this questions
- Does this take 1 week, 1 month, 3 months or 1 year?
- What is the blast radious?
- Does this required frontend, backend or both?
- How it works with upgrades? do we need migration tasks?
\`
External Links
[Add relevant external links here]
Technical Details
- Implement changes compatible with the latest dotCMS version and provide API backward compatibility.
Potential Challenges
- Handling of overlapping content versions and scheduling conflicts.
- Ensuring the feature is intuitive and aligns with existing workflows.
Impact on Existing Features
- Review and possibly revise current content publishing workflows to accommodate multiple active versions.
Task Complexity: 4
- Significant modifications to the backend and UI. New APIs for fetching content by version, extensive testing required to ensure reliability and performance.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing the existing content publishing workflows and API/UI boundaries, then use the problem statement and checklist to define the scope, upgrade and migration impact, frontend/backend ownership, and resolution of overlapping schedules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, content, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100