View Categories

Archive & History Management

7 min read

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
  • 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:

  • 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
  • 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:

  • 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 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:

  • 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
  • Archive View Features:

  • 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
  • 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:

  • 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
  • Task Archive Relationships:

    Based on code analysis, the system includes specific archive relationships:

    Column Archive Relationships:

  • 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
  • Board Archive Integration:

  • 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
  • Task Archive Interface #

    Archive Access Methods:

  • 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
  • Archive Task Features:

  • 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

  • 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:

  • 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
  • Board Restoration:

  • 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
  • Task 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
  • Column Restoration:

  • 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
  • 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:

  • 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
  • Data Retention Features:

  • 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
  • Archive Data Structure #

    Database Implementation:

  • 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
  • Archive Query Methods:

    Based on code analysis:

  • onlyTrashed() – Access only archived items
  • withTrashed() – Include both active and archived items
  • Archive Relationships – Dedicated methods like tasksArchive(), columnsArchive()
  • 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:

  • 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
  • Board Management:

  • 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

  • Troubleshooting Archive Issues #

    Common Problems #

    Cannot Access Archives:

  • 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
  • Restoration Not Working:

  • 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
  • Missing Archived Data:

  • 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

  • Next Steps #

    Now that you understand archive and history management, you’re ready to explore:

  • [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

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.