partyshah / lab-starter

https://lab.github.com/githubtraining/write-a-learning-lab-course
0 stars 0 forks source link

Write the course steps #4

Closed github-learning-lab[bot] closed 5 years ago

github-learning-lab[bot] commented 5 years ago

Great! Now let's work on the before: block.

before:

Anything in this block occurs before the learner can access their course repository.

Learning Lab actions

Actions are reusable modules that each course has access to. They are each designed to do very specific things, and nothing more. This is to optimize for reusability and simplicity. The documentation contains a listing of :book: all available actions.

Step 7: Add to the before block

We'll use the :book: createIssue action to create an issue for the learner with some initial instructions. The createIssue action requires two :book: options:

We'll define both of those here, but we'll create the body in the next step.

:keyboard: Activity: Add the createIssue action

  1. Add a createIssue action in the before: block
    • Note: Since there are multiple suggested changes, you can go to the "Files changed" tab and accept them as a batch

I'll respond below when I detect a commit on this branch.

github-learning-lab[bot] commented 5 years ago

I didn't detect the proper new issue syntax.


When I detect your new commit, I'll respond in this pull request.

github-learning-lab[bot] commented 5 years ago

I didn't detect the proper new issue syntax.


When I detect your new commit, I'll respond in this pull request.

github-learning-lab[bot] commented 5 years ago

Great! Now, the repository will have an issue for the learner.

Step 9: Creating a response

In the last step, we referenced a file titled welcome-text.md, but it doesn't exist. Learning Lab automatically looks in the :book: responses/ directory for all content files. Let's add it.

:keyboard: Activity: Adding a response

  1. In the /responses/ folder, create a new file titled welcome-text.md
    • Note: If you're working on GitHub.com, you may need to navigate to the Code tab, checkout to the write-steps branch, and click Create new file, or use this shortcut
  2. In that file, add some content that will appear to the learner in the welcome issue
  3. Add an instruction for the learner to open a new pull request titled "Add name to README" in which they add their name to the README file

I'll respond below when I detect a commit on this branch.

github-learning-lab[bot] commented 5 years ago

You didn't include a response. Make sure that:


When I detect your new commit, I'll respond in this pull request.

github-learning-lab[bot] commented 5 years ago

Great! The learner's repository will now be setup with a single issue.

Steps in Learning Lab

Let's now dive into the steps:. This block is composed of :book: steps that are triggered by events on GitHub, and in turn certain :book: actions take place. actions in this context are NOT the same as GitHub Actions.

Each step maps directly to something that the user will do. User interaction on GitHub triggers the step, and Learning Lab responds. The user interaction could be creating a pull request, closing an issue, or editing a file. When designing a course, it's important to plan for the user interactions to reflect what you want them to learn.

Best practices for steps For example, you _could_ write a lot of text and have the user close the issue when they're done. But, unless your text was telling them how to close an issue, that reaction doesn't make sense. Try to find a way to have the user demonstrate their knowledge, like by committing a function to a branch. Let the user _show_ they understand to trigger the next step. See [:book: best practices](https://lab.github.com/docs/response-best-practices) in the Learning Lab docs for more suggestions.

Step 9: Naming our first step

Let's name our first step. We will give it a title and a description. These will be shown on Learning Lab, and they help course authors stay organized in the config.yml file. The docs show :book: syntax and examples of how steps are shown to the learner.

:keyboard: Activity: Naming our first step

  1. Add a title and description for the first step
    • Note: You can do this by editing the file, or accepting my suggested change

I'll respond below when I detect a commit on this branch.

github-learning-lab[bot] commented 5 years ago

There's no title for your step.


When I detect your new commit, I'll respond in this pull request.

github-learning-lab[bot] commented 5 years ago

Great! Your learner now has information about what they're expected to do in this step of the course.

Events

Every step in a course will be triggered by a GitHub Event. All possible events are documented in Events Types & Payloads on the GitHub Developer Guide.

Step 10: Add an event

Let's now find the event that will trigger the step. Because we want the learner to open a new Pull Request, the event we're looking for is pull_request. Whenever this event occurs, information about the pull request is delivered to Learning Lab. However, if we just write pull_request, any interaction with a pull request will cause this step to be triggered. We're specifically looking for the learner to open a pull request. We can filter the event to only opened pull requests by using pull_request.opened instead.

:keyboard: Add an event

  1. Add a pull_request.opened event for the first step
    • Note: You can do this by editing the file, or accepting my suggested change

I'll respond below when I detect a commit on this branch.

github-learning-lab[bot] commented 5 years ago

Great! Your learner now has information about what they're expected to do in this step of the course.

Events

Every step in a course will be triggered by a GitHub Event. All possible events are documented in Events Types & Payloads on the GitHub Developer Guide.

Step 10: Add an event

Let's now find the event that will trigger the step. Because we want the learner to open a new Pull Request, the event we're looking for is pull_request. Whenever this event occurs, information about the pull request is delivered to Learning Lab. However, if we just write pull_request, any interaction with a pull request will cause this step to be triggered. We're specifically looking for the learner to open a pull request. We can filter the event to only opened pull requests by using pull_request.opened instead.

:keyboard: Add an event

  1. Add a pull_request.opened event for the first step
    • Note: You can do this by editing the file, or accepting my suggested change

I'll respond below when I detect a commit on this branch.