PSKoans
PSKoans copied to clipboard
Send student's progress to teacher
Describe "Functionality"
How about a way for a student (user) to send their koans progress / koans answers to the teacher (vexx32), either for review or for the teacher's knowledge of what most people are coming up with on how they solved certain koans (if you didn't think of that particular solution)? Or perhaps for homework review or if they need help?
Any ideas on how this could be accomplished would be fantastic. 😁
Preliminary thoughts:
Implement a command (name up for discussion) which:
- (by default) packages all koans files into a zipfile, OR packages only selected koans files into a zipfile,
- doesn't need to preserve folder structure
- sends an email / Slack / Discord message with the zipfile as attachment, OR uploads the file to a publicly available file share via a public API and returns the link to the uploaded file
Any other suggestions welcome, would love to get something like this in, but details are still fuzzy. Send-MailMessage is 1) obsoleted, and 2) doesn't actually work in all cases if the environment doesn't have that capability, so I think we'd either need to implement an Azure Functions endpoint that can handle either a file upload or being sent a link to the files, and somehow that would get in contact with me or send an email to me, or something.
@tylerleonhardt may have some ideas in this vein. 🙂
I could see a sort of "opt-in" experience where a student agrees to share their answers to the questions that will be sent to a REST API (for example Azure Functions) and stored in some database or something.
"would you like to opt in to share your answers so we can improve the course? (Y/n)"
Maybe if the student is stuck, you could have a cmdlet that opens a GitHub issue in this repo with:
- what question they're stuck on
- (maybe) what they have already
- etc
Both of those are great ideas! 😍
We can borrow some pieces from @indented-automation's work in #223 for some of that, perhaps?
I'm not sure how sending them into a REST API would work, but it'll be something I'll need to look into I suppose 🙂
Something like this maybe?
irm https://myfunc.azurewebsites.net/api/report `
-Body (@{
Level = "foo"
Solution = (Get-Content ./path/to/ps1)
})
Then your Function just throws that into some database
Yeah that makes sense. I think it's more the latter part that I'm not sure how I'd handle, I think... but I guess we can look at that when we start getting things set up for it.
Just saw this on Twitter:
https://twitter.com/LostInTangent/status/1168151789373251584?s=19
👀 that's a cool idea! Woah.
I would like to suggest Github Gists.
They can have multiple files. And can be public or private (opt-in/out). And @dfinke already has a powershell module for interacting with them: https://github.com/dfinke/Posh-Gist
The link to the Gist can then still be send by your means of choice. (email, discord, slack, ...)
Oh, awesome, that's a great place to start. Thank you for the suggestion! 💖 😊
@pminnebach Wow, that's an oldie. Wonder if it still works?
@dfinke ah, the shining avatar of confidence in our hour of need. 😉 😂
Maybe if Pester had been around, I would've had some unit tests, and confidence :)
Based on this tweet: https://twitter.com/LostInTangent/status/1206004919066476544
The GistPad extention for vscode looks like an awesome contender: aka.ms/gistpad