Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions cypress/e2e/admin.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -665,6 +665,30 @@ context('Admin: Generate Screenshots', () => {
cy.get('[data-cy="adminGroupQuizzesTable"] [data-cy="skillsBTableTotalRows"]').should('have.text', '3')
cy.snap('page-admin-groups-quizzes')

cy.visit('/administrator/adminGroups/FancyGroup/group-global-badges')
cy.get('[data-cy="adminGroupGlobalBadgesTable"] [data-cy="skillsBTableTotalRows"]').should('have.text', '1')
cy.snap('page-admin-groups-global-badges')
})

it('page - global badges', () => {
cy.visit('/administrator/globalBadges/MoviesandShowsExpertBadge')
cy.get('[data-cy="noContent"]').contains('No Skills Added Yet');
cy.selectSkill('[data-cy="skillsSelector"]', 'FindingNemo', 'nemo', 'movies');
cy.selectSkill('[data-cy="skillsSelector"]', 'UnbreakableKimmySchmidt', 'kimmy', 'shows');
cy.snap('page-global-badge-skills')

cy.visit('/administrator/globalBadges/MoviesandShowsExpertBadge/levels')
cy.get('[data-cy="simpleLevelsTable"] [data-cy="skillsBTableTotalRows"]').should('have.text', '2')
cy.snap('page-global-badge-levels')

cy.visit('/administrator/globalBadges/MoviesandShowsExpertBadge/access')
cy.get('[data-cy="existingUserInput"]').type('bob1');
cy.wait(500);
cy.get('#existingUserInput_0').contains('bob1').click();
cy.get('[data-cy="addUserBtn"]').click();

cy.get('[data-cy="[email protected]"]')
cy.snap('page-global-badge-access')
})

it('Notifications', () => {
Expand Down
9 changes: 9 additions & 0 deletions cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,4 +133,13 @@ Cypress.Commands.add('selectItem', (selector, item, openPicker = true, autoCompl
cy.get(itemToSelect).click();
}
cy.get('[data-pc-section="overlay"] [data-pc-section="optionlabel"]').contains(item).click();
})

Cypress.Commands.add('selectSkill', (selector, skillId, searchString = '', projId='proj1') => {
cy.get(selector).blur({force: true})
cy.get(selector).click()
if (searchString) {
cy.get(selector).type(`{selectall}${searchString}`)
}
cy.get(`[data-cy="skillsSelectionItem-${projId}-${skillId}"]`).click()
})
1 change: 1 addition & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ sidebar = sidebar.concat([{
'/dashboard/user-guide/quizzes-and-surveys',
'/dashboard/user-guide/admin-groups',
'/dashboard/user-guide/badges',
'/dashboard/user-guide/global-badges',
'/dashboard/user-guide/learning-path',
'/dashboard/user-guide/progress-and-ranking',
'/dashboard/user-guide/icons',
Expand Down
10 changes: 7 additions & 3 deletions docs/dashboard/user-guide/admin-groups.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Admin Groups

Admin Groups streamline the ability to manage a list of administrators for one or more projects and/or quizzes.
Once an Admin Group is created you can easily add and remove members to and from the group. A group can then be assigned to one or more projects and/or quizzes
which then allows the members of the group to have administrative privileges to the assigned projects and/or quizzes.
Admin Groups streamline the ability to manage a list of administrators for one or more projects, quizzes and global badges
Once an Admin Group is created you can easily add and remove members to and from the group. A group can then be assigned to one or more projects, quizzes, or global badges
which then allows the members of the group to have administrative privileges to the assigned projects, quizzes and global badges.

To create an admin group please navigate to the ``Admin Groups`` page and then click the ``Admin Group +`` button.

Expand All @@ -15,3 +15,7 @@ To assign a group to a project please navigate to ``Adming Groups -> Projects``
To assign a group to a quiz please navigate to ``Adming Groups -> Quizzes`` then select one of the existing quizzes from the dropdown.

![page-admin-groups-quizzes.png](../../screenshots/admin/page-admin-groups-quizzes.png)

To assign a group to a global badge please navigate to ``Adming Groups -> Global Badges`` then select one of the existing global badges from the dropdown.

![page-admin-groups-global-badges.png](../../screenshots/admin/page-admin-groups-global-badges.png)
29 changes: 1 addition & 28 deletions docs/dashboard/user-guide/badges.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,31 +59,4 @@ Multiple skills can be easily added to an existing badge via the following steps
- Navigate to the `Subject` administrative page page `Project -> Subject`
- Use checkmark to select multiple skills OR click `Select All` to select all the skills defined under this subject.
- Use the `Action` button on the top-right above the skills' table to select `Add To Badge` action
- Follow `Add To Badge` workflow to choose which badge selected skills are added to

<conditional visibilityFlag="showDocsForRootRole">

## Global Badges

Global Badges are a special kind of badge that is made up of a collection of skills and/or levels that span across project boundaries.

Global Badges consist of:
- *Project's Levels*: Project levels that a user must achieve in order to earn the badge
- *List of Skills*: Skills from any project

When all of the configured skills and levels are accomplished, that badge is achieved.
Global Badges are specifically used to reward users for achieving skills that involve multiple projects,
and can only be created by Dashboard users that have the [Supervisor](/dashboard/user-guide/users.html#user-roles) role.

Creating Global Badges is simple (<requires-role role="Supervisor" />):

1. Navigate to ``Home -> Badges`` and click ``Badge +``
- You can (and should) assign an [Icon](/dashboard/user-guide/icons.html) to your badge.
1. Once a badge is created you can assign existing skills and/or project levels to that badge.
- To assign skills, ``Home -> Badge -> Manage -> Skills``
- To assign project levels, ``Home -> Badge -> Manage -> Levels``
- When initially created, a badge is in a Disabled state. This is to allow dependencies to be fully added to the badge before it can be achieved by users.
1. After assigning skills and or project levels, locate the badge in the ``Badges`` view and click the ``Go Live`` link on the bottom right of the Badge overview.
- When the badge is published, any users with existing achievements that meet the badge requirements will be awarded the badge at that time.

</conditional>
- Follow `Add To Badge` workflow to choose which badge selected skills are added to
50 changes: 50 additions & 0 deletions docs/dashboard/user-guide/global-badges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Global Badges

Global Badges recognize and reward users for achieving skills and levels across multiple projects. These badges help track and celebrate comprehensive skill development that spans different project boundaries. Global Badges can include skills and levels from any project you have Admin access to.

## Overview

Global Badges are awarded when users meet specific criteria that can include:
- Skills from multiple projects
- Project level achievements
- Any combination of the above

## Components of Global Badges

### Project Levels
Earn badges by reaching specific levels across different projects. These levels demonstrate consistent growth and achievement within individual projects.

![Global Badge Levels](../../screenshots/admin/page-global-badge-levels.png)

### Skills
Showcase expertise by completing specific skills from any project you have access to. These can be combined to create comprehensive achievement paths.

![Global Badge Skills](../../screenshots/admin/page-global-badge-skills.png)

## Access

The Access page supports adding or removing Global Badges Administrators. To add and remove Administrators
please navigate to ``Home -> Global Badges -> Manage -> Access`` page.

![Global BadgeAccess](../../screenshots/admin/page-global-badge-access.png)

## Creating Global Badges

### Step 1: Create a New Badge
1. Navigate to `Home -> Global Badges`
2. Click the `Badge +` button
3. **Recommended**: Add a descriptive [Icon](/dashboard/user-guide/icons.html) for better visual recognition

### Step 2: Configure Badge Requirements
After creation, set up the badge criteria:
- **Adding Skills**: `Home -> Global Badges -> Manage -> Skills`
- **Setting Level Requirements**: `Home -> Global Badges -> Manage -> Levels`

> **Note**: New badges start in a Disabled state, allowing you to fully configure all requirements before they become available to users.

### Step 3: Publish the Badge
1. Go to the `Global Badges` view
2. Locate your badge
3. Click the `Go Live` button in the bottom-right corner of the Badge overview

> **Important**: When published, the system automatically awards the badge to all users who already meet the requirements.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/screenshots/admin/page-admin-groups-projects.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/screenshots/admin/page-admin-groups-quizzes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/screenshots/admin/page-admin-groups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.