Технічне завдання VDoc K2 ERP
Технічне завдання на модуль VDoc для K2 ERP
1. Загальна інформація
Модуль VDoc у складі K2 ERP призначений для централізованого зберігання файлів, керування каталогами, контролю версій, ведення історії змін, налаштування прав доступу, перегляду файлів, поширення файлів та захисту корпоративних даних від випадкової втрати.
VDoc має працювати як корпоративне файлове сховище з контролем доступу, історією змін, версіями файлів і можливістю зберігати важливі документи, відео, презентації, інструкції, технічні завдання, шаблони, договори, матеріали для клієнтів, навчальні файли та інші дані компанії.
| Головна ідея VDoc: файл після потрапляння в систему не повинен зникати безслідно. Він може бути замінений новою версією, прихований через Active = false, обмежений правами доступу або поширений за правилами, але історія його існування повинна залишатися в системі. |
2. Цілі модуля
Основні цілі модуля VDoc:
- створити єдине файлове сховище компанії;
- організувати файли по каталогах;
- забезпечити контроль доступу до папок і файлів;
- зберігати історію зміни файлів;
- вести версії файлів;
- фіксувати всі важливі дії користувачів;
- дозволяти перегляд файлів у браузері;
- дозволяти завантаження файлів;
- дозволяти поширення файлів через посилання або внутрішні права доступу;
- заборонити фізичне видалення файлів звичайними користувачами;
- використовувати деактивацію файлу через Active = false;
- вести довідники типів файлів, розширень, заборонених файлів і статусів документів;
- надати адміністраторам інструменти керування структурою сховища.
3. Основні функціональні блоки
У модулі VDoc повинні бути такі розділи:
| Розділ | Призначення |
|---|---|
| VDoc | Основний файловий менеджер: каталоги, файли, перегляд, завантаження, поширення, права доступу. |
| Категорії типів файлів | Довідник груп файлів: відео, архіви, документи, таблиці, графіка, презентації, інше. |
| Категорії типів документів | Довідник типів документів: рахунок, договір, заявка, акт, замовлення тощо. |
| Типи файлів | Довідник типів файлів з іконками та прив’язкою до категорій. |
| Розширення | Довідник розширень файлів і відповідності типам файлів. |
| Заборонені файли | Список файлів або шаблонів, які заборонено завантажувати. |
| Статуси документів | Довідник статусів для документів або файлів: чернетка, підписується, закритий, відмінений тощо. |
4. Основний інтерфейс VDoc
Основний екран VDoc повинен складатися з двох частин:
- ліва частина — дерево каталогів;
- права частина — таблиця файлів обраного каталогу.
Схема інтерфейсу:
+--------------------------------------------------------------------------------------+ | VDoc | +-------------------------------+------------------------------------------------------+ | Каталоги | Файли | | | | | Cloud1 | Тип | П | Р/З | Поширити | Назва | Розмір | Дата | | BAS |------------------------------------------------------| | Docs | ▶ | ↓ | ✎ | ↗ | Файл 1 | 12000 | дата | | K2 ERP | ▶ | ↓ | ✎ | ↗ | Файл 2 | 45000 | дата | | Components | ▶ | ↓ | ✎ | ↗ | Файл 3 | 98000 | дата | | Design | | | Docs | | | Video | | | Scrum | | | Кейси | | +-------------------------------+------------------------------------------------------+
5. Дерево каталогів
Ліва частина інтерфейсу повинна показувати ієрархію каталогів.
Каталог може мати:
- назву;
- батьківський каталог;
- дочірні каталоги;
- коментар;
- ознаку активності;
- права доступу;
- історію змін;
- системні службові властивості.
5.1. Дії з каталогами
Для каталогу повинні бути доступні дії залежно від прав користувача:
| Дія | Опис |
|---|---|
| Створити каталог | Створення нової папки всередині обраного каталогу. |
| Редагувати каталог | Зміна назви, коментаря або службових параметрів каталогу. |
| Перемістити каталог | Перенесення каталогу в іншу папку. |
| Налаштувати права | Встановлення прав доступу для ролей або користувачів. |
| Деактивувати каталог | Каталог не видаляється фізично, а отримує значення Active = false. |
| Відновити каталог | Повернення каталогу до активного стану через Active = true. |
| Переглянути історію | Перегляд історії змін каталогу. |
| Важливо: при переміщенні каталогу система повинна зберігати історію попереднього розташування. Це потрібно для аудиту і відновлення логіки руху файлів. |
6. Таблиця файлів
Права частина інтерфейсу показує файли, які знаходяться в обраному каталозі.
6.1. Основні колонки таблиці файлів
| Колонка | Опис |
|---|---|
| Тип файлу | Іконка або позначка типу файлу: PDF, Word, Excel, відео, архів, зображення тощо. |
| П | Дія перегляду файлу. |
| Р/З | Дія редагування або заміни файлу, якщо дозволено правами. |
| Поширити | Кнопка створення або відкриття посилання для поширення. |
| Назва | Назва файлу. |
| Розмір файлу, кб | Розмір файлу. |
| Час створення | Дата і час створення запису про файл у системі. |
| Час змін | Дата і час останньої зміни файлу або його властивостей. |
| Розширення файлу | Розширення файлу: pdf, docx, xlsx, mp4, jpg тощо. |
| Зараз працює | Ознака користувача, який взяв файл у роботу. |
| Дата взяття в роботу | Дата і час, коли файл був взятий у роботу. |
| Actions | Додаткові дії: редагування, історія, права, деактивація, відновлення. |
7. Дії з файлами
Для кожного файлу повинні бути доступні дії відповідно до прав користувача.
| Дія | Опис |
|---|---|
| Переглянути | Відкрити файл у вбудованому переглядачі або на окремій сторінці. |
| Завантажити | Завантажити файл на комп’ютер користувача. |
| Завантажити нову версію | Додати нову версію файлу без втрати попередньої. |
| Редагувати опис | Змінити назву, коментар, тип документа або службові поля. |
| Взяти в роботу | Позначити, що користувач працює з файлом. |
| Зняти з роботи | Зняти ознаку, що файл знаходиться в роботі. |
| Поширити | Створити посилання або надати доступ до файлу. |
| Налаштувати права | Встановити доступ для користувачів або ролей. |
| Деактивувати | Встановити для файлу Active = false без фізичного видалення. |
| Відновити | Встановити для файлу Active = true. |
| Переглянути історію | Побачити всі зміни, версії та дії з файлом. |
8. Принцип заборони фізичного видалення
Файл у VDoc не повинен фізично видалятися звичайним користувачем.
Замість фізичного видалення використовується механізм деактивації запису:
Active = false
При цьому сам файл, його версії, історія змін, права доступу та службова інформація залишаються в системі.
| Заборонено: звичайний користувач не може безповоротно видалити файл із системи. При видаленні файл повинен отримувати ознаку Active = false, але фізично залишатися у сховищі. |
8.1. Що відбувається при деактивації файлу
При натисканні дії Видалити або Деактивувати система повинна:
- Перевірити права користувача.
- Запитати підтвердження дії.
- Встановити для запису файлу значення Active = false.
- Зафіксувати дату і час дії.
- Зафіксувати користувача, який виконав дію.
- Записати дію в історію.
- Приховати файл зі звичайного списку активних файлів.
- Залишити файл доступним адміністратору або користувачу з правом перегляду неактивних записів.
Фізичний файл, усі його версії та історія змін при цьому не видаляються.
8.2. Відновлення файлу
Адміністратор або користувач з відповідним правом повинен мати можливість відновити файл.
При відновленні система повинна:
- Перевірити право користувача на відновлення.
- Встановити для запису файлу значення Active = true.
- Повернути файл у список активних файлів.
- Записати дію відновлення в історію.
- Зберегти всі попередні версії, права доступу та службові дані.
Після відновлення файл повинен працювати так само, як і до деактивації.
9. Версії файлів
VDoc повинен вести історію версій файлу.
Кожне завантаження нової версії не повинно знищувати попередню версію.
9.1. Дані версії файлу
Для кожної версії потрібно зберігати:
| Поле | Опис |
|---|---|
| ID версії | Унікальний ідентифікатор версії. |
| ID файлу | Посилання на основний запис файлу. |
| Номер версії | Порядковий номер версії. |
| Назва файлу | Назва файлу на момент завантаження версії. |
| Розмір | Розмір конкретної версії. |
| Розширення | Розширення файлу. |
| Користувач | Хто завантажив версію. |
| Дата і час | Коли версія була створена. |
| Коментар | Пояснення, що змінилося у версії. |
| Шлях до файлу | Фізичне або логічне розташування версії у сховищі. |
9.2. Схема роботи з версіями
[ Файл створено ]
|
v
[ Версія 1 ]
|
v
[ Завантажено нову версію ]
|
v
[ Версія 2 ]
|
v
[ Завантажено нову версію ]
|
v
[ Версія 3 ]
Попередні версії залишаються в системі.
9.3. Дії з версіями
Користувач з правами може:
- переглянути список версій;
- завантажити стару версію;
- переглянути стару версію, якщо формат підтримується;
- зробити стару версію актуальною;
- додати коментар до версії;
- порівняти версії, якщо для формату реалізовано порівняння.
10. Історія змін
VDoc повинен вести детальну історію змін по файлах і каталогах.
Історія повинна відповідати на питання:
- хто створив файл;
- хто змінював файл;
- хто завантажував нову версію;
- хто переглядав файл, якщо це включено в налаштуваннях;
- хто завантажував файл;
- хто поширив файл;
- хто змінив права;
- хто взяв файл у роботу;
- хто встановив Active = false;
- хто відновив файл через Active = true;
- коли і що саме відбулося.
| Важливо для аудиту: історія змін повинна бути незмінною для звичайних користувачів. Користувач не повинен мати можливості редагувати або чистити історію власних дій. |
10.1. Приклад історії файлу
| Дата і час | Користувач | Дія | Деталі |
|---|---|---|---|
| 22.06.2026 16:22 | Користувач 1 | Створено файл | Завантажено першу версію. |
| 22.06.2026 16:40 | Користувач 2 | Переглянуто файл | Відкрито у вбудованому переглядачі. |
| 23.06.2026 11:58 | Користувач 3 | Додано нову версію | Версія 2. |
| 23.06.2026 12:05 | Користувач 3 | Взято в роботу | Файл заблоковано для паралельного редагування. |
| 23.06.2026 13:20 | Користувач 4 | Поширено файл | Створено посилання для перегляду. |
| 24.06.2026 09:10 | Адміністратор | Змінено права | Додано доступ ролі «Бізнес-аналітик». |
| 24.06.2026 10:30 | Користувач 5 | Деактивовано файл | Встановлено Active = false. |
| 24.06.2026 11:00 | Адміністратор | Відновлено файл | Встановлено Active = true. |
11. Перегляд файлів
VDoc повинен підтримувати перегляд файлів без обов’язкового завантаження на комп’ютер користувача.
11.1. Підтримка форматів
| Формат | Поведінка системи |
|---|---|
| Відкривати у вбудованому PDF-переглядачі. | |
| JPG, PNG, GIF, WebP | Відкривати як зображення. |
| MP4, WebM | Відкривати у відеоплеєрі браузера. |
| MP3, WAV | Відкривати в аудіоплеєрі браузера. |
| TXT, CSV | Відкривати як текст або табличний перегляд. |
| DOC, DOCX | Якщо переглядач не реалізований — пропонувати завантаження. |
| XLS, XLSX | Якщо переглядач не реалізований — пропонувати завантаження. |
| ZIP, RAR, 7Z | Не переглядати, тільки завантажувати. |
| Інші формати | Пропонувати завантаження. |
11.2. Схема перегляду відео
+------------------------------------------------------+ | Перегляд відео | +------------------------------------------------------+ | [ Відеоплеєр ] | | | | 00:00 / 54:10 | | [ play ] [ звук ] [ повний екран ] | | | | Назва: файл.mp4 | | Дата: дата створення | | Розмір: розмір файлу | | Розташування: каталог / підкаталог | | | | [ Завантажити ] [ Код вставки ] [ Посилання ] | +------------------------------------------------------+
12. Поширення файлів
VDoc повинен мати можливість поширити файл.
Поширення може бути внутрішнім або зовнішнім.
12.1. Внутрішнє поширення
Внутрішнє поширення означає надання доступу іншому користувачу, ролі або групі в межах K2 ERP.
При внутрішньому поширенні система повинна:
- перевірити права користувача на поширення;
- дозволити вибір користувача або ролі;
- встановити права читання або завантаження;
- записати дію в історію.
12.2. Зовнішнє поширення
Зовнішнє поширення означає створення посилання для доступу до файлу за межами системи.
Параметри зовнішнього посилання:
| Параметр | Опис |
|---|---|
| Активне / неактивне | Чи працює посилання. |
| Тільки перегляд | Користувач може переглянути файл, але не завантажити. |
| Дозволити завантаження | Користувач може завантажити файл. |
| Строк дії | Дата, після якої посилання перестає працювати. |
| Пароль | Необов’язковий пароль для доступу. |
| Лічильник переглядів | Кількість відкриттів посилання. |
| Рекомендація: зовнішні посилання повинні мати можливість обмеження по строку дії. Це зменшує ризик випадкового довготривалого доступу до конфіденційних файлів. |
13. Взяття файлу в роботу
Файл може бути взятий користувачем у роботу.
Це потрібно, щоб інші користувачі бачили, що файл зараз опрацьовується.
При взятті файлу в роботу система повинна:
- Перевірити право користувача на роботу з файлом.
- Записати користувача в поле Зараз працює.
- Записати дату і час у поле Дата взяття в роботу.
- Додати запис в історію.
- За потреби заборонити іншим користувачам завантажувати нову версію до зняття блокування.
Схема:
[ Файл вільний ]
|
v
[ Користувач бере файл у роботу ]
|
v
[ Файл позначено як "зараз працює" ]
|
v
[ Користувач завантажує нову версію або знімає з роботи ]
14. Права доступу
Права доступу повинні налаштовуватися на рівні:
- ролі користувача;
- конкретного користувача;
- каталогу;
- файлу;
- дії.
14.1. Основні права
| Право | Опис |
|---|---|
| Читати папку | Користувач бачить каталог у дереві. |
| Писати папку | Користувач може створювати файли і підкаталоги в папці. |
| Читати файл | Користувач може бачити файл у списку. |
| Писати файл | Користувач може замінювати файл або додавати нові версії. |
| Тільки свої файли | Користувач бачить або редагує тільки файли, які сам створив. |
| Адмініструвати папку | Користувач може змінювати права і параметри папки. |
| Поширювати файл | Користувач може створювати посилання або надавати доступ. |
| Деактивувати файл | Користувач може встановити Active = false. |
| Переглядати неактивні | Користувач може бачити файли з Active = false. |
| Відновлювати файли | Користувач може встановити Active = true. |
14.2. Матриця прав доступу
| Дія | Адміністратор | Керівник | Редактор | Автор | Користувач | Гість |
|---|---|---|---|---|---|---|
| Перегляд каталогу | Так | За правами | За правами | За правами | За правами | Обмежено |
| Створення каталогу | Так | За правами | За правами | Ні | Ні | Ні |
| Редагування каталогу | Так | За правами | Ні | Ні | Ні | Ні |
| Налаштування прав | Так | За правами | Ні | Ні | Ні | Ні |
| Завантаження нового файлу | Так | За правами | Так | Так | За правами | Ні |
| Перегляд файлу | Так | За правами | За правами | Свої і дозволені | Дозволені | Публічні |
| Завантаження файлу | Так | За правами | За правами | Свої і дозволені | Дозволені | За посиланням |
| Додавання нової версії | Так | За правами | Так | Свої | Ні | Ні |
| Поширення файлу | Так | За правами | За правами | Свої | Ні | Ні |
| Деактивація файлу | Так | За правами | За правами | Свої | Ні | Ні |
| Перегляд неактивних файлів | Так | За правами | Ні | Ні | Ні | Ні |
| Відновлення файлу | Так | За правами | Ні | Ні | Ні | Ні |
| Перегляд історії | Так | За правами | За правами | Свої | Ні / за правами | Ні |
15. Встановлення прав на каталог
Інтерфейс встановлення прав повинен дозволяти адміністратору або відповідальному користувачу налаштовувати доступ до каталогу.
Схема форми:
+------------------------------------------------------------------+ | Встановити права | +------------------------------------------------------------------+ | Каталог: Cloud1 / Video / | | | | Користувач / роль | Читати папку | Писати папку | Читати файл | |------------------------------------------------------------------| | Роль 1 | ✓ | | ✓ | | Роль 2 | ✓ | ✓ | ✓ | | Роль 3 | | | ✓ | | | | Писати файл | Тільки свої файли | Адмініструвати папку | |------------------------------------------------------------------| | ✓ | | | | | ✓ | | | | | ✓ | +------------------------------------------------------------------+
16. Довідник категорій типів файлів
Довідник категорій типів файлів потрібен для групування файлів.
Приклади категорій:
| Категорія | Опис |
|---|---|
| Відео | Відеофайли, записи презентацій, навчальні відео. |
| Архів | ZIP, RAR, 7Z та інші архіви. |
| Презентації | Файли презентацій. |
| Графічні точкові | JPG, PNG, GIF, WebP. |
| Графічні векторні | SVG, AI, CorelDraw та інші. |
| Таблиці | XLS, XLSX, CSV. |
| Текст простий | TXT, LOG, CSV у текстовому режимі. |
| Документ | PDF, DOC, DOCX, ODT. |
| 3D графіка | Файли 3D-моделей. |
| Інше | Невизначені або службові типи. |
17. Довідник типів файлів
Довідник типів файлів повинен містити:
- назву типу файлу;
- іконку;
- категорію типу файлу;
- ознаку можливості перегляду;
- ознаку можливості завантаження;
- службові параметри.
Приклад:
| Тип файлу | Категорія | Перегляд | Приклади розширень |
|---|---|---|---|
| Документ | Так | ||
| Word | Документ | Обмежено | doc, docx |
| Excel | Таблиці | Обмежено | xls, xlsx, xlsb |
| MP4 | Відео | Так | mp4 |
| JPG | Графічні точкові | Так | jpg, jpeg |
| ZIP | Архів | Ні | zip |
18. Довідник розширень
Довідник розширень потрібен для автоматичного визначення типу файлу при завантаженні.
При завантаженні файлу система повинна:
- Визначити розширення файлу.
- Знайти це розширення в довіднику.
- Визначити тип файлу.
- Визначити категорію.
- Визначити іконку.
- Визначити, чи можна файл переглядати у браузері.
- Перевірити, чи не заборонене це розширення.
19. Заборонені файли
У системі має бути довідник заборонених файлів.
Він потрібен для блокування небезпечних або службових файлів.
Приклади:
| Назва або шаблон | Дія системи |
|---|---|
| desktop.ini | Заборонити завантаження або автоматично помітити як службовий. |
| Thumbs.db | Заборонити завантаження або автоматично ігнорувати. |
| .git | Заборонити завантаження. |
| Безпека: система повинна блокувати завантаження файлів, які можуть бути небезпечними або не мають цінності для корпоративного сховища. |
20. Статуси документів
VDoc повинен мати довідник статусів документів або файлів.
Приклади статусів:
| Статус | Опис |
|---|---|
| Чернетка | Файл або документ ще готується. |
| В роботі | Файл використовується або редагується. |
| Підписується | Документ перебуває на етапі підписання. |
| Підписаний | Документ підписано. |
| На узгодженні у клієнта | Документ передано клієнту на погодження. |
| Відправлено клієнту по пошті | Документ відправлено клієнту. |
| Закритий | Роботу з документом завершено. |
| Відмінений | Документ скасовано. |
21. Що відбувається при завантаженні файлу
При завантаженні нового файлу система повинна виконати такі дії:
- Перевірити авторизацію користувача.
- Перевірити право запису в обраний каталог.
- Перевірити назву файлу.
- Перевірити розширення файлу.
- Перевірити заборонені файли.
- Визначити тип файлу.
- Визначити категорію файлу.
- Зберегти файл у сховищі.
- Створити запис у таблиці файлів.
- Встановити для нового файлу Active = true.
- Створити першу версію файлу.
- Записати дію в історію.
- Показати файл у таблиці файлів.
Схема:
[ Користувач вибирає файл ]
|
v
[ Перевірка прав ]
|
v
[ Перевірка розширення і заборонених файлів ]
|
v
[ Збереження файлу ]
|
v
[ Створення запису файлу: Active = true ]
|
v
[ Створення версії 1 ]
|
v
[ Запис в історію ]
22. Що відбувається при завантаженні нової версії
При завантаженні нової версії система повинна:
- Перевірити право користувача на запис файлу.
- Перевірити, що файл має Active = true.
- Перевірити, чи не заблокований файл іншим користувачем.
- Перевірити розширення і заборонені файли.
- Зберегти новий фізичний файл.
- Створити новий запис версії.
- Оновити актуальну версію файлу.
- Змінити час останньої зміни.
- Записати дію в історію.
- За потреби зняти ознаку «зараз працює».
23. Що відбувається при перегляді файлу
При перегляді файлу система повинна:
- Перевірити право читання файлу.
- Перевірити, що файл має Active = true, або що користувач має право переглядати неактивні файли.
- Визначити тип файлу.
- Визначити доступний спосіб перегляду.
- Відкрити файл у переглядачі або запропонувати завантаження.
- За налаштуванням записати факт перегляду в історію.
24. Що відбувається при завантаженні файлу користувачем
При завантаженні файлу на комп’ютер користувача система повинна:
- Перевірити право на завантаження.
- Перевірити, що файл має Active = true, або що користувач має право працювати з неактивними файлами.
- Визначити актуальну версію файлу.
- Передати файл користувачу.
- Записати дію в історію, якщо це увімкнено.
- За потреби збільшити лічильник завантажень.
25. Що відбувається при поширенні файлу
При поширенні файлу система повинна:
- Перевірити право на поширення.
- Перевірити, що файл має Active = true.
- Відкрити форму налаштування поширення.
- Дозволити обрати тип доступу.
- Створити посилання або надати доступ ролі.
- Записати дію в історію.
- Показати користувачу результат.
Неактивні файли з Active = false не повинні поширюватися звичайними користувачами.
26. Схема життєвого циклу файлу
[ Завантажено файл ]
|
v
[ Створено запис: Active = true ]
|
v
[ Створено версію 1 ]
|
v
[ Файл переглядають / завантажують / поширюють ]
|
v
[ Файл беруть у роботу ]
|
v
[ Завантажують нову версію ]
|
v
[ Створено версію 2 ]
|
v
[ Файл може бути закритий або деактивований ]
|
v
[ Active = false, але файл залишається в системі ]
27. Пошук і фільтри
У таблиці файлів повинні бути фільтри:
- по назві файлу;
- по типу файлу;
- по розширенню;
- по даті створення;
- по даті зміни;
- по користувачу, який створив файл;
- по користувачу, який зараз працює з файлом;
- по розміру;
- по статусу;
- по ознаці Active;
- по каталогу.
Також має бути сортування по основних колонках.
28. Експорт даних
VDoc повинен підтримувати експорт списку файлів у формати:
- Excel;
- CSV;
- PDF, якщо реалізовано стандартним грідом.
Експорт повинен враховувати активні фільтри.
29. Вимоги до журналювання
Система повинна журналювати такі дії:
| Дія | Обов’язково фіксувати |
|---|---|
| Створення каталогу | Так |
| Зміна каталогу | Так |
| Переміщення каталогу | Так |
| Зміна прав каталогу | Так |
| Завантаження файлу | Так |
| Перегляд файлу | За налаштуванням |
| Завантаження файлу користувачем | Так |
| Створення нової версії | Так |
| Поширення файлу | Так |
| Взяття в роботу | Так |
| Зняття з роботи | Так |
| Встановлення Active = false | Так |
| Встановлення Active = true | Так |
30. Вимоги до безпеки
Модуль VDoc повинен забезпечувати:
- авторизацію користувачів;
- перевірку прав на кожну дію;
- недоступність файлів без прав;
- захист від прямого відкриття файлу без перевірки доступу;
- перевірку розширень;
- блокування заборонених файлів;
- обмеження розміру файлів;
- логування критичних дій;
- заборону фізичного видалення для звичайних користувачів;
- деактивацію файлів через Active = false;
- контроль зовнішніх посилань;
- можливість вимикати зовнішні посилання.
31. Вимоги до зберігання файлів
Файли повинні зберігатися так, щоб:
- не було втрати файлів при зміні назви;
- версії не перезаписували одна одну;
- кожен файл мав унікальний технічний ідентифікатор;
- логічна назва файлу могла відрізнятися від фізичної;
- можна було відновити файл з історії;
- можна було знайти всі версії одного файлу;
- можна було переміщувати файл між каталогами без втрати історії;
- при Active = false фізичний файл не видалявся зі сховища.
32. Рекомендована структура даних
Для реалізації модуля програмісту потрібно передбачити такі логічні сутності:
| Сутність | Призначення |
|---|---|
| Каталог | Дерево папок VDoc. |
| Файл | Основний запис про файл. |
| Версія файлу | Конкретна фізична версія файлу. |
| Права доступу | Права ролей і користувачів. |
| Історія дій | Журнал змін і дій. |
| Тип файлу | Тип файлу з іконкою і категорією. |
| Розширення файлу | Зв’язок розширення з типом файлу. |
| Заборонений файл | Правила блокування небажаних файлів. |
| Посилання поширення | Дані про зовнішній або внутрішній доступ. |
33. Мінімальні поля таблиці файлів
| Поле | Опис |
|---|---|
| id | Унікальний ідентифікатор файлу. |
| folder_id | Каталог, у якому знаходиться файл. |
| name | Назва файлу. |
| extension | Розширення. |
| file_type_id | Тип файлу. |
| size | Розмір файлу. |
| current_version_id | Поточна актуальна версія. |
| created_at | Дата створення. |
| created_by | Хто створив. |
| updated_at | Дата останньої зміни. |
| updated_by | Хто останній змінював. |
| locked_by | Хто зараз працює з файлом. |
| locked_at | Коли файл взяли в роботу. |
| Active | Ознака активності запису. Active = true — файл активний. Active = false — файл деактивований і прихований зі звичайного списку. |
| deactivated_by | Хто перевів файл у стан Active = false. |
| deactivated_at | Коли файл був переведений у стан Active = false. |
34. Мінімальні поля таблиці версій
| Поле | Опис |
|---|---|
| id | Унікальний ідентифікатор версії. |
| file_id | Посилання на файл. |
| version_number | Номер версії. |
| storage_path | Шлях до фізичного файлу. |
| original_name | Початкова назва завантаженого файлу. |
| size | Розмір версії. |
| hash | Контрольна сума файлу, якщо використовується. |
| comment | Коментар до версії. |
| created_at | Дата створення версії. |
| created_by | Хто створив версію. |
35. Мінімальні поля історії
| Поле | Опис |
|---|---|
| id | Унікальний запис історії. |
| object_type | Тип об’єкта: файл, каталог, версія, право, посилання. |
| object_id | ID об’єкта. |
| action | Дія користувача. |
| old_value | Попереднє значення, якщо є. |
| new_value | Нове значення, якщо є. |
| user_id | Користувач, який виконав дію. |
| created_at | Дата і час дії. |
| ip | IP-адреса, якщо потрібно для аудиту. |
| user_agent | Дані браузера, якщо потрібно для аудиту. |
36. Вимоги до інтерфейсу для користувача
Інтерфейс повинен бути зрозумілим для звичайного користувача.
Користувач повинен бачити:
- де знаходиться файл;
- як називається файл;
- який це тип файлу;
- чи можна його переглянути;
- чи можна його завантажити;
- чи можна його поширити;
- хто зараз працює з файлом;
- коли файл був створений;
- коли файл був змінений;
- чи є нові версії;
- чи файл активний;
- чи файл деактивований через Active = false.
37. Вимоги до інтерфейсу для адміністратора
Адміністратор повинен мати можливість:
- створювати структуру каталогів;
- змінювати структуру каталогів;
- переміщувати каталоги;
- налаштовувати права;
- переглядати неактивні файли;
- відновлювати файли через Active = true;
- переглядати історію;
- керувати типами файлів;
- керувати розширеннями;
- керувати забороненими файлами;
- керувати статусами документів.
38. Критерії приймання
Модуль вважається реалізованим, якщо виконані такі критерії:
| № | Критерій | Очікуваний результат |
|---|---|---|
| 1 | Дерево каталогів | Користувач бачить структуру папок відповідно до прав. |
| 2 | Таблиця файлів | При виборі каталогу показуються файли цього каталогу. |
| 3 | Завантаження файлу | Файл зберігається у системі, створюється перша версія, встановлюється Active = true. |
| 4 | Нова версія | Нова версія не знищує попередню. |
| 5 | Історія | Основні дії записуються в історію. |
| 6 | Права доступу | Користувач може виконати тільки дозволені дії. |
| 7 | Перегляд файлів | PDF, зображення і відео відкриваються у переглядачі. |
| 8 | Поширення | Користувач з правами може поширити активний файл. |
| 9 | Заборона фізичного видалення | Файл не видаляється фізично. При видаленні встановлюється Active = false. |
| 10 | Відновлення | Адміністратор може відновити файл через встановлення Active = true. |
| 11 | Довідники | Типи файлів, розширення, заборонені файли і статуси редагуються через довідники. |
| 12 | Експорт | Список файлів можна експортувати в Excel або CSV. |
39. Подальший розвиток
У наступних версіях модуля можна передбачити:
- повнотекстовий пошук по вмісту документів;
- OCR для сканів і PDF;
- автоматичне створення прев’ю;
- порівняння версій документів;
- електронний підпис;
- інтеграцію з модулем документообігу;
- інтеграцію з K2 Chat;
- інтеграцію з навчальним модулем;
- автоматичну прив’язку файлів до задач, клієнтів, договорів, курсів або проектів;
- аналітику використання файлів;
- контроль великих файлів;
- політики архівування;
- резервне копіювання за правилами компанії.
40. Очікуваний результат
Після реалізації модуля VDoc компанія повинна отримати контрольоване корпоративне файлове сховище, у якому:
- файли не губляться;
- версії не перезаписуються без історії;
- права доступу контролюються;
- кожна важлива дія фіксується;
- файли можна переглядати, завантажувати і поширювати;
- небезпечні або службові файли блокуються;
- фізичне видалення замінене на безпечну деактивацію через Active = false;
- адміністратор може відновити файл через Active = true;
- система зберігає повну історію руху файлу.
| Підсумок: VDoc має бути не просто файловим менеджером, а системою контрольованого зберігання корпоративних файлів з версіями, історією, правами доступу, поширенням і захистом від втрати даних. |