sol-eng/classroom-server

Add a way to ask / answer questions

colearendt opened this issue · 3 comments

Now this is interesting... could we use the Shiny dashboard notifications and such to facilitate communication between the administrator and the class? This would be very difficult without users logged into the classroom server, though, since they are not unique... could always ask their name or something in the form to contact the admin... hmm... worth a thought.

Maybe something we can do with Cookies? I don't know how Notifications work, though. https://stackoverflow.com/questions/32353680/how-to-access-browser-session-cookies-from-within-shiny-app

We could always have time based poling combined with a centralized database. When there's a new entry, the app could display it as a new message like this: https://rstudio.github.io/shinydashboard/structure.html#notification-menus

maybe?

Yes! My thoughts exactly. The problem is all messages would need to be public, since we are not using authentication for the app. Maybe that's the easier and more sane way to do it.

My thought was that we could stick a cookie in their browser that identifies that browser (not sure how we make a unique key... maybe get one from the database?). This would make it easier for us to conditionally show messages only relevant to them. Obviously, if they open the app in a new browser, all of their messages would be lost 😄

If we had some type of unique identifier (#6) of a student, then this would be a non-issue, as well. Or we could use the ID as the unique identifier to label the Shiny session and decide which messages to display.

EDIT: I like this latter idea... in the absence of #6 (a unique identifier ahead of time), we could prompt for name / email / server ID, which then locks them in (for that Shiny session) and helps provide uniqueness, etc.

This might make a cool Shiny module... a chat app between tenants on the same application 😄