From df40b911c1b06ac90631a2421ce4ee586f3c8306 Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 06:57:44 +0000 Subject: [PATCH 01/10] add-description-for-console Signed-off-by: ZihanKuang --- .../constructs/v1beta1/academy/openapi.yml | 93 ++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index 2411c7a72c..62a038c7b7 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -342,7 +342,7 @@ paths: content: application/json: schema: - type: object + $ref: '#/components/schemas/AcademyAdminSummary' '400': description: Invalid request parameters '500': @@ -431,6 +431,7 @@ paths: '500': description: Server error + components: schemas: @@ -1411,6 +1412,17 @@ components: CurriculaRegistrationsResponse: type: object + description: | + This report provides a detailed view of every content registration across your academy. Use it to track individual progress, analyze enrollment patterns, and manage your learner base. You can filter and customize the view using the icons on the top-right. + Displays the learner's name and email. Clicking on the user's avatar will navigate to their public profile page. + The specific content the user is enrolled in. Clicking the title will take you directly to that learning path or certification. + The date the user enrolled in the content. It is displayed as a relative time (e.g., '3 days ago'). Hover over the text to see the full, exact timestamp. + The learner's current progress. Possible values include: + - Registered: In-progress. + - Completed: Successfully finished. + - Failed: Failed attempts. + - Withdrawn: Unenrollments. + required: - data - total_count @@ -1428,4 +1440,81 @@ components: page_size: type: integer page: - type: integer \ No newline at end of file + type: integer + + AcademyAdminSummary: + type: object + description: "Core statistics data for displaying on the academy management dashboard." + properties: + total_learners: + type: integer + description: "This is the cumulative count of all unique learners who have ever enrolled in any of your academy content. A steady growth in this number indicates an expanding reach for your academy." + active_learners: + type: integer + description: "This metric counts all course registrations currently in the 'Registered' (in-progress) status. It's a key indicator of current student engagement and is used for billing purposes on Enterprise plans." + total_tests_taken: + type: integer + description: "This is the total number of all test attempts, including retakes by the same user. High numbers may suggest challenging content, while low numbers could indicate less engagement with assessments." + content_details: + type: object + description: "Overall statistics for academy content." + properties: + content_version: + type: string + description: "This version reflects your latest live academy content. Updates from your Git repository become visible here only after both a GitHub Release is created and the subsequent Layer5 Cloud deployment is complete." + learning_paths_count: + type: integer + description: "Total number of available learning paths." + certifications_count: + type: integer + description: "Total number of available certifications." + challenges_count: + type: integer + description: "Total number of available challenges." + learner_registration: + type: object + description: "This chart shows the distribution of learners by their current status. A high ratio of Registered/Failed/Withdrawn to Completed may indicate that your content is challenging or has engagement issues." + properties: + registered: + type: integer + description: "Learners who are 'in-progress' and have not yet finished the content." + completed: + type: integer + description: "Learners who have successfully finished the content." + withdrawn: + type: integer + description: "Learner who have unenrolled from the content." + failed: + type: integer + description: "Learners who have failed the content." + content_metrics: + type: array + description: "This list ranks your academy content by the total number of registrations. Use this data to quickly identify your most engaging content." + items: + $ref: '#/components/schemas/ContentMetricItem' + test_stats: + type: object + description: "This panel provides a high-level summary of all test activities across your academy." + properties: + pass_fail_summary: + type: object + description: "This chart shows a comparison of the total number of passed vs. failed attempts across all tests. This counts all attempts, including retakes by the same user." + properties: + passed_count: + type: integer + failed_count: + type: integer + most_difficult_test: + $ref: '#/components/schemas/TestSummaryItem' + description: "This is the test with the lowest pass-to-fail ratio, helping you quickly identify the most challenging content for your learners." + easiest_test: + $ref: '#/components/schemas/TestSummaryItem' + description: "This is the test with the highest pass-to-fail ratio, showing which content your learners are mastering most easily." + most_attempted_test: + $ref: '#/components/schemas/TestSummaryItem' + description: "This is the test that learners have attempted the most times, regardless of the outcome. High attempts could indicate either popularity or significant difficulty." + test_metrics: + type: array + description: "This list provides a detailed performance breakdown for each individual test. Each test title is a clickable link that navigates directly to that assessment." + items: + $ref: '#/components/schemas/TestMetricItem' From d3b05ca3d0925278577a4354eac3959e231d5080 Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 07:14:37 +0000 Subject: [PATCH 02/10] fix-wrong-ref Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index 62a038c7b7..f2cf4ba482 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1491,7 +1491,7 @@ components: type: array description: "This list ranks your academy content by the total number of registrations. Use this data to quickly identify your most engaging content." items: - $ref: '#/components/schemas/ContentMetricItem' + type: object test_stats: type: object description: "This panel provides a high-level summary of all test activities across your academy." @@ -1505,16 +1505,16 @@ components: failed_count: type: integer most_difficult_test: - $ref: '#/components/schemas/TestSummaryItem' + type: object description: "This is the test with the lowest pass-to-fail ratio, helping you quickly identify the most challenging content for your learners." easiest_test: - $ref: '#/components/schemas/TestSummaryItem' + type: object description: "This is the test with the highest pass-to-fail ratio, showing which content your learners are mastering most easily." most_attempted_test: - $ref: '#/components/schemas/TestSummaryItem' + type: object description: "This is the test that learners have attempted the most times, regardless of the outcome. High attempts could indicate either popularity or significant difficulty." test_metrics: type: array description: "This list provides a detailed performance breakdown for each individual test. Each test title is a clickable link that navigates directly to that assessment." items: - $ref: '#/components/schemas/TestMetricItem' + type: object \ No newline at end of file From 90ab0a41ba0c93e0341f83c8bc105b5fbf63e18d Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 07:23:32 +0000 Subject: [PATCH 03/10] update Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index f2cf4ba482..4c44141c00 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1412,16 +1412,8 @@ components: CurriculaRegistrationsResponse: type: object - description: | + description: This report provides a detailed view of every content registration across your academy. Use it to track individual progress, analyze enrollment patterns, and manage your learner base. You can filter and customize the view using the icons on the top-right. - Displays the learner's name and email. Clicking on the user's avatar will navigate to their public profile page. - The specific content the user is enrolled in. Clicking the title will take you directly to that learning path or certification. - The date the user enrolled in the content. It is displayed as a relative time (e.g., '3 days ago'). Hover over the text to see the full, exact timestamp. - The learner's current progress. Possible values include: - - Registered: In-progress. - - Completed: Successfully finished. - - Failed: Failed attempts. - - Withdrawn: Unenrollments. required: - data From 7a982444963f404609d9258c3f306d2315c37342 Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 07:29:35 +0000 Subject: [PATCH 04/10] update Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index 4c44141c00..1048ec8b99 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1412,8 +1412,7 @@ components: CurriculaRegistrationsResponse: type: object - description: - This report provides a detailed view of every content registration across your academy. Use it to track individual progress, analyze enrollment patterns, and manage your learner base. You can filter and customize the view using the icons on the top-right. + description: "This report provides a detailed view of every content registration across your academy. Use it to track individual progress, analyze enrollment patterns, and manage your learner base. You can filter and customize the view using the icons on the top-right." required: - data @@ -1465,7 +1464,7 @@ components: description: "Total number of available challenges." learner_registration: type: object - description: "This chart shows the distribution of learners by their current status. A high ratio of Registered/Failed/Withdrawn to Completed may indicate that your content is challenging or has engagement issues." + description: "This chart shows the distribution of learners by their current status. A high ratio of non-completed statuses (i.e., Registered, Failed, and Withdrawn) relative to the 'Completed' status may indicate that your content is challenging or has engagement issues." properties: registered: type: integer From 364cf9b552f2287608c50b115da6139207ab8d1a Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 07:31:48 +0000 Subject: [PATCH 05/10] update Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index 1048ec8b99..5f67382cb5 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1464,7 +1464,7 @@ components: description: "Total number of available challenges." learner_registration: type: object - description: "This chart shows the distribution of learners by their current status. A high ratio of non-completed statuses (i.e., Registered, Failed, and Withdrawn) relative to the 'Completed' status may indicate that your content is challenging or has engagement issues." + description: "This data shows the distribution of learners by their current status. A high ratio of non-completed statuses (i.e., Registered, Failed, and Withdrawn) relative to the 'Completed' status may indicate that your content is challenging or has engagement issues." properties: registered: type: integer @@ -1474,7 +1474,7 @@ components: description: "Learners who have successfully finished the content." withdrawn: type: integer - description: "Learner who have unenrolled from the content." + description: "Learners who have unenrolled from the content." failed: type: integer description: "Learners who have failed the content." @@ -1489,7 +1489,7 @@ components: properties: pass_fail_summary: type: object - description: "This chart shows a comparison of the total number of passed vs. failed attempts across all tests. This counts all attempts, including retakes by the same user." + description: "This data shows a comparison of the total number of passed vs. failed attempts across all tests. This counts all attempts, including retakes by the same user." properties: passed_count: type: integer From 9b6b3e758dfc8c1837cde94b5e45ce0faa8d6d10 Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Wed, 20 Aug 2025 08:05:24 +0000 Subject: [PATCH 06/10] update Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index c91ea604e5..109001d17f 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1477,7 +1477,7 @@ components: description: "Learners who have unenrolled from the content." failed: type: integer - description: "Learners who have failed the content." + description: "Learners who have attempted to complete the content but did not meet the passing criteria." content_metrics: type: array description: "This list ranks your academy content by the total number of registrations. Use this data to quickly identify your most engaging content." From b2a55d917fb8f6b219508744cb6d2f9fffe83911 Mon Sep 17 00:00:00 2001 From: Aabid Sofi <65964225+aabidsofi19@users.noreply.github.com> Date: Wed, 20 Aug 2025 14:39:19 +0530 Subject: [PATCH 07/10] Update schemas/constructs/v1beta1/academy/openapi.yml Signed-off-by: Aabid Sofi <65964225+aabidsofi19@users.noreply.github.com> --- schemas/constructs/v1beta1/academy/openapi.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index 109001d17f..c6055ff360 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -342,7 +342,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AcademyAdminSummary' + type: object + '400': description: Invalid request parameters '500': From 3c16ba74aa58dfe9c1a2dbb2f60c665858511b40 Mon Sep 17 00:00:00 2001 From: Zihan Kuang <127078886+zihanKuang@users.noreply.github.com> Date: Thu, 28 Aug 2025 10:28:42 +0200 Subject: [PATCH 08/10] Update schemas/constructs/v1beta1/academy/openapi.yml Co-authored-by: Lee Calcote Signed-off-by: Zihan Kuang <127078886+zihanKuang@users.noreply.github.com> --- schemas/constructs/v1beta1/academy/openapi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index c6055ff360..e5aa6d867f 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1481,7 +1481,7 @@ components: description: "Learners who have attempted to complete the content but did not meet the passing criteria." content_metrics: type: array - description: "This list ranks your academy content by the total number of registrations. Use this data to quickly identify your most engaging content." + description: "A ranking of your curricula by the total number of registrations. Use this data to quickly identify your most engaging content." items: type: object test_stats: From 79a26b1c8619ea1fd5c9e8da98cb7df3336b1fb2 Mon Sep 17 00:00:00 2001 From: Zihan Kuang <127078886+zihanKuang@users.noreply.github.com> Date: Thu, 28 Aug 2025 10:29:02 +0200 Subject: [PATCH 09/10] Update schemas/constructs/v1beta1/academy/openapi.yml Co-authored-by: Lee Calcote Signed-off-by: Zihan Kuang <127078886+zihanKuang@users.noreply.github.com> --- schemas/constructs/v1beta1/academy/openapi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index e5aa6d867f..cb541fa5c1 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -1486,7 +1486,7 @@ components: type: object test_stats: type: object - description: "This panel provides a high-level summary of all test activities across your academy." + description: "Identity the most difficult, easiest, and most attempted tests in this high-level summary of test performance." properties: pass_fail_summary: type: object From 140709448aa0cc53e6815f3562798bff0cb67a13 Mon Sep 17 00:00:00 2001 From: ZihanKuang Date: Thu, 28 Aug 2025 08:45:51 +0000 Subject: [PATCH 10/10] small-fix Signed-off-by: ZihanKuang --- schemas/constructs/v1beta1/academy/openapi.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/schemas/constructs/v1beta1/academy/openapi.yml b/schemas/constructs/v1beta1/academy/openapi.yml index ee29df8b07..f77a2cba00 100644 --- a/schemas/constructs/v1beta1/academy/openapi.yml +++ b/schemas/constructs/v1beta1/academy/openapi.yml @@ -343,7 +343,6 @@ paths: application/json: schema: type: object - '400': description: Invalid request parameters '500': @@ -432,7 +431,6 @@ paths: '500': description: Server error - components: schemas: