It might be better to start with specifics: Specifically the student needs to perform Critical Path Network Diagramming. The problem statement (Building a Ski Resort) is a one-page of prose describing which activities need to happen first (Build the road to the site), what activities can then follow-on (Chair-lift towers, etc), and how long different activities will take (x days). The students typically take 2 hours to boil this prose description into a network of precedence logic, calculate the critical path and the overall duration of the whole project. Here's how I would like Canvas to help me:
1) Give a "Randomly Customized" Problem Statement to each Student: The paragraphs of the prose problem statement would be the same, except the numbers would be different for each student (In one version the road takes 5 days, in another version the road takes 10 days). I don't care which student gets which version as long as they each get different versions. Or maybe 15 versions spread throughout a 45 person class. Student would download the problem statement, so they can refer to it when they are offline.
2) The student then leaves Canvas and crunches their unique numbers for the Ski Resort problem.
3) Student then comes back to Canvas and enters their unique mostly-numeric answers. Each student would have uniquely correct answers for their uniquely customized problem statement, which are correct only for their specific customized problem statement. Specifically, these Critical Path Network calculations can be tested for correctness with a relatively few numeric fill-in-the-blanks (What's the overall duration?, How many activities?, List the activities on the critical path, How much slack?) But, again, one student's correct answers are different than another student's correct answers.
I've tried creating a 'question group' of 12 versions of the problem statement, to fake being a randomly customized. And used "Question Group combined with Question Bank" and "Allowed Multiple Attempts", so the student got one more-or-less unique problem statement (and had to submit a non-answer on that 1st attempt just to get out of there), and can leave and come back, but unfortunately when the student comes back on 2nd Attempt to answer their original customized question, Canvas gives them a differently customized question to answer -- ideally it gives them the same question they were given in the 1st attempt.