Загальна інформація
Цей функціонал необхідний для покращення категоризації процедур, розширення можливостей пошуку процедур за певними критеріями без використання довгих та складних query запитів. В межах даного функціоналу буде додано масив мета-даних в процедуру. Дане поле може бути автогенерованим, може бути змінено через панель адміністратора, може бути заповнено вручну при створенні процедури.
Мета-дані допоможуть у вирішенні бізнесових запитів на вибірку процедур за певними параметрами, які в самій процедурі явно не зазначені. Наприклад, "термінальний статус". Хоча ми і розуміємо бізнесово, що є термінальний статус (статус, який є кінцевим для процедури, незворотнім), система не знає, що таке термінальний статус. Тому коли у бізнеса виникає потреба відобразити всі процедури в термінальних статусах, ми маємо перелічувати необхідні статуси по кожному типу процедури. Таким чином, додавши "термінальний статус" в мета-дані процедури, ми зможемо вирішити це питання як з процедурами, які наразі є в БД, так і з процедурами, які буде створено в майбутньому.
Таким чином можливо вирішувати і категоризацію процедур за необхідності.
User stories
- Як адміністратор, я хочу щоб мета-дані генерувалися автоматично в залежності від заданих умов, щоб в процедуру було додано точні і релевантні значення без необхідності ручного втручання.
- Як адміністратор, я хочу мати можливість додавати мета дані в процедуру, щоб доповнювати мета-дані необхідними значеннями у випадку відсутності автогенерованих значень.
- Як адміністратор, я хочу мати можливість редагувати мета дані, щоб змінювати їх вручну на більш точні та релевантні.
- Як адміністратор порталу, я хочу налаштовувати напрямки роботи згідно мета даних, щоб
- Як користувач порталу, я хочу мати можливість шукати процедури по напрямку роботи в мета-даних, щоб швидко і точно знаходити необхідні мені процедури.
- Як учасник аукціону, я хочу мати можливість знаходити аукціони згідно мета-даних, щоб швидко і точно знаходити необхідні мені аукціони.
Структура мета-даних
В процедури необхідно додати масив meta: []
.
Даний масив буде в собі містити логіку мета-даних. Наприклад:
meta: [ { directions:[ { name: commercialSell }, { name: parking } ], readOnly: true }, { subdirections:[ { name: amber }, { name: customs } ], readOnly: false } ]
Тобто таким чином, мета-дані містять в собі різного типу інформацію, яка буде додаватись згідно бізнес-потреб.
Структурно мета-дані є масивом, який містить в собі дані різного типу. Кожен окремий тип даних додається згідно запиту від бізнеса.
Наприклад, є запит додати в мета-дані directions. Ми створюємо задачу на додавання в мета-дані directions. В задачу входить:
- Описати структуру мета-даних.
- Описати логіку автоматичного додавання мета-даних в процедури.
- Описати чи потрібна можливість редагувати ці дані вручну (чи потрібно додавати команди в адмінку)
- Описати чи потрібно проводити міграцію процедур (чи ми хочемо присвоїти старим процедурам мета-дані згідно описаної логіки)
- Описати де буде використано додані мета-дані.
Directions
Першим, що має бути додано в мета-інформацію - напрямки роботи. Напрямки роботи наразі використовуються на порталі для групування та пошуку процедур. Напрямки роботи розподіляються згідно sellingMethod в процедурі. Необхідно додати дану логіку до процедур.
Список напрямків робот на параметри, за якими потрібно додати напрямки робот до процедур:
name | Matching | value | опис в dict | |
---|---|---|---|---|
subsoil | {{ obj['sellingMethod'] }} | Regexp | subsoil-.* | Продаж спецдозволів на користування надрами |
legacySubsoil-.* | ||||
dgf | {{ obj['sellingMethod'] }} | Regexp | dgf-.* | Продаж активів банків-банкрутів |
nonperformingLoans | {{ obj['sellingMethod'] }} | Regexp | nonperformingLoans-.* | Продаж непрацюючих кредитів держбанків |
arma | {{ obj['sellingMethod'] }} | Regexp | armaProperty-.* | Арештовані активи АРМА |
greenEnergy | {{ obj['sellingMethod'] }} | Regexp | renewables-.* | Зелена енергетика |
largePrivatization | {{ obj['sellingMethod'] }} | Regexp | largePrivatization-.* | Велика приватизація |
landArrested | {{ obj['sellingMethod'] }} | Regexp | landArrested-.* | Арештована земля |
commercialPropertyLease | {{ obj['sellingMethod'] }} | Regexp | commercialPropertyLease-.* | Оренда майна приватних компаній |
commercialSell | {{ obj['sellingMethod'] }} | Regexp | commercialSell-.* | Продаж майна приватних компаній |
simpleSell-withoutAuction | ||||
landSell | {{ obj['sellingMethod'] }} | Regexp | landSell-.* | Продаж землі |
landRental | {{ obj['sellingMethod'] }} | Regexp | landRental-.* | Оренда землі |
railwayCargo | {{ obj['sellingMethod'] }} | Regexp | railwayCargo-.* | Вагони Укрзалізниці |
legacyRailwayCargo | ||||
bankRuptcy | {{ obj['sellingMethod'] }} | Regexp | bankRuptcy-.* | Продаж майна підприємств та осіб, які збанкрутіли |
propertyLease | {{ obj['sellingMethod'] }} | Regexp | regulationsPropertyLease-.* | Оренда майна |
legacyRegulationsPropertyLease-.* | ||||
legitimatePropertyLease | {{ obj['sellingMethod'] }} | Regexp | legitimatePropertyLease-.* | Оренда державного та комунального майна |
legacyLegitimatePropertyLease-.* | ||||
sellOut | {{ obj['sellingMethod'] }} | Regexp | smallPrivatization-.* | Мала приватизація |
legacySmallPrivatization-.* | ||||
alienation | {{ obj['sellingMethod'] }} | Regexp | alienation-.* | Продаж майна державних компаній |
timber | {{ obj['sellingMethod'] }} | Regexp | timber-.* | Продаж необробленої деревини |
legacyTimber-.* | ||||
otherAssets | {{ obj['sellingMethod'] }} | Regexp | basicSell-.* | Продаж майна |
legacyBasicSell-.* |
За правилами вище необхідно додати в мета-дані процедури directions.
У однієї процедури може бути декілька directions.
Не потрібно робити можливість обирати direction вручну організатором / майданчиком. Також не потрібно робити команди в адмінці для зміни directions.