-
Notifications
You must be signed in to change notification settings - Fork 11
Description
- Competence-Management View for all Resources: add View to manage Space-wide Competencies with ID, Name, Description, External Qualification needed, Renew Time
- Competence-Management for Users: add sections in the User Profile to connect existing Competencies and add Proficiency, Qualification Dates, Last Usages
- Inside User Profile: add Selection Field for the User to select existing Competencies
- Inside User Profile: add button to define own competencies (self descriptions by the user) => this competency is only assigned to this one user, but it should be also visible in the Competency Management View
- BPMN Editor: define "Required Competencies" are either with 1. the Description or 2. the User Task HTML Specification
- (low prio) assign existing Space Competencies in BPMN Editor to a task
- Separate, external Matcher
- create own Micro-Service with REST-API in
/src/competencies-matcher - Matching: 1. match on direct competencies (exact matching), 2. match on textual descriptions of competencies (3. later maybe also time- and cost-matching)
- create own Micro-Service with REST-API in
- Use Matching Service in PROCEED: probably in the MS before process start (easier than doing it at runtime in the Engine)
- REST-API: Transmit Resource-Competence List, i.e. the existing users with their competencies:
POST /resource-competence-list/
BODY:
[
{
resourceId: UUIDString, // required
competencies: [
{
competenceId: UUIDString, // required
competenceName: String, // optional
competenceDescription: String, // -> this is one of the most important things for matching recommendations (optional but recommended to have content)
externalQualificationNeeded: Boolean, // optional
renewTime: DaysAsInteger, // optional
proficiencyLevel: 1-10, // optional
qualificationDates: ["1972-08-18T00:00:00.000Z", ... ], // optional
lastUsages: ["1972-08-18T00:00:00.000Z", ... ] // optional
},
{...},
...
]
},
{ resourceId: UUIDString,
competencies: [...]
},
...
]
-
Response:
201 CreatedwithLocation-Header with UUID of the created resource<resource-competence-list-id> -
REST-API: Start Matching/Recommendation process of finding fitting users one (or more) tasks:
POST /matching-task-to-resource/jobs
BODY:
{
resource-competence-list: [...], // first possibility, structure of previous explained POST request where this is send separate from the matching process
resource-competence-list-id: String, // second possibility if competence list was already transferred
tasks: [
{
taskId: UUIDString, // required
taskName: String, // optional
taskDescription: String, // -> this is the other most important things for matching recommendations (optional but recommended to have content)
executionInstructions: String, // optional, e.g. HTML
requiredCompetencies: [{...}, ...] // optional,
},
{...},
...
]
}
-
Response:
201 CreatedwithLocation-Header with UUID of created job<matching-job-id> -
One of either
resource-competence-listORresource-competence-list-idmust be given. You can use the latter if you previously transmitted a resource-competence list and got an ID back. -
tasksis an Array. All given tasks are AND-connected, i.e. the returned resource matching will fit to all tasks. Giving more then one task is useful, if you look for a resource that should do all tasks in a row and the resource must not change between the tasks, e.g. on a working place. (To get different resource matchings for multiple tasks, call the service multiple times with only one task in the Array) -
REST-API: Request status/answer of matching job:
GET /matching-task-to-resource/jobs/<matching-job-id>
- Still in progress: Response:202 Accepted
- Finished (if resource list is too long, then output is limited to the best 10 resources): Response:200 OKBody:
{
<resourceId>: {
matchingProbability: 0-100,
reason: String
},
<resourceId>: { ... },
...
}
- TODO: Process Execution: after Matching, start the MRK process task and send the name of the selected User, the Competence, Score
- Extend Engine and Script Tasks to send this Meta Info (TODO: how)
- play back Info in PROCEED that the User did a Task and have a Competence
Metadata
Metadata
Assignees
Labels
Type
Projects
Status