Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
learningmap

Technical Design Document - Learning Map

This document explains about various features of learning map functionality and its implementation.

Features

This feature brings the following functionalities into the system

  • Create Custom Learning Map
  • Assign Learning Map
  • Search for the learning activities
  • Know the details of what do you want to become ( Direction)
  • Learningmap progress
  • Learning activity details

LearningMap

Learningmap will be available to the user based on his profile and job role. System captures his profile information and pass it to learning map API. It provides the learningmap data in the required format.

Structure of LearningMap

All the learning activities encapsulated with competencies or path. All the path or competencies are connected to learning map. See the below screenshot.

Data Structure for LearningMap

Learningmap data needs to be processed into the following JSON format to support this feature.

{
    "learningmaps": [
        {
            "id": "<Learning map ID>",
            "name": "<Learningmap name>",
            "role_of_lm": "<Role name - Optional>",
            "status": "<Assigned, Inprogress,Completed>",
            "paths": [
                {
                    "name": "<Name of the path or competencies>",
                    "status": "<Not Started,Inprogress, Completed>",
                    "courses": [
                        {
                            "id": "<Course ID>",
                            "name": "<Course Name>",
                            "complex": "<easy,medium,complex>",
                            "duration": "<Duration of the course>",
                            "tags": "<tags>",
                            "dependencies": "<Prerequisites course details>",
                            "status": "<Status of the Course. Ex: Not Started,Inprogress, Completed>"
                        }
                    ]
                }
            ]
        }
    ]
}

Example data structure with sample data.

{
    "learningmaps": [
        {
            "id": "1",
            "name": "LM for Basic Programmer",
            "role_of_lm": "Basic Programmer",
            "status":"Inprogress",
            "paths": [
                {
                    "name": "Core programming",
                    "status":"Inprogress",
                    "courses": [
                        {
                            "id": "1",
                            "name": "C",
                            "complex": "easy",
                            "duration": "12",
                            "tags": "programming",
                            "dependencies": "",
                            "status":"Completed"
                        },
                        {
                            "id": "2",
                            "name": "C++",
                            "complex": "medium",
                            "duration": "18",
                            "tags": "programming",
                            "dependencies": "1",
                            "status":"Not started"
                        },
                        {
                            "id": "3",
                            "name": "Java",
                            "complex": "high",
                            "duration": "24",
                            "tags": "programming",
                            "dependencies": "1,2",
                            "status":"Inprogress"
                        }
                    ]
                },
                {
                    "name": "DB programming",
                     "status":"Not started",
                    "courses": [
                        {
                            "id": "4",
                            "name": "Mysql",
                            "complex": "easy",
                            "duration": "10",
                            "tags": "db",
                            "dependencies": "",
                            "status":"Not started"
                        },
                        {
                            "id": "5",
                            "name": "Postgresql",
                            "complex": "easy",
                            "duration": "10",
                            "tags": "db",
                            "dependencies": "",
                            "status":"Not started"
                        }
                    ]
                }
            ]
        }   ]
        }
       
    ]
}

Search Learning Activities

System allows user to search for the learning activities by its name and tags.Type the tag or learning activity name and click go.It displays the learning activities with point of interest icon.

Direction API

User can see total no of hours required to obtain the new learning map from his current progress. This feature brings prerequisite course entities into the consideration before it calculates the total number of hours. Identified path will be shown in red color.

Create Custom LearningMap

This feature allows user to create his own custom map by available learning activities. Learning activities will be fetched through LearningActivities Search API based on user profile. Provided workflow below.

Step1: Click on "Create Map" button.

Step2: Search learning activities by name or using tags.

Step3: Delete the not required learning activities by click on Delete button after select the object.

Step4: Re order the learning activity and save it

Step5: Save the learning map

Assign Learning Map

By click on assign icon in the learning map, it will be assigned to the user. Assigned learning map will be displayed using assigned legend(“Orange” color). As soon as learning activities completed, map will be updated dynamically using completed legend(green color)

Frameworks

Following are the open source frameworks used to obtain the core functionality of map.

1. FabricJS Framework
2. JSONPath Framework

learningmap.txt · Last modified: 2018/08/31 16:16 (external edit)