Open jgambarios opened 3 weeks ago
Error Handling: Since we aim for a fail-continue option, what is our plan for error handling?
Authorization: Can we confirm this alignment with our current permissions model?
Job Cleanup Policies: Cleanup was noted, but can we specify how this will be managed?
Notifications Integration: How do we plan to integrate system notifications for job completions or status updates?
Download Link Expiry: Will the generated download links for completed jobs have an expiration policy? If so, could we detail how this will be managed?
@fmontes
Error Handling: The error handling including the use of the "fail-continue" option will be handled in https://github.com/dotCMS/core/issues/30557, this new rest endpoint will just pass the options to the job and respond with the information generated by the new ExportContentletProcessor
.
Authorization: The user will be able to export only contents he has access to, the user requesting the export will be passed to the job in order to execute all the required logic with that user allowing us to use the permissions infrastructure.
Job Cleanup Policies: As we are generating files for download, we should have a process, based on some configurable retention policy, where we delete "old" exports.
Notifications Integration: The new job infrastructure already handles status updates, we can monitor any status change, and, on completion, we should use dotCMS system notifications to notify the user, in the admin UI, the export finished and if finished successfully, including the download link.
Download Link Expiry: We should have a configurable retention policy (time) that will be use, by a cleanup process, to delete "expired" exports.
Parent Issue
https://github.com/dotCMS/core/issues/29575
Task
We need to create REST endpoints to interact with the new
ExportContentletProcessor
to manage content export operations through the job queue system.Objectives
REST Endpoints Specification
Create Export Job
List Export Jobs
Get Job Status
Cancel Job
Monitor Job
Get Export File
Technical Requirements
Export Features:
Job Queue Implementation:
Error Handling:
Acceptance Criteria
Proposed Objective
Core Features
Proposed Priority
Priority 2 - Important