- Overview
- Project Archives - Archiving Completed Projects
- Board Archives - Archiving Old Boards While Preserving Data
- Task Archives - Completed and Archived Task Management
- Restoration Process - Bringing Back Archived Items
- Data Retention - How Archived Data is Retained and Managed
- Getting Started with Archive Management
- Troubleshooting Archive Issues
- Next Steps
Overview #
Corcava’s archive and history management system uses Laravel’s SoftDeletes functionality to provide comprehensive archiving and restoration capabilities for projects, boards, columns, and tasks. This system ensures that no work is ever permanently lost while maintaining clean, organized active workspaces.
Based on thorough code analysis, the archive system provides complete data preservation with the ability to restore archived items when needed.
Project Archives – Archiving Completed Projects #
Project Archiving System #
How Project Archiving Works:
Projects use Laravel’s SoftDeletes trait, which means “deleted” projects are actually archived and can be restored.
Project Archive Features:
- Soft Delete Implementation – Projects marked as deleted but data preserved
- Archive View – Dedicated interface for viewing archived projects
- Search in Archives – Search functionality works within archived projects
- Permission-Based Access – Archive access follows same permissions as active projects
- Client Relationship Preservation – Client associations maintained in archives
- Dedicated Archive Page – `/project/archive` route for archived projects
- Search Functionality – Search archived projects by name
- Pagination – Archived projects properly paginated for performance
- Client Information – Archived projects show associated client information
- Permission Respect – Users see only archived projects they have access to
- Individual Board Archiving – Archive specific boards while keeping project active
- Task Preservation – All tasks within archived boards are preserved
- Column Structure – Board column structure maintained in archives
- Activity History – Complete board activity history preserved
- User Filtering – Archive views support user-based filtering
- Board Archive List – `/archive/project-board` for archived board overview
- Individual Board Archives – `/archive/project-board/{boardId}` for specific archived boards
- Task Archive View – `/project-board/{boardId}/archive` for archived tasks within board
- Single Task Archives – Direct access to individual archived tasks
- Column Structure Preserved – Archived boards maintain their column layout
- Task Relationships – Archived tasks maintain all relationships and data
- User Filtering – Filter archived tasks by assigned users
- Time Tracking Data – All time tracking information preserved in archives
- Activity History – Complete event history accessible in archived tasks
- Automatic Column Archiving – When columns are archived, tasks automatically archived
- Manual Task Archiving – Individual tasks can be archived through delete operations
- Relationship Preservation – All task relationships (users, attachments, events) preserved
- Archive-Specific Queries – Dedicated methods for accessing archived tasks
- Time Tracking Preservation – All time intervals and tracking data maintained
- tasksArchive() – Dedicated relationship for archived tasks in columns
- onlyTrashed() – Query modifier to access only archived tasks
- Archive Ordering – Archived tasks maintain their order within columns
- columnsArchive.tasksArchive – Nested relationship for archived board structure
- Complete Hierarchy – Full board → column → task archive structure preserved
- User Assignment Preservation – Task user assignments maintained in archives
- Board Archive View – See archived tasks within archived board structure
- Task Archive Navigation – Direct access to specific archived tasks
- Single Task Archives – Individual archived task viewing with full details
- User Filtering – Filter archived tasks by assigned team members
- Complete Task Data – All task information preserved (name, description, dates, etc.)
- Attachment Preservation – All file attachments maintained and accessible
- Comment History – Complete comment and discussion history preserved
- Activity Timeline – Full event history and activity tracking maintained
- Time Tracking Data – All tracked time intervals preserved with task
- Route – `/project/restore/{project}` with withTrashed() modifier
- Permission Check – Requires project.viewAny permission
- Full Restoration – Complete project restoration with all related data
- Success Feedback – Clear success/error messages for restoration attempts
- Route – `/restore/project-board/{projectBoard}` with withTrashed() modifier
- Permission Check – Requires task.viewAny permission
- Board Data Restoration – Complete board structure and task restoration
- Navigation – Automatic redirect to board index after restoration
- Route – `/task/restore/{task}` with withTrashed() modifier
- Permission Check – Requires task.update permission
- Individual Restoration – Restore specific tasks without affecting others
- Relationship Integrity – All task relationships restored correctly
- Automatic Task Restoration – When columns are restored, tasks automatically restored
- Observer Integration – ProjectBoardColumnObserver handles automatic task restoration
- Relationship Cascade – Column restoration triggers related task restoration
- Projects – Complete project archiving with all related data
- ProjectBoards – Board-level archiving with task preservation
- ProjectBoardColumns – Column archiving with automatic task handling
- Tasks – Individual task archiving with complete data preservation
- TaskEvents – Event history preserved even when tasks archived
- Indefinite Retention – No automatic deletion of archived data
- Complete Relationships – All relationships preserved in archived state
- Query Isolation – Archived items don’t appear in normal queries
- Archive-Specific Access – Special queries and routes for archive access
- deleted_at Timestamp – Standard SoftDeletes timestamp field
- Relationship Preservation – Foreign keys and relationships maintained
- Query Modifiers – onlyTrashed(), withTrashed() for archive access
- Observer Integration – Automatic handling of related data during archiving
- onlyTrashed() – Access only archived items
- withTrashed() – Include both active and archived items
- Archive Relationships – Dedicated methods like tasksArchive(), columnsArchive()
- Project Completion – Archive entire projects when all work is complete
- Client Relationship End – Archive projects when client relationships end
- Seasonal Work – Archive seasonal projects during off-seasons
- Historical Reference – Keep archives for historical and compliance purposes
- Workflow Changes – Archive boards when workflows change significantly
- Phase Completion – Archive boards when project phases complete
- Team Reorganization – Archive boards during team structure changes
- Performance Optimization – Archive old boards to improve active board performance
- Permission Issues – Verify you have appropriate permissions for archive access
- Team Context – Ensure you’re looking in correct team’s archives
- Navigation Issues – Use proper archive routes and navigation
- Browser Issues – Try refreshing page or clearing browser cache
- Permission Check – Verify you have restoration permissions
- Item State – Ensure item is actually archived (in deleted state)
- Relationship Issues – Check for any relationship conflicts preventing restoration
- Browser Problems – Try refreshing page or using different browser
- Archive Location – Check appropriate archive section for missing items
- Permission Scope – Verify you have access to see the archived items
- Search Functionality – Use archive search to locate specific items
- Data Integrity – Contact support if archived data appears to be missing
- [Permissions & Access Control](permissions-access.md) – Detailed permission system management
- [Mobile & Responsive Features](mobile-responsive.md) – Mobile interface and touch interactions
- [Reporting & Analytics](reporting-analytics.md) – Project performance and team productivity metrics
- [Best Practices & Workflows](best-practices.md) – Recommended project management approaches
Project Archive Process:
1. Delete Project – Use standard delete operation (actually archives) 2. Automatic Archiving – Project moved to archived state with timestamp 3. Data Preservation – All project data, relationships, and history preserved 4. Archive Access – Access archived projects through dedicated archive view 5. Restoration Available – Archived projects can be restored to active status
Project Archive Interface #
Archive View Features:
Project Archive Benefits:
✅ Data Preservation – Complete project history maintained indefinitely ✅ Clean Organization – Active project lists remain focused and manageable ✅ Easy Restoration – Archived projects can be restored with all data intact ✅ Historical Reference – Access to complete project records for future reference
Board Archives – Archiving Old Boards While Preserving Data #
Board Archiving System #
Board Archive Implementation:
Project boards also use SoftDeletes for comprehensive archiving functionality.
Board Archive Features:
Board Archive Process:
1. Archive Board – Delete board through standard interface (soft delete) 2. Automatic Task Handling – All board tasks automatically archived 3. Column Preservation – Board columns archived with their relationships 4. Data Integrity – All board data and relationships maintained 5. Archive Interface – Access through dedicated board archive views
Board Archive Interface #
Archive Navigation:
Archive View Features:
Board Archive Benefits #
✅ Selective Archiving – Archive individual boards without affecting entire project ✅ Complete Data Preservation – All board structure and task data maintained ✅ Flexible Access – Multiple ways to access and navigate archived board data ✅ Team Coordination – Archived boards remain accessible to authorized team members
Task Archives – Completed and Archived Task Management #
Task Archiving System #
Task Archive Implementation:
Tasks use SoftDeletes with sophisticated archive relationships and interfaces.
Task Archive Features:
Task Archive Relationships:
Based on code analysis, the system includes specific archive relationships:
Column Archive Relationships:
Board Archive Integration:
Task Archive Interface #
Archive Access Methods:
Archive Task Features:
Restoration Process – Bringing Back Archived Items #
Restoration Implementation #
How Restoration Works:
The system provides comprehensive restoration functionality using Laravel’s SoftDeletes restore() method.
Restoration Capabilities:
Project Restoration:
Board Restoration:
Task Restoration:
Column Restoration:
Restoration Process Benefits #
✅ Complete Data Recovery – All archived data restored with full integrity ✅ Relationship Preservation – All connections and relationships restored correctly ✅ Permission Respect – Restoration follows same permission system as other operations ✅ User Feedback – Clear success/error messages for restoration operations ✅ Automatic Navigation – Appropriate redirects after successful restoration
Data Retention – How Archived Data is Retained and Managed #
Data Preservation Strategy #
SoftDeletes Implementation:
The system uses Laravel’s SoftDeletes trait across all major entities:
Entities with SoftDeletes:
Data Retention Features:
Archive Data Structure #
Database Implementation:
Archive Query Methods:
Based on code analysis:
Data Retention Benefits #
✅ Permanent Preservation – Archived data never automatically deleted ✅ Complete History – Full project lifecycle documentation maintained ✅ Relationship Integrity – All connections between archived items preserved ✅ Performance Optimization – Archived items don’t slow down active queries ✅ Compliance Support – Meet data retention requirements for audits and compliance
Getting Started with Archive Management #
Quick Start Guide #
Step 1: Archive a Project
1. Navigate to Projects list 2. Find project you want to archive 3. Use delete operation (this archives the project) 4. Verify project disappears from active list 5. Check project archive to confirm archiving
Step 2: Access Archived Items
1. Navigate to appropriate archive section (projects, boards, etc.) 2. Browse archived items using archive interface 3. Use search functionality to find specific archived items 4. Click on archived items to view full details 5. Notice all data and relationships are preserved
Step 3: Restore Archived Item
1. Find archived item you want to restore 2. Use restore function/button 3. Verify successful restoration message 4. Check that item returns to active lists 5. Confirm all data and relationships restored correctly
Archive Management Best Practices #
✅ Regular Archiving – Archive completed projects and boards to maintain clean organization ✅ Strategic Archiving – Archive items when truly complete, not just inactive ✅ Access Planning – Understand who needs access to archived data ✅ Restoration Testing – Periodically test restoration process to ensure it works ✅ Documentation – Document why items were archived for future reference
Common Archive Patterns #
Project Lifecycle:
Board Management:
Troubleshooting Archive Issues #
Common Problems #
Cannot Access Archives:
Restoration Not Working:
Missing Archived Data:
Next Steps #
Now that you understand archive and history management, you’re ready to explore:
Remember: The archive system in Corcava is designed to preserve all your work permanently while keeping active workspaces clean and organized. Understanding how to effectively use archiving and restoration will help you maintain both current productivity and historical accountability.