Peer Instruction Migration to FastAPI#1209
Conversation
|
Thanks @sethbern . It looks like you found and cleaned up a number of things in my previous work on porting. The overall structure looks good so keep going I say. I'll take a closer look at the LTI stuff. I'm just back from two weeks of travel, so I've got a number of other things to take care of before I'm fully back at my desk. |
|
If you could install |
|
@bnmnetp @barbarer The web2py peer instructor dashboard has a nav bar with tabs for Student Progress, Admin, Grading, Assignments, Practice, and Help/Documentation. Should this nav bar be included in the new FastAPI peer interface at all? And if so, for the tabs that don't have FastAPI routes yet (Student Progress, Practice, Help/Documentation), should I create them, or are they not worth porting? |
|
No, you can leave the nav bar tabs out of the new FastAPI interface. |
|
Hey @bnmnetp, I've migrated both synchronous and asynchronous peer instruction to FastAPI and tested locally. I think this is ready for review. |
|
Great, I'll take a look. The I'll plan to merge soon so that we can run this in parallel with the old until we have tested it a bit more in the wild. |
|
I did look into it but couldn't fully figure it out. It seems like CI might be picking up an old version of rsptx.db.crud but I'm not totally sure. |
|
have you fetched origin/main and rebased? |
|
CI creates a whole new virtual machine and environment each time it runs so there are no caching issues possible. |
|
I just rebased and it is still not passing. I can dig into it a bit more to see whats causing the issue |
|
I'm sure you know this, but you can run the tests locally too. |
|
Yikes what happened? This PR now has 423 files changed!!?? |
|
I accidentally rebased onto origin/main instead of upstream/main, which is why all those extra commits showed up. When I run the tests locally they're all passing on my end |
…udent justification for first message in async pi
|
@bnmnetp Tests are passing now |
|
Yes, I fixed the import problem, and it looks like you have rebased this back to a manageable size. I'll review and try to get this merged in the next couple days. |
|
For posterity: There were problems importing anything from the crud package that were added after I branched runestone 7.13.5. As rsmanage was installing 7.13.5 (whereas before the branch it always used the development version of runestone rather than released.). 7.13.5 is the last released version of runestone that supports building a book written in RST. runestone 8.x only supports the javascript and css for including components in books authored in PreTeXt. |
|
Thanks, could you please update the documentation to keep the JSON schema up to date for questions. See Its chapter 19 in https://docs.runestone.academy |

Hey @bnmnetp, I have done a first pass at moving peer instruction over to FastAPI. For now I am focusing on sync PI to get things working end-to-end before touching async.
Sync PI routes are in, Jinja2 templates ported from the old web2py views, and nav links fixed across
_base.html,menu.html, and the Sphinx book theme so everything points to/assignment/peer/.... Async stubs are there but not wired up yet. I've tested locally and seems to be working ok.A couple things I wanted your eyes on before I keep going: