Управление архивом и историей
Обзор
Система управления архивом и историей Workify использует функциональность SoftDeletes Laravel для предоставления комплексных возможностей архивирования и восстановления для проектов, досок, колонок и задач. Эта система обеспечивает, что никакая работа никогда не теряется навсегда, одновременно поддерживая чистые, организованные активные рабочие пространства.
Основываясь на тщательном анализе кода, система архива предоставляет полное сохранение данных с возможностью восстановления заархивированных элементов при необходимости.
Архивы проектов - архивирование завершенных проектов
Система архивирования проектов
Как работает архивирование проектов: Проекты используют трейт SoftDeletes Laravel, что означает, что "удаленные" проекты фактически архивируются и могут быть восстановлены.
Функции архива проектов:
- Реализация мягкого удаления - Проекты помечены как удаленные, но данные сохранены
- Вид архива - Выделенный интерфейс для просмотра заархивированных проектов
- Поиск в архивах - Функциональность поиска работает в рамках заархивированных проектов
- Доступ на основе разрешений - Доступ к архиву следует тем же разрешениям, что и активные проекты
- Сохранение отношений с клиентами - Связи с клиентами поддерживаются в архивах
Процесс архива проектов:
- Удалить проект - Используйте стандартную операцию удаления (фактически архивирует)
- Автоматическое архивирование - Проект перемещен в заархивированное состояние с временной меткой
- Сохранение данных - Все данные проекта, связи и история сохранены
- Доступ к архиву - Доступ к заархивированным проектам через выделенный вид архива
- Доступно восстановление - Заархивированные проекты могут быть восстановлены в активный статус
Интерфейс архива проектов
Функции вида архива:
- Выделенная страница архива - Маршрут
/project/archiveдля заархивированных проектов - Функциональность поиска - Поиск заархивированных проектов по имени
- Пагинация - Заархивированные проекты правильно пагинированы для производительности
- Информация о клиентах - Заархивированные проекты показывают связанную информацию о клиентах
- Уважение разрешений - Пользователи видят только заархивированные проекты, к которым у них есть доступ
Преимущества архива проектов: ✅ Сохранение данных - Полная история проекта поддерживается бесконечно ✅ Чистая организация - Списки активных проектов остаются сфокусированными и управляемыми ✅ Легкое восстановление - Заархивированные проекты могут быть восстановлены со всеми данными нетронутыми ✅ Историческая справка - Доступ к полным записям проекта для будущей справки
Архивы досок - архивирование старых досок с сохранением данных
Система архивирования досок
Реализация архива досок: Проектные доски также используют SoftDeletes для комплексной функциональности архивирования.
Функции архива досок:
- Индивидуальное архивирование досок - Архивировать конкретные доски, сохраняя проект активным
- Сохранение задач - Все задачи в заархивированных досках сохранены
- Структура колонок - Структура колонок доски поддерживается в архивах
- История активности - Полная история активности доски сохранена
- Фильтрация пользователей - Виды архива поддерживают фильтрацию на основе пользователей
Процесс архива досок:
- Архивировать доску - Удалить доску через стандартный интерфейс (мягкое удаление)
- Автоматическая обработка задач - Все задачи доски автоматически архивируются
- Сохранение колонок - Колонки доски архивируются со своими связями
- Целостность данных - Все данные доски и связи поддерживаются
- Интерфейс архива - Доступ через выделенные виды архива досок
Интерфейс архива досок
Навигация архива:
- Список архива досок -
/archive/project-boardдля обзора заархивированных досок - Индивидуальные архивы досок -
/archive/project-board/{boardId}для конкретных заархивированных досок - Вид архива задач -
/project-board/{boardId}/archiveдля заархивированных задач в рамках доски - Архивы отдельных задач - Прямой доступ к отдельным заархивированным задачам
Функции вида архива:
- Сохраненная структура колонок - Заархивированные доски поддерживают свой макет колонок
- Связи задач - Заархивированные задачи поддерживают все связи и данные
- Фильтрация пользователей - Фильтровать заархивированные задачи по назначенным пользователям
- Данные отслеживания времени - Вся информация отслеживания времени сохранена в архивах
- История активности - Полная история событий доступна в заархивированных задачах
Преимущества архива досок
✅ Селективное архивирование - Архивировать отдельные доски без влияния на весь проект ✅ Полное сохранение данных - Вся структура доски и данные задач поддерживаются ✅ Гибкий доступ - Множественные способы доступа и навигации по заархивированным данным досок ✅ Координация команды - Заархивированные доски остаются доступными для авторизованных участников команды
Архивы задач - управление завершенными и заархивированными задачами
Система архивирования задач
Реализация архива задач: Задачи используют SoftDeletes с сложными связями архива и интерфейсами.
Функции архива задач:
- Автоматическое архивирование колонок - Когда колонки архивируются, задачи автоматически архивируются
- Ручное архивирование задач - Отдельные задачи могут быть заархивированы через операции удаления
- Сохранение связей - Все связи задач (пользователи, вложения, события) сохранены
- Запросы для конкретного архива - Выделенные методы для доступа к заархивированным задачам
- Сохранение отслеживания времени - Все временные интервалы и данные отслеживания поддерживаются
Связи архива задач: Основываясь на анализе кода, система включает конкретные связи архива:
Связи архива колонок:
- tasksArchive() - Выделенная связь для заархивированных задач в колонках
- onlyTrashed() - Модификатор запроса для доступа только к заархивированным задачам
- Порядок архива - Заархивированные задачи поддерживают свой порядок в рамках колонок
Интеграция архива досок:
- columnsArchive.tasksArchive - Вложенная связь для заархивированной структуры досок
- Полная иерархия - Полная структура архива доска → колонка → задача сохранена
- Сохранение назначений пользователей - Назначения пользователей задач поддерживаются в архивах
Интерфейс архива задач
Методы доступа к архиву:
- Вид архива досок - Видеть заархивированные задачи в рамках заархивированной структуры досок
- Навигация архива задач - Прямой доступ к конкретным заархивированным задачам
- Архивы отдельных задач - Просмотр отдельных заархивированных задач с полными деталями
- Фильтрация пользователей - Фильтровать заархивированные задачи по назначенным участникам команды
Функции архива задач:
- Полные данные задач - Вся информация о задачах сохранена (имя, описание, даты и т.д.)
- Сохранение вложений - Все вложения файлов поддерживаются и доступны
- История комментариев - Полная история комментариев и обсуждений сохранена
- Временная шкала активности - Полная история событий и отслеживание активности поддерживается
- Данные отслеживания времени - Все отслеживаемые временные интервалы сохранены с задачей
Процесс восстановления - возвращение заархивированных элементов
Реализация восстановления
Как работает восстановление: Система предоставляет комплексную функциональность восстановления, используя метод restore() SoftDeletes Laravel.
Возможности восстановления:
Восстановление проектов:
- Маршрут -
/project/restore/{project}с модификатором withTrashed() - Проверка разрешений - Требует разрешения project.viewAny
- Полное восстановление - Полное восстановление проекта со всеми связанными данными
- Обратная связь об успехе - Четкие сообщения об успехе/ошибке для попыток восстановления
Восстановление досок:
- Маршрут -
/restore/project-board/{projectBoard}с модификатором withTrashed() - Проверка разрешений - Требует разрешения task.viewAny
- Восстановление данных досок - Полное восстановление структуры досок и задач
- Навигация - Автоматическое перенаправление к индексу досок после восстановления
Восстановление задач:
- Маршрут -
/task/restore/{task}с модификатором withTrashed() - Проверка разрешений - Требует разрешения task.update
- Индивидуальное восстановление - Восстановить конкретные задачи без влияния на другие
- Целостность связей - Все связи задач восстановлены правильно
Восстановление колонок:
- Автоматическое восстановление задач - Когда колонки восстановлены, задачи автоматически восстановлены
- Интеграция наблюдателей - ProjectBoardColumnObserver обрабатывает автоматическое восстановление задач
- Каскад связей - Восстановление колонок запускает связанное восстановление задач
Преимущества процесса восстановления
✅ Полное восстановление данных - Все заархивированные данные восстановлены с полной целостностью ✅ Сохранение связей - Все соединения и связи восстановлены правильно ✅ Уважение разрешений - Восстановление следует той же системе разрешений, что и другие операции ✅ Обратная связь пользователя - Четкие сообщения об успехе/ошибке для операций восстановления ✅ Автоматическая навигация - Соответствующие перенаправления после успешного восстановления
Хранение данных - как заархивированные данные сохраняются и управляются
Стратегия сохранения данных
Реализация SoftDeletes: Система использует трейт SoftDeletes Laravel во всех основных сущностях:
Сущности с SoftDeletes:
- Проекты - Полное архивирование проектов со всеми связанными данными
- Проектные доски - Архивирование на уровне досок с сохранением задач
- Колонки проектных досок - Архивирование колонок с автоматической обработкой задач
- Задачи - Индивидуальное архивирование задач с полным сохранением данных
- События задач - История событий сохранена даже когда задачи заархивированы
Функции хранения данных:
- Бесконечное хранение - Нет автоматического удаления заархивированных данных
- Полные связи - Все связи сохранены в заархивированном состоянии
- Изоляция запросов - Заархивированные элементы не появляются в обычных запросах
- Доступ для конкретного архива - Специальные запросы и маршруты для доступа к архиву
Структура данных архива
Реализация базы данных:
- Временная метка deleted_at - Стандартное поле временной метки SoftDeletes
- Сохранение связей - Внешние ключи и связи поддерживаются
- Модификаторы запросов - onlyTrashed(), withTrashed() для доступа к архиву
- Интеграция наблюдателей - Автоматическая обработка связанных данных во время архивирования
Методы запросов архива: Основываясь на анализе кода:
- onlyTrashed() - Доступ только к заархивированным элементам
- withTrashed() - Включать как активные, так и заархивированные элементы
- Связи архива - Выделенные методы как tasksArchive(), columnsArchive()
Преимущества хранения данных
✅ Постоянное сохранение - Заархивированные данные никогда не удаляются автоматически ✅ Полная история - Полная документация жизненного цикла проекта поддерживается ✅ Целостность связей - Все соединения между заархивированными элементами сохранены ✅ Оптимизация производительности - Заархивированные элементы не замедляют активные запросы ✅ Поддержка соответствия - Соответствовать требованиям хранения данных для аудитов и соответствия
Начало работы с управлением архивом
Руководство по быстрому старту
Шаг 1: Архивируйте проект
- Перейдите к списку проектов
- Найдите проект, который хотите заархивировать
- Используйте операцию удаления (это архивирует проект)
- Проверьте, что проект исчезает из активного списка
- Проверьте архив проектов для подтверждения архивирования
Шаг 2: Получите доступ к заархивированным элементам
- Перейдите к соответствующему разделу архива (проекты, доски и т.д.)
- Просматривайте заархивированные элементы, используя интерфейс архива
- Используйте функциональность поиска для поиска конкретных заархивированных элементов
- Нажмите на заархивированные элементы для просмотра полных деталей
- Обратите внимание, что все данные и связи сохранены
Шаг 3: Восстановите заархивированный элемент
- Найдите заархивированный элемент, который хотите восстановить
- Используйте функцию/кнопку восстановления
- Проверьте сообщение об успешном восстановлении
- Проверьте, что элемент возвращается в активные списки
- Подтвердите, что все данные и связи восстановлены правильно
Лучшие практики управления архивом
✅ Регулярное архивирование - Архивируйте завершенные проекты и доски для поддержания чистой организации ✅ Стратегическое архивирование - Архивируйте элементы, когда они действительно завершены, а не просто неактивны ✅ Планирование доступа - Понимайте, кому нужен доступ к заархивированным данным ✅ Тестирование восстановления - Периодически тестируйте процесс восстановления, чтобы убедиться, что он работает ✅ Документация - Документируйте, почему элементы были заархивированы для будущей справки
Общие паттерны архива
Жизненный цикл проекта:
- Завершение проекта - Архивировать целые проекты, когда вся работа завершена
- Окончание отношений с клиентами - Архивировать проекты, когда отношения с клиентами заканчиваются
- Сезонная работа - Архивировать сезонные проекты в межсезонье
- Историческая справка - Хранить архивы для исторических и целей соответствия
Управление досками:
- Изменения рабочего процесса - Архивировать доски, когда рабочие процессы значительно изменяются
- Завершение фаз - Архивировать доски, когда фазы проекта завершаются
- Реорганизация команды - Архивировать доски во время изменений структуры команды
- Оптимизация производительности - Архивировать старые доски для улучшения производительности активных досок
Устранение неполадок проблем архива
Общие проблемы
Не могу получить доступ к архивам:
- Проблемы разрешений - Проверьте, что у вас есть соответствующие разрешения для доступа к архиву
- Контекст команды - Убедитесь, что вы смотрите в архивы правильной команды
- Проблемы навигации - Используйте правильные маршруты архива и навигацию
- Проблемы браузера - Попробуйте обновить страницу или очистить кэш браузера
Восстановление не работает:
- Проверка разрешений - Проверьте, что у вас есть разрешения на восстановление
- Состояние элемента - Убедитесь, что элемент фактически заархивирован (в состоянии удаления)
- Проблемы связей - Проверьте любые конфликты связей, препятствующие восстановлению
- Проблемы браузера - Попробуйте обновить страницу или использовать другой браузер
Отсутствующие заархивированные данные:
- Расположение архива - Проверьте соответствующий раздел архива для отсутствующих элементов
- Область разрешений - Проверьте, что у вас есть доступ для просмотра заархивированных элементов
- Функциональность поиска - Используйте поиск архива для поиска конкретных элементов
- Целостность данных - Обратитесь в службу поддержки, если заархивированные данные кажутся отсутствующими
Следующие шаги
Теперь, когда вы понимаете управление архивом и историей, вы готовы изучить:
- Разрешения и контроль доступа - Детальное управление системой разрешений
- Мобильные и адаптивные функции - Мобильный интерфейс и сенсорные взаимодействия
- Отчетность и аналитика - Метрики производительности проекта и продуктивности команды
- Лучшие практики и рабочие процессы - Рекомендуемые подходы к управлению проектами
Помните: Система архива в Workify разработана для постоянного сохранения всей вашей работы, одновременно поддерживая чистые и организованные активные рабочие пространства. Понимание того, как эффективно использовать архивирование и восстановление, поможет вам поддерживать как текущую продуктивность, так и историческую подотчетность.