Tutorial Creators

OK; so you have a few things happening here, @rymc88 . Feel free to take a look at my fork at https://github.com/alex-kulcsar/Unit-1-Skillmap. Skillmap URL remains similar to yours: https://arcade.makecode.com/--skillmap#github:alex-kulcsar/Unit-1-Skillmap/blob/master/skillmap.md

A few tips that I discovered while working with your incredible skillmap.

  • Test your skillmaps and tutorials in private / incognito windows. Any problems with permissions should surface this way.
  • The MakeCode servers may cache your skillmap and/or tutorials. Because of that, you will need to push a new release anytime you make a change. That brings me to my next tip!
  • You really need to do the source management through a MakeCode editor. The pxt.json file is crucial to your tutorials and skillmaps working. If it is malformed or if something is missing, then something is bound to break.
    • Once you create the project in a MakeCode editor and push it to GitHub, then you can use any tool that you like to edit existing files.
    • To add new Markdown files, use the file explorer tool within a MakeCode editor. This will ensure that the pxt.json file gets updated correctly.
    • You can use another git management tool to push assets (e.g., images) to your repo.
    • Use a MakeCode editor to push new releases of your project. Creating a release using standard git tools will not purge cached data.

Here is a list of changes that I made to your repo in order to get my version to work.

  1. Open the GitHub repo in MakeCode Arcade. It looks like you already have authored at least part of the project from the MakeCode Arcade editor, so the repo should load into your editor just fine for you.
  2. Create your tutorial files (e.g., Lab-1-2.md) using the file explorer tool in the editor. Note that this will create new files in the root of your repo.
  3. Copy the code from your existing tutorial files and paste into the new ones that you created.
  4. Adjust the URLs for the nodes / activities.
    • You can simplify the URLs. Instead of pointing to the file blob, just point to the tutorial file without the .md extension. For example, the activity link to Lab 1.2 would be https://github.com/rymc88/Unit-1-Skillmap/Lab-1-2.
    • URLs to other assets (e.g., images) still need to point to the raw assets, as you have already done.
  5. Commit the changes and publish a new release of your project using the tools in the MakeCode editor.

Most of these tips are in the MakeCode documentation, but they’re a bit scattered right now. I know that @KIKIvsIT is working really hard on pulling documentation together for writing awesome skillmaps and tutorials like yours. I’m thinking we may need to create a workshop, too. :wink: :wink:

Again, great job, @rymc88 ! I’m really happy that you’re turning some of these lessons and units from our TEALS curriculum into skillmaps and tutorials.

Holler if you need anything.

1 Like

Thank you so much @AlexK for looking through all of that and figuring out the issues! I will rework my Skillmap with your suggestions and hopefully yield a better result :slight_smile:

3 Likes

I believed I have fixed the issues and everything works in a(n) private/incognito window.
Let me know if it works or doesn’t work on your end @AlexK .

https://arcade.makecode.com/--skillmap#github:rymc88/unit-1-skillmap-new/skillmap.md

2 Likes

Looks great, @rymc88 ! One thing that I noticed is that the second Eat It All! activity does not load the code that I created in the preceding activity. The Sprites in the corners path works perfectly, though!

Excellent work!

1 Like

My code blocks do not carry over for either path…hmmm

@MakeCode @richard @jwunderl @KIKIvsIT …Does the tutorial map automatically save the users code blocks as they progress through the steps or did I miss adding something to the markdown that will do this?

So, I found this:

Interestingly, the default value for allowcodecarryover is true, so unless you specifically set it to false for any of your activities, the learner’s code should save.

So … I’m out of ideas. :laughing: . I’ll keep digging, though!

I didn’t even know that was an option, so I didn’t set it false haha. I tried explicitly set the code carryover to true…still no luck. One of these days we will get it working. Thank you for always helping out @AlexK !

1 Like

I wonder if it has something to do with serving it from your own github, because the link between the two looks fine to me.

@richard

1 Like

hmmm… glancing at the code, I don’t think that it being from github should affect anything. @rymc88 could you file an issue for this?

1 Like

Submitted!

2 Likes

When making a release through Arcade it says it is successful, but when checking my github I see a build failure. Could this be the issue?

@rymc88 I don’t think so. That build shouldn’t actually affect anything… it’s trying to create a binary UF2 file that you can download from the releases section of the github repo.

2 Likes

@AlexK When you run your forked version of the skillmap, did your code save to from one step to the other or was it just my verison?

It doesn’t work with mine, either, @rymc88 .

:frowning: shucks…I am going to try to fork one of MakeCode skillmaps and build off that to see if it works.

@richard I was wondering if you had any idea on why the user’s coding blocks are not carry from one activity to the next in a skillmap. I have compared mine with @KIKIvsIT and the robo skillmap and I cannot spot any differences. Appreciate any help!

@rymc88 could you open an issue for it in pxt-arcade? this certainly sounds like a bug. i’ll try to take a look at it when I have a moment

2 Likes

Thank you!

1 Like

Update…it is working with skillmaps loaded from my personal repo:
https://arcade.makecode.com/--skillmap#github:kiki-lee/forest_test/forest.md

@rymc88 Can you try putting your tutorial files in a folder with the same name as the skillmap? I can’t see a reason why that should be the issue, but it could be.

If that doesn’t work, here are some of my ideas:

  1. Maybe try downloading this same forest_new package from https://github.com/kiki-lee/forest_test and see if it works for you
  2. If not, the difference could be that I’m part of the Microsoft team…but again…I’m not sure why that would matter.
2 Likes

@AlexK @rymc88 @KIKIvsIT

Alright, I had the chance to debug this and I figured it out. For code to carry over between tutorials, you have to have template code in the tutorial you’re loading.

For example, if I want code from tutorial 1 to carry over to tutorial 2, then tutorial 2 needs to have a code block like this somewhere in the markdown:

```template
```

This is because we have a “bail-out” button that users can use to restore their code to the template just in case they started the activity with buggy code from the previous activity. The code in this template should be the ideal completed code from the previous tutorial.

I think this is a good restriction to have, but I’ll add a warning to the console to hopefully make this error a little more discoverable in the future.

2 Likes