Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mechanism to restrict rooms for certain days #134

Open
tidoust opened this issue Jun 7, 2024 · 4 comments
Open

Add mechanism to restrict rooms for certain days #134

tidoust opened this issue Jun 7, 2024 · 4 comments

Comments

@tidoust
Copy link
Member

tidoust commented Jun 7, 2024

In multi-day events, the list of rooms that are available may change from one day to the other. There is currently no way to say "Room X is only available on Tuesday, Thursday, Friday".

@ianbjacobs
Copy link
Contributor

We might be able to achieve this with little to any new code! Suppose we create an issue with title "Unavailable" (and we update the w3c map accordingly). We hard code when the Unavailable meeting will take place and everything else is scheduled around it.

@tidoust
Copy link
Member Author

tidoust commented Jun 8, 2024

There will be a little something to adjust in the code regardless of the solution ;) For example, with the "Unavailable" approach you suggest, it may be ok to let the "Unavailable" entries appear in the shedule grid, but they must not generate calendar entries.

From an authoring perspective, it seems more straightforward to me to associate the information "this room is not available on Monday" with the room itself. Also, I personally prefer if the list of issues to remain a pure list of sessions/group meetings to keep things relatively simple. For example, if I see 47 open issues today, I know there are 47 sessions/group meetings. If we add unavailable issues to the mix, the counter no longer reflects the actual number of sessions/group meetings. It's not far from it but I may need to substract one or more from the total.

Now, all metadata that we can associate with rooms currently needs to fit in the room's label (that's why we may end up with room names such as ZeRoom (28, First floor) (vip)). Adding more information about the room's unavailability in that label is going to be painful.

We crammed metadata within the label itself because, for some reason, GitHub's GraphQL API did not return the "description" that can be added to each and every field option. It turns out that the API can now return that description!

My proposal would be to move the metadata to the "description" of each room in the project's settings, using structured text such as:

- capacity: 28
- availability: Tuesday, Thursday, Friday
- location: First floor

Default value for availability would be always. And now that I think about it, vip could be repurposed as an availability value as well.

Main advantage of the description approach is that we would then have a flexible and extensible way to add metadata to rooms as needed. And that mechanism could be extended to days and slots as well if we ever need to define constraints such as "slot 1 does not exist on Tuesday", or "slot 4 ends 30mn earlier on Friday".

One possible disadvantage is that the metadata would no longer appear in the "Room" column in the project views as it only displays the field's label. The information does not seem super useful in these views, though?

@ianbjacobs
Copy link
Contributor

If we go in the direction of adding an availability constraint on rooms, then it may be useful to allow the same granularity as the days and slots (where the day alone means "all the slots").

  • capacity: 28
  • availability: Tuesday; Thursday, 9:00-12:30; Friday

I agree we don't need the info in the views.

@ianbjacobs
Copy link
Contributor

We also discussed adding "secondary capacity" (number of chairs on the perimeter) as a constraint.

tidoust added a commit that referenced this issue Sep 10, 2024
Implements part of #134 (comment),
making it possible to define the room's metadata within the description field
next to the definition of the room in the GitHub project.

Note that this does not make any practical change to available semantics. The
code does not yet support any more metadata key (such as "availability"). To
be done later on.
tidoust added a commit that referenced this issue Sep 10, 2024
Implements part of #134 (comment),
making it possible to define the room's metadata within the description field
next to the definition of the room in the GitHub project.

Note that this does not make any practical change to available semantics. The
code does not yet support any more metadata key (such as "availability"). To
be done later on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants