EPIC: Export - Create ExportContentletProcessor reusing existing export logic
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Parent Issue
https://github.com/dotCMS/core/issues/29575
Task
We need to create a new ExportContentletProcessor that reuses the existing export logic from com.dotmarketing.portlets.contentlet.action.EditContentletAction while maintaining the current struts export functionality. This requires careful refactoring to ensure both the new job-based export and the existing export action work consistently. The processor should handle file storage, generate download links, and notify users upon completion.
Objectives
- Extract and centralize export logic from EditContentletAction
- Create new ExportContentletProcessor implementing job-based export
- Maintain backward compatibility with existing struct export functionality
- Ensure consistent export behavior across both implementations
- Implement secure file storage and download mechanism
- Integrate with dotCMS notification system
Technical Requirements
Code Refactoring
- Extract export logic from
EditContentletActioninto a shared service/utility - Ensure the extracted logic handles all current export scenarios
- Maintain all existing export configurations and options
New Processor Implementation
- Create
ExportContentletProcessorclass - Integrate shared export logic
- Add proper error handling and validation
- Implement progress tracking
- Add cancellation support
- Implement file storage mechanism
- Generate secure download links
- Integrate with notification system
Proposed Objective
Core Features
Proposed Priority
Priority 2 - Important
```[tasklist]
Tasks
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
Start with com.dotmarketing.portlets.contentlet.action.EditContentletAction and review the linked child issues 30834, 30837, 30836, 30835, and 30838-30839. Map the existing export behavior before assessing the ExportContentletProcessor work. Done means the shared logic supports both job-based and Struts exports, including storage, download links, progress, cancellation, errors, and notifications.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100