theRAPTLab / meme-2023

MEME 2023 grant development (fork from MEME 2018)
MIT License
0 stars 0 forks source link

Verifying Template / Shared Classroom Structure #31

Open benloh opened 1 month ago

benloh commented 1 month ago

Clarifying the number of servers per classroom/site.

@jdanish We want to make sure that our current implementation architecture works for what you need for the studies.

We had talked about having two "servers": one for each location.

Each "server" install has a shared set of resources.

One key question is how Resources are handled. Currently Resources IDs are shared across all classrooms on one "server" -- so the assumption is that the resource IDs (e.g. the "footnote" numbers for the resource library) are persistent across all classrooms on the server. There are a few implications:

The AWS architecture will require a different mapping of database files and resource library items and may be shared across "servers" so we want to make sure that the capabilities and limitations of that structure make sense.

jdanish commented 4 weeks ago

The basic organization you note sounds right. A minor note that since the sentence starters are not targeted, we've largely been just using "(see notes above)" or something like that. It's fine to leave it as-is, or long-term we could just remove that since we aren't doing much with it.

Adding a new resource will probably require some kind of FTP/S3 interface. So adding files like PDFs will require some technical chops.

Assuming you can still have evidence point to a url, this is totally fine since the teachers can always upload google docs to their own account and link to them or similar. Long-long term we might want to build out or leverage an interface to make ftp not necessary, but short-term if the teachers who don't know how can simply use external links, all good.

Adding a resource after the study has already begin should not be a problem. Though deleting them might mess up the resource IDs.

That's fine as we can just hide mid-study. Though we want to gracefully handle hidden resources (e.g., either hide their e evidence links, or show a popup that says the teacher hid it so ask them).

We assume that for a given location, they would be fine sharing the resource library -- e.g. you're not dealing with two completely different domains where sharing the resource IDs will be a problem. e.g. you won't have 100 different resource items and turning them on and off for different sets of classrooms is not a challenge.

Agreed. If we really need them to be different we can just run a separate server, right? Like if there was a bunch of 6th grade teachers doing one thing, and 7th grade teachers doing something completely different but in the same building, we might opt to use 2 servers for that. My hope is that AWS will be easy enough that it is far easier to run 2 servers then to solve all of the UI problems required to have one server server 2 teachers who are doing entirely different things. The sharing is for teachers doing overlapping things, which happens quite often.

The one other / related issue I'll note is around the resource ids. Right now, there is no easy way to re-order them, which means if we use a server, test some ideas, move things around, etc., then a given class might end up with ids 8-15. That feels a bit confusing. Ideally we'd want to have some control over that. It's OK if they are the same across classes on the server, I think, but if we could at least re-order them that'd help make it feel intuitive. Ideally, this would be doable even after the study starts, so I imagine you'd want to have a separate unique ID for each resource, and a display ID, so that we can change the display ID without losing the actual resource. We will avoid doing a lot of changing mid-study because kids might remember that 3 was fish, and 4 was algae, but in the cases where we made 5 be predators, have not yet made it visible, and instead move that to 6 so that we can add a new 5 that is the toxins kids assumed are there ... it makes more sense to be able to keep those in order.

jdanish commented 4 weeks ago

Actually, google isn't a good solution because it blocks sharing (of pdfs, not docs) in a frame, but I've verified links still work, so I consider that a user / us problem, not a technical issue. If we finish everything else and have time to spare we might ask for a way to easily upload files but I assume that won't happen anytime soon and it's fine.

benloh commented 4 weeks ago

A minor note that since the sentence starters are not targeted, we've largely been just using "(see notes above)" or something like that. It's fine to leave it as-is, or long-term we could just remove that since we aren't doing much with it.

Actually sentence starts would probably go away since the new comment system's help essentially would serve the same purpose. Either that or we need to add placeholder text support to comments and update the comment template accordingly.

This does also bring up the issue of how to edit comments templates. I'm not sure we'll have an interface for editing comments. It can get fairly complex what with all the different types and options.

evidence as url

That shouldn't be a problem.

That's fine as we can just hide mid-study. Though we want to gracefully handle hidden resources (e.g., either hide their e evidence links, or show a popup that says the teacher hid it so ask them).

Good question. You can show/hide resources at any time. If you hide one that previously was shown it looks like it correctly hides it from the evidence library. But the footnote marker will still be shown in the entity/outcome/process. It should be fairly easy to simply hide the footnote. Just added the issue: #32.

Agreed. If we really need them to be different we can just run a separate server, right? Like if there was a bunch of 6th grade teachers doing one thing, and 7th grade teachers doing something completely different but in the same building, we might opt to use 2 servers for that. My hope is that AWS will be easy enough that it is far easier to run 2 servers then to solve all of the UI problems required to have one server server 2 teachers who are doing entirely different things. The sharing is for teachers doing overlapping things, which happens quite often.

Great! That would be simplest yes. Spinning up servers won't quite be a one-click operation yet. So we will want to plan the number of servers and their configuration in advance.

The one other / related issue I'll note is around the resource ids. Right now, there is no easy way to re-order them, which means if we use a server, test some ideas, move things around, etc., then a given class might end up with ids 8-15. That feels a bit confusing. Ideally we'd want to have some control over that. It's OK if they are the same across classes on the server, I think, but if we could at least re-order them that'd help make it feel intuitive. Ideally, this would be doable even after the study starts, so I imagine you'd want to have a separate unique ID for each resource, and a display ID, so that we can change the display ID without losing the actual resource. We will avoid doing a lot of changing mid-study because kids might remember that 3 was fish, and 4 was algae, but in the cases where we made 5 be predators, have not yet made it visible, and instead move that to 6 so that we can add a new 5 that is the toxins kids assumed are there ... it makes more sense to be able to keep those in order.

OK that makes sense. We'll make the display ID a new parameter. Added #33.

benloh commented 4 weeks ago

Actually, google isn't a good solution because it blocks sharing (of pdfs, not docs) in a frame, but I've verified links still work, so I consider that a user / us problem, not a technical issue. If we finish everything else and have time to spare we might ask for a way to easily upload files but I assume that won't happen anytime soon and it's fine.

The current plan is to make sure YOU can upload pdfs/files as resources. My guess is it'll be an S3 bucket, so you can either use the AWS interface, or use an FTP app that talk to S3. So we can at least seed projects with useful PDFs. As you mention, teachers should be able to add/edit their own URL resources. Eventually we'll have a teacher-friendly UI to handle uploading.

jdanish commented 4 weeks ago

I agree, removing sentence starters given the new commenting makes perfect sense.

Agreed re: comments being complicated. I'd think they are complicated in similar ways to net.create node definitions, though? So solving the UI for one might help a lot with the other? That feels like something we will want to brainstorm once you have the space?

Planning the servers works. It seems likely that in IN it'll be 2 classrooms with the same teacher, so one server. NJ will at most be 2 teachers doing different things so I can manage it either way.