Загальна інформація
Цей функціонал необхідний для покращення категоризації процедур, розширення можливостей пошуку процедур за певними критеріями без використання довгих та складних query запитів. В межах даного функціоналу буде додано масив мета-даних в процедуру. Дане поле може бути автогенерованим, може бути змінено через панель адміністратора, може бути заповнено вручну при створенні процедури.
Мета-дані допоможуть у вирішенні бізнесових запитів на вибірку процедур за певними параметрами, які в самій процедурі явно не зазначені. Наприклад, "термінальний статус". Хоча ми і розуміємо бізнесово, що є термінальний статус (статус, який є кінцевим для процедури, незворотнім), система не знає, що таке термінальний статус. Тому коли у бізнеса виникає потреба відобразити всі процедури в термінальних статусах, ми маємо перелічувати необхідні статуси по кожному типу процедури. Таким чином, додавши "термінальний статус" в мета-дані процедури, ми зможемо вирішити це питання як з процедурами, які наразі є в БД, так і з процедурами, які буде створено в майбутньому.
Таким чином можливо вирішувати і категоризацію процедур за необхідності.
User stories
- Як адміністратор, я хочу щоб мета-дані генерувалися автоматично в залежності від заданих умов, щоб в процедуру було додано точні і релевантні значення без необхідності ручного втручання.
- Як адміністратор, я хочу мати можливість додавати мета дані в процедуру, щоб доповнювати мета-дані необхідними значеннями у випадку відсутності автогенерованих значень.
- Як адміністратор, я хочу мати можливість редагувати мета дані, щоб змінювати їх вручну на більш точні та релевантні.
- Як адміністратор порталу, я хочу налаштовувати напрямки роботи згідно мета даних, щоб
- Як користувач порталу, я хочу мати можливість шукати процедури по напрямку роботи в мета-даних, щоб швидко і точно знаходити необхідні мені процедури.
- Як учасник аукціону, я хочу мати можливість знаходити аукціони згідно мета-даних, щоб швидко і точно знаходити необхідні мені аукціони.
Структура мета-даних
В процедури необхідно додати масив meta: []
.
Даний масив буде в собі містити логіку мета-даних. Наприклад:
meta: [ { directions:[ { id: 1 name: commercialSell description: Коммерційний продаж }, { id: 2 name: parking description: Продаж паркомісць } ], readOnly: true }, { tags:[ { id: 1 name: terminal description: Процедура знаходиться в термінальному статусі }, { id: 2 name: customs description: Аукціон від митниці } ], readOnly: false } ]
Тобто таким чином, мета-дані містять в собі різного типу інформацію, яка буде додаватись згідно бізнес-потреб.
Структурно мета-дані є масивом, який містить в собі дані різного типу. Кожен окремий тип даних додається згідно запиту від бізнеса.
Наприклад, є запит додати в мета-дані directions. Ми створюємо задачу на додавання в мета-дані directions. В задачу входить:
- Описати структуру мета-даних.
- Описати логіку автоматичного додавання мета-даних в процедури.
- Описати чи потрібна можливість редагувати ці дані вручну (чи потрібно додавати команди в адмінку)
- Описати чи потрібно проводити міграцію процедур (чи ми хочемо присвоїти старим процедурам мета-дані згідно описаної логіки)
- Описати де буде використано додані мета-дані.
- Чи ми хочемо додавати булеві поля?
- Є пропозиція додати не булеві поля, а теги, куди ми будемо додавати різного типу інформацію, наприклад "terminal" для процедур в термінальному статусі, або, наприклад "zembank" для процедур, організатором яких є земельний банк (за єдрпоу).
- Крім direction є пропозиція виділити категорії, а саме "category" для кейсів, коли в рамках одного direction відбуваються торги по певним нішам "риба", "парковки", "оренда атракціонів" і так далі.