Currently, when a user attempts to schedule two BoFs or two Session items in the same room AND time slot, an error message is raised and the node is not saved. Of course, if field_room_session_capacity is not filled, then the user can add another BoF in that time slot and room. Note that two Sessions cannot be placed in the same time slot and room, regardless of the value of field_room_session_capacity.
However, if a user schedules one node as a BoF and the other as a Session, then no error message is raised, and we end up with a BoF and Session scheduled in the same room at the same time. This only happens when field_room_session_capacity is greater than 1. If field_room_session_capacity is one, then an error message is raised and the node is not saved.
I don't think it makes sense to allow BoFs to be scheduled to overlap Sessions. Do others agree?
| Comment | File | Size | Author |
|---|---|---|---|
| #12 | no-overlapping-rooms-and-time-slots-12.patch | 3.79 KB | primerg |
| #10 | no-overlapping-rooms-and-time-slots-10.patch | 3.8 KB | primerg |
| #7 | no-overlapping-rooms-and-time-slots-7.patch | 3.23 KB | primerg |
| #4 | no-overlapping-rooms-and-time-slots-4.patch | 1.02 KB | primerg |
Comments
Comment #1
coltrane"Note that two Sessions cannot be placed in the same time slot and room, regardless of the value of field_room_session_capacity." is because by default the session content type has "Can content of this type share time slots with other scheduled content?" set to "No" on the scheduling settings of the content type.
"I don't think it makes sense to allow BoFs to be scheduled to overlap Sessions."
Agreed, so long as we're talking about overlapping in the same room. You can get around this by having different rooms available for use by BoFs then by Sessions, by using a View filtered by room type and set as the allowed referenced nodes. Denver did this http://denver2012.drupal.org/admin/structure/types/manage/bof-session/fi...
You also should have the capacity of session rooms set to 1, unless there are portions of the day that allow that room to be used for BoFs, and multiple BoFs at a time in that room. Is that the case?
Moving back to active. Also, http://drupal.org/node/1208088 talks about these workflows, though it needs a bit of updating for 7.
Comment #2
twardnw commented"Agreed, so long as we're talking about overlapping in the same room."
yes, that is the case.
"You also should have the capacity of session rooms set to 1, unless there are portions of the day that allow that room to be used for BoFs, and multiple BoFs at a time in that room. Is that the case?"
Also, yes, the assumption here is that a room could have a session in one time slot, but then be available at other times for BoFs.
Comment #3
coltraneLooking at cod_session_node_validate(), if a session is in the same room and time that a BoF is being scheduled for (same room/time node reference fields being used) and the variable cod_unique_session is set to COD_SCHEDULE_SINGLE then there should be an error. If that's not happening under that setup then this indeed a bug.
Comment #4
primerg commentedit's a bug. it's not checking for the current settings of the node.
Comment #5
primerg commentedComment #6
twardnw commentedPatch in #4 applies clean. Attempting to schedule a bof for the same room and time slot as an existing session triggers an error. But, the bof scheduler (/program/bofs) is showing the room/time combo as available.
Comment #7
primerg commentedhere is my attempt to remove the "schedule a bof" link in /program/bofs.
Comment #8
twardnw commentedwas going to test this, but #1668908: Replace User reference, Nodereference with References, Vertical session schedule view changes some of the fields that this uses, I suggest postponing until that issue is resolved.
Comment #9
primerg commentedComment #10
primerg commentedre-roll
Comment #11
dsdeiz commentedWorks on my end. I don't see "Add a BoF Session" when going to programs/bofs after apply a patch and having a session on the timeslot and room. I see a permission set for "schedule bof_session". I think this will conflict with #1661620-34: Authenticated Users Cannot Create BoFs Regardless of Permission Settings. I'm also a little confused with this part of the patch:
There are two conditions for
variable_get('cod_unique_' . $scheduled->type, COD_SCHEDULE_SINGLE) == COD_SCHEDULE_SINGLE.Comment #12
primerg commentedgood catch! typo.
Comment #13
dsdeiz commentedPatch applies cleanly. No errors on my end.
Comment #14
twardnw commentedYes, this does conflict with #1661620-34: Authenticated Users Cannot Create BoFs Regardless of Permission Settings, which one is easier to re-work?
Comment #15
twardnw commentedSheldon and I discussed this, and as this patch has more customizations involved in it, the other will be easier to re-roll.
Also, patch applies clean, but I am seeing an override on user permissions:
Comment #16
twardnw commentedLooks like it is properly not allowing a BoF to be added to a room when a session is happening for that same time slot.
Comment #17
sheldonkreger commented#12 applies cleanly and works as described. I can no longer schedule a BoF and a Session in the same room AND timeslot. Note that cod_session and cod_bof Features are overridden when I use this patch. We can clean that up later.
Let's commit this patch to the sandbox first, since the other issue is just a simple modification to permissions.
Comment #18
m1n0 commentedHi
Now, after a year, it seems that this issue is present again. I checked the code in cod_session.module function cod_session_node_validate and it seems that fields field_session_slot and field_session_room are being accessed but they do not exist in session node. Instead, field collection field_session_timeslot is used. Am I right that this function needs to be rewritten?
Comment #19
dyannenovaThe new scheduling system as referenced here (https://drupal.org/node/1742806) allows you to pick which type of content should be assigned to a given time slot. There may be cases where a large room will, at certain times, hold both a small session and a BoF space. We recognize that this is an uncommon use case, but wanted to keep the system flexible enough to accommodate any sort of scheduling.
The UI could certainly use much love and documentation.
Comment #20
ezra-g commentedI suggest repurposing the issue so that that needed work is represented in the queue.
Comment #21
ezra-g commentedRe-opening per #20. @DyanneNova, can you update the issue title/summary to reflect the remaining work here?
Comment #22
dyannenovaI think we have an issue for the UI here: https://drupal.org/node/2009512
Should I update this issue for documentation, or just roll that in with the other ticket?
Comment #23
japerryThis issue was specifically targeting the problem of disallowing BoFs and Sessions to be scheduled in the same room at the same time. This is fixed in Alpha2 with the new scheduler, (which allows you to do either actually) but the scheduler (#2009512: Simplify creation of rooms, timeslots, etc) needs some improvements to UI so people know how to configure this properly.