UNCLASSIFIED - NO CUI

Display All Information About a Course in the Training Roadmap

What problem(s) will it solve?

In relation to the Training Roadmap, when a user clicks on a course link, the user is taken to an external site to sign-up for the course. Personally, I don't particularly like this because the user has no way to learn about the course first. Maybe the user wants to find out more information about the IDF course before they go sign-up for it or maybe they do just want to sign-up for it. Either way the link will only take them to one location and it may or may not be what they want.

What problem do we solve? Try to define the who/what/why of the opportunity as a user story. For example, "As a (who), I want (what), so I can (why/value)."

As a user of the Training Roadmap, I want to see all available information about a course (including details, syllabus, sign-up links, etc.), without actually leaving the web site, in order to make an informed decision about whether or not to sign-up for any of the available courses.

Who is the intended user(s)?

Anyone wishing to use the Training Roadmap

Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later. Personas are described [here](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/)

  • Users wishing to follow a training path
  • Traininers/Supervisors/Managers needing information on completion criteria
  • Leadership wishing to see information about available training for their personnel

Lay out the expected user experience

What is the single user experience workflow this problem addresses? For example, "The user should be able to use the UI/API/.gitlab-ci.yml with GitLab to <perform a specific task>" [Gitlab UX Docs](https://about.gitlab.com/handbook/engineering/ux/ux-research-training/user-story-mapping/)

The user should be able to view all available information about a course, on the Training Roadmap website, so they can make the best decision about whether or not to sign-up for one of the available courses. The information should be made available in a way that allows them to remain on the Training Roadmap website so they can view detailed information about as many courses as they wish before deciding to go to another site.

Work Flow:

  1. A user browses to the Training Roadmap
  2. A user clicks on one of the available training nodes (Basic-Dev, Senior-PO, etc.)
  3. A user clicks on one of the course links
  4. An overlay, or similar feature, displays course details, syllabus, sign-up links, or other links and information
  5. The user reads the information and makes an informed decision to go to an external link or view other course details
  6. The user's decision:
    1. The user clicks a sign-up, or other link, that takes them to a helpful site to accomplish the intended task (repeat steps 1-6) or
    2. The user closes the course details and considers other course options (repeat steps 2-6)

Note: Either 6.1 or 6.2 will happen, not both

Proposal

How are we going to solve the problem? Try to include the user journey! [Gitlab Journeys](https://about.gitlab.com/handbook/journeys/#user-journey)

Collect all information into one div that covers the whole Roadmap. This div would pull in all the information in the Course's README.md (I'm assuming this is where the syllabus will be) and display this information, as well as links to various places (sign-up, course syllabus, course repo, etc.), in the Training Roadmap. This allows the user to get information about a course and have links to go to other sites without actually taking them away from the Training Roadmap. A user would then be able to read about all available courses without actually being taken away from the Training Roadmap site.

Further details

Include use cases, benefits, goals, or any other details that will help us understand the problem better.

  • The files with the course syllabus/details will remain in the course repository.
  • The Training Roadmap will pull the information
  • The Training Roadmap will display the pulled information, as well as any other sign-up, or other, links in a manner that allows the user to read all available information
  • The user has a way to dismiss the displayed information so they can view information on other courses if desired

Permissions and Security

What permissions are required to perform the described actions? Are they consistent with the existing permissions as documented for users, groups, and projects as appropriate? Is the proposed behavior consistent between the UI, API, and other access methods (e.g. email replies)?

Public access will be necessary

Documentation

See the Feature Change Documentation Workflow Gitlab Feature Change Workflow

  • Add all known Documentation Requirements in this section. See Gitlab Dev Docs
  • If this feature requires changing permissions, update the permissions document. See Gitlab Permissions

Availability & Testing

See the test engineering planning process and reach out to your counterpart Software Engineer in Test for assistance: Gitlab Test Planning

This section needs to be retained and filled in during the workflow planning breakdown phase of this feature proposal, if not earlier.

What risks does this change pose to our availability? How might it affect the quality of the product? What additional test coverage or changes to tests will be needed? Will it require cross-browser testing?

Please list the test areas (unit, integration and end-to-end) that needs to be added or updated to ensure that this feature will work as intended. Please use the list below as guidance.

  • Unit test changes
  • Integration test changes
  • End-to-end test change

What does success look like, and how can we measure that?

Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this.

  • Clicking a course link does not take the user to an external site
  • Clicking a course link displays all available information (including details, syllabus, links, etc.) on the Training Roadmap site
  • There is a way to dismiss the displayed information so a user can view other course details if desired

Links / references

Edited by charles.heaton.2