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.
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.
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.
Copy the code from your existing tutorial files and paste into the new ones that you created.
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.
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.
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.
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
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!
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?
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. . 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 !
@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.
@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 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.
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.