edemaine / comingle

Multiroom meeting app integrating web tools
MIT License
44 stars 8 forks source link

Protected rooms #152

Closed edemaine closed 3 years ago

edemaine commented 3 years ago

I'm planning to add a "protected" flag for rooms, settable via a button in the top right of the room in admin mode, that has the following effects:

  1. archived flag can't be changed
  2. Room can't be renamed
  3. No tabs within the room can be added, renamed, or deleted.
    • (Your custom layout of tabs can still be changed; that's a browser-local thing.)

Effect 1 is in #133/#135. @mehtank, are you comfortable with protected also meaning Effect 2? We've had an issue recently where students archive the Zoom call (presumably to gain more screen space) and that disrupts the other students, so barring social change, I need this functionality.

mehtank commented 3 years ago

Yup sounds good. In fact in my branch I played around with separate "protected" flags for both rooms (effect 1) and tabs (effect 2), but I added the option for tabs to just inherit room settings because I rarely cared to disambiguate the two effects.

A refinement that might someday be useful though might be to split out "adding tabs", in that even though existing tabs can't be deleted, new tabs can be added then subsequently deleted. It's harder to accidentally do, and also less disruptive for new tabs to be added. I don't particularly care for this level of distinction, but maybe someone might.

edemaine commented 3 years ago

I agree: protecting tabs (from being renamed/archived) would also be useful functionality. I think that protecting existing tabs would cover the case you describe, allowing new tabs to be created/archived. I guess the one exception is that, by protecting tabs, it would still be possible to archive the room itself... Hmm.

I guess one approach would be to split Effects 1 and 2 into two flags, like "protect room" and "protect room tabs" (which includes no new tabs -- if you just want to protect the existing tabs, you would protect them individually). This could be further refined into protecting archival state vs. protecting rename. But I worry that too many flags like this might make the user experience too confusing/onerous.

Another approach might be to have a room-level toggle like "allow new tabs in protected room". I imagine it's not that useful to have the setting different in different rooms.

Anyway, I probably won't do any of these in the first pass; it should be easy enough to add them later.