Gestión de Archivos e Historial
Resumen
El sistema de gestión de archivos e historial de Corcava utiliza la funcionalidad SoftDeletes de Laravel para proporcionar capacidades integrales de archivado y restauración para proyectos, tableros, columnas y tareas. Este sistema garantiza que ningún trabajo se pierda permanentemente mientras mantiene espacios de trabajo activos limpios y organizados.
Basado en un análisis exhaustivo del código, el sistema de archivos proporciona preservación completa de datos con la capacidad de restaurar elementos archivados cuando sea necesario.
Archivos de Proyectos - Archivando Proyectos Completados
Sistema de Archivado de Proyectos
Cómo Funciona el Archivado de Proyectos: Los proyectos utilizan el trait SoftDeletes de Laravel, lo que significa que los proyectos "eliminados" en realidad están archivados y pueden ser restaurados.
Características del Archivo de Proyectos:
- Implementación de Eliminación Suave - Proyectos marcados como eliminados pero datos preservados
- Vista de Archivo - Interfaz dedicada para ver proyectos archivados
- Búsqueda en Archivos - La funcionalidad de búsqueda funciona dentro de proyectos archivados
- Acceso Basado en Permisos - El acceso a archivos sigue los mismos permisos que los proyectos activos
- Preservación de Relación con Cliente - Las asociaciones de clientes se mantienen en los archivos
Proceso de Archivado de Proyectos:
- Eliminar Proyecto - Usar operación de eliminación estándar (en realidad archiva)
- Archivado Automático - Proyecto movido a estado archivado con marca de tiempo
- Preservación de Datos - Todos los datos del proyecto, relaciones e historial preservados
- Acceso a Archivos - Acceder a proyectos archivados a través de vista de archivo dedicada
- Restauración Disponible - Los proyectos archivados pueden ser restaurados a estado activo
Interfaz de Archivo de Proyectos
Características de la Vista de Archivo:
- Página de Archivo Dedicada - Ruta
/project/archivepara proyectos archivados - Funcionalidad de Búsqueda - Buscar proyectos archivados por nombre
- Paginación - Proyectos archivados correctamente paginados para rendimiento
- Información del Cliente - Los proyectos archivados muestran información del cliente asociado
- Respeto de Permisos - Los usuarios ven solo proyectos archivados a los que tienen acceso
Beneficios del Archivo de Proyectos: ✅ Preservación de Datos - Historial completo del proyecto mantenido indefinidamente
✅ Organización Limpia - Las listas de proyectos activos permanecen enfocadas y manejables
✅ Restauración Fácil - Los proyectos archivados pueden ser restaurados con todos los datos intactos
✅ Referencia Histórica - Acceso a registros completos del proyecto para referencia futura
Archivos de Tableros - Archivando Tableros Antiguos Mientras se Preservan Datos
Sistema de Archivado de Tableros
Implementación del Archivo de Tableros: Los tableros de proyectos también utilizan SoftDeletes para funcionalidad integral de archivado.
Características del Archivo de Tableros:
- Archivado Individual de Tableros - Archivar tableros específicos manteniendo el proyecto activo
- Preservación de Tareas - Todas las tareas dentro de tableros archivados se preservan
- Estructura de Columnas - La estructura de columnas del tablero se mantiene en los archivos
- Historial de Actividad - Historial completo de actividad del tablero preservado
- Filtrado por Usuario - Las vistas de archivo soportan filtrado basado en usuarios
Proceso de Archivado de Tableros:
- Archivar Tablero - Eliminar tablero a través de interfaz estándar (eliminación suave)
- Manejo Automático de Tareas - Todas las tareas del tablero se archivan automáticamente
- Preservación de Columnas - Las columnas del tablero se archivan con sus relaciones
- Integridad de Datos - Todos los datos y relaciones del tablero se mantienen
- Interfaz de Archivo - Acceso a través de vistas de archivo de tablero dedicadas
Interfaz de Archivo de Tableros
Navegación de Archivo:
- Lista de Archivos de Tableros -
/archive/project-boardpara vista general de tableros archivados - Archivos de Tableros Individuales -
/archive/project-board/{boardId}para tableros archivados específicos - Vista de Archivo de Tareas -
/project-board/{boardId}/archivepara tareas archivadas dentro del tablero - Archivos de Tareas Individuales - Acceso directo a tareas archivadas individuales
Características de la Vista de Archivo:
- Estructura de Columnas Preservada - Los tableros archivados mantienen su diseño de columnas
- Relaciones de Tareas - Las tareas archivadas mantienen todas las relaciones y datos
- Filtrado por Usuario - Filtrar tareas archivadas por usuarios asignados
- Datos de Seguimiento de Tiempo - Toda la información de seguimiento de tiempo preservada en archivos
- Historial de Actividad - Historial completo de eventos accesible en tareas archivadas
Beneficios del Archivo de Tableros
✅ Archivado Selectivo - Archivar tableros individuales sin afectar todo el proyecto
✅ Preservación Completa de Datos - Toda la estructura del tablero y datos de tareas mantenidos
✅ Acceso Flexible - Múltiples formas de acceder y navegar datos de tableros archivados
✅ Coordinación del Equipo - Los tableros archivados permanecen accesibles para miembros autorizados del equipo
Archivos de Tareas - Gestión de Tareas Completadas y Archivadas
Sistema de Archivado de Tareas
Implementación del Archivo de Tareas: Las tareas utilizan SoftDeletes con relaciones e interfaces de archivo sofisticadas.
Características del Archivo de Tareas:
- Archivado Automático de Columnas - Cuando se archivan columnas, las tareas se archivan automáticamente
- Archivado Manual de Tareas - Las tareas individuales pueden ser archivadas a través de operaciones de eliminación
- Preservación de Relaciones - Todas las relaciones de tareas (usuarios, adjuntos, eventos) preservadas
- Consultas Específicas de Archivo - Métodos dedicados para acceder a tareas archivadas
- Preservación de Seguimiento de Tiempo - Todos los intervalos de tiempo y datos de seguimiento mantenidos
Relaciones de Archivo de Tareas: Basado en análisis del código, el sistema incluye relaciones de archivo específicas:
Relaciones de Archivo de Columnas:
- tasksArchive() - Relación dedicada para tareas archivadas en columnas
- onlyTrashed() - Modificador de consulta para acceder solo a tareas archivadas
- Ordenamiento de Archivo - Las tareas archivadas mantienen su orden dentro de las columnas
Integración de Archivo de Tableros:
- columnsArchive.tasksArchive - Relación anidada para estructura de tablero archivado
- Jerarquía Completa - Estructura completa de archivo tablero → columna → tarea preservada
- Preservación de Asignación de Usuarios - Las asignaciones de usuarios de tareas se mantienen en archivos
Interfaz de Archivo de Tareas
Métodos de Acceso a Archivo:
- Vista de Archivo de Tablero - Ver tareas archivadas dentro de la estructura de tablero archivado
- Navegación de Archivo de Tareas - Acceso directo a tareas archivadas específicas
- Archivos de Tareas Individuales - Visualización de tareas archivadas individuales con detalles completos
- Filtrado por Usuario - Filtrar tareas archivadas por miembros del equipo asignados
Características de Tareas Archivadas:
- Datos Completos de Tarea - Toda la información de tarea preservada (nombre, descripción, fechas, etc.)
- Preservación de Adjuntos - Todos los adjuntos de archivo mantenidos y accesibles
- Historial de Comentarios - Historial completo de comentarios y discusiones preservado
- Línea de Tiempo de Actividad - Historial completo de eventos y seguimiento de actividad mantenido
- Datos de Seguimiento de Tiempo - Todos los intervalos de tiempo rastreados preservados con la tarea
Proceso de Restauración - Recuperando Elementos Archivados
Implementación de Restauración
Cómo Funciona la Restauración: El sistema proporciona funcionalidad integral de restauración usando el método restore() de SoftDeletes de Laravel.
Capacidades de Restauración:
Restauración de Proyectos:
- Ruta -
/project/restore/{project}con modificador withTrashed() - Verificación de Permisos - Requiere permiso project.viewAny
- Restauración Completa - Restauración completa del proyecto con todos los datos relacionados
- Retroalimentación de Éxito - Mensajes claros de éxito/error para intentos de restauración
Restauración de Tableros:
- Ruta -
/restore/project-board/{projectBoard}con modificador withTrashed() - Verificación de Permisos - Requiere permiso task.viewAny
- Restauración de Datos del Tablero - Restauración completa de estructura del tablero y tareas
- Navegación - Redirección automática al índice del tablero después de la restauración
Restauración de Tareas:
- Ruta -
/task/restore/{task}con modificador withTrashed() - Verificación de Permisos - Requiere permiso task.update
- Restauración Individual - Restaurar tareas específicas sin afectar otras
- Integridad de Relaciones - Todas las relaciones de tareas restauradas correctamente
Restauración de Columnas:
- Restauración Automática de Tareas - Cuando se restauran columnas, las tareas se restauran automáticamente
- Integración de Observador - ProjectBoardColumnObserver maneja la restauración automática de tareas
- Cascada de Relaciones - La restauración de columnas dispara la restauración de tareas relacionadas
Beneficios del Proceso de Restauración
✅ Recuperación Completa de Datos - Todos los datos archivados restaurados con integridad completa
✅ Preservación de Relaciones - Todas las conexiones y relaciones restauradas correctamente
✅ Respeto de Permisos - La restauración sigue el mismo sistema de permisos que otras operaciones
✅ Retroalimentación del Usuario - Mensajes claros de éxito/error para operaciones de restauración
✅ Navegación Automática - Redirecciones apropiadas después de restauración exitosa
Retención de Datos - Cómo se Retienen y Gestionan los Datos Archivados
Estrategia de Preservación de Datos
Implementación de SoftDeletes: El sistema utiliza el trait SoftDeletes de Laravel en todas las entidades principales:
Entidades con SoftDeletes:
- Projects - Archivado completo de proyectos con todos los datos relacionados
- ProjectBoards - Archivado a nivel de tablero con preservación de tareas
- ProjectBoardColumns - Archivado de columnas con manejo automático de tareas
- Tasks - Archivado individual de tareas con preservación completa de datos
- TaskEvents - Historial de eventos preservado incluso cuando las tareas están archivadas
Características de Retención de Datos:
- Retención Indefinida - Sin eliminación automática de datos archivados
- Relaciones Completas - Todas las relaciones preservadas en estado archivado
- Aislamiento de Consultas - Los elementos archivados no aparecen en consultas normales
- Acceso Específico de Archivo - Consultas y rutas especiales para acceso a archivos
Estructura de Datos de Archivo
Implementación de Base de Datos:
- Marca de Tiempo deleted_at - Campo estándar de marca de tiempo de SoftDeletes
- Preservación de Relaciones - Claves foráneas y relaciones mantenidas
- Modificadores de Consulta - onlyTrashed(), withTrashed() para acceso a archivos
- Integración de Observadores - Manejo automático de datos relacionados durante el archivado
Métodos de Consulta de Archivo: Basado en análisis del código:
- onlyTrashed() - Acceder solo a elementos archivados
- withTrashed() - Incluir tanto elementos activos como archivados
- Relaciones de Archivo - Métodos dedicados como tasksArchive(), columnsArchive()
Beneficios de Retención de Datos
✅ Preservación Permanente - Los datos archivados nunca se eliminan automáticamente
✅ Historial Completo - Documentación completa del ciclo de vida del proyecto mantenida
✅ Integridad de Relaciones - Todas las conexiones entre elementos archivados preservadas
✅ Optimización de Rendimiento - Los elementos archivados no ralentizan las consultas activas
✅ Soporte de Cumplimiento - Cumplir con requisitos de retención de datos para auditorías y cumplimiento
Comenzando con la Gestión de Archivos
Guía de Inicio Rápido
Paso 1: Archivar un Proyecto
- Navegar a la lista de Proyectos
- Encontrar el proyecto que deseas archivar
- Usar operación de eliminación (esto archiva el proyecto)
- Verificar que el proyecto desaparece de la lista activa
- Verificar el archivo de proyectos para confirmar el archivado
Paso 2: Acceder a Elementos Archivados
- Navegar a la sección de archivo apropiada (proyectos, tableros, etc.)
- Examinar elementos archivados usando la interfaz de archivo
- Usar funcionalidad de búsqueda para encontrar elementos archivados específicos
- Hacer clic en elementos archivados para ver detalles completos
- Notar que todos los datos y relaciones se preservan
Paso 3: Restaurar Elemento Archivado
- Encontrar el elemento archivado que deseas restaurar
- Usar función/botón de restauración
- Verificar mensaje de restauración exitosa
- Verificar que el elemento regresa a las listas activas
- Confirmar que todos los datos y relaciones se restauraron correctamente
Mejores Prácticas de Gestión de Archivos
✅ Archivado Regular - Archivar proyectos y tableros completados para mantener organización limpia
✅ Archivado Estratégico - Archivar elementos cuando estén verdaderamente completos, no solo inactivos
✅ Planificación de Acceso - Entender quién necesita acceso a datos archivados
✅ Pruebas de Restauración - Probar periódicamente el proceso de restauración para asegurar que funciona
✅ Documentación - Documentar por qué se archivaron elementos para referencia futura
Patrones Comunes de Archivo
Ciclo de Vida del Proyecto:
- Finalización del Proyecto - Archivar proyectos completos cuando todo el trabajo esté completo
- Fin de Relación con Cliente - Archivar proyectos cuando terminen las relaciones con clientes
- Trabajo Estacional - Archivar proyectos estacionales durante temporadas bajas
- Referencia Histórica - Mantener archivos para propósitos históricos y de cumplimiento
Gestión de Tableros:
- Cambios de Flujo de Trabajo - Archivar tableros cuando los flujos de trabajo cambien significativamente
- Finalización de Fase - Archivar tableros cuando se completen las fases del proyecto
- Reorganización del Equipo - Archivar tableros durante cambios en la estructura del equipo
- Optimización de Rendimiento - Archivar tableros antiguos para mejorar el rendimiento de tableros activos
Solución de Problemas de Archivo
Problemas Comunes
No se Puede Acceder a Archivos:
- Problemas de Permisos - Verificar que tienes permisos apropiados para acceso a archivos
- Contexto del Equipo - Asegurarse de estar buscando en los archivos del equipo correcto
- Problemas de Navegación - Usar rutas y navegación de archivo apropiadas
- Problemas del Navegador - Intentar actualizar la página o limpiar la caché del navegador
Restauración No Funciona:
- Verificación de Permisos - Verificar que tienes permisos de restauración
- Estado del Elemento - Asegurarse de que el elemento esté realmente archivado (en estado eliminado)
- Problemas de Relaciones - Verificar cualquier conflicto de relaciones que impida la restauración
- Problemas del Navegador - Intentar actualizar la página o usar un navegador diferente
Datos Archivados Faltantes:
- Ubicación del Archivo - Verificar la sección de archivo apropiada para elementos faltantes
- Alcance de Permisos - Verificar que tienes acceso para ver los elementos archivados
- Funcionalidad de Búsqueda - Usar búsqueda de archivo para localizar elementos específicos
- Integridad de Datos - Contactar soporte si los datos archivados parecen estar faltantes
Próximos Pasos
Ahora que entiendes la gestión de archivos e historial, estás listo para explorar:
- Permisos y Control de Acceso - Gestión detallada del sistema de permisos
- Funciones Móviles y Responsivas - Interfaz móvil e interacciones táctiles
- Reportes y Análisis - Métricas de rendimiento del proyecto y productividad del equipo
- Mejores Prácticas y Flujos de Trabajo - Enfoques recomendados de gestión de proyectos
Recuerda: El sistema de archivos en Corcava está diseñado para preservar permanentemente todo tu trabajo mientras mantiene espacios de trabajo activos limpios y organizados. Entender cómo usar efectivamente el archivado y la restauración te ayudará a mantener tanto la productividad actual como la responsabilidad histórica.
