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

Proceedings assumptions about lumping group meetings together no longer hold #4928

Closed
rjsparks opened this issue Dec 22, 2022 · 10 comments · Fixed by #5005
Closed

Proceedings assumptions about lumping group meetings together no longer hold #4928

rjsparks opened this issue Dec 22, 2022 · 10 comments · Fixed by #5005
Assignees

Comments

@rjsparks
Copy link
Member

At https://datatracker.ietf.org/meeting/115/proceedings#gen:
image

This is an artifact of the proceedings (and meeting materials) code originally being built assuming groups behave like working groups, and lumping all the group activities into one row made sense.

The view now needs to pay attention to sessions with different names, and purposes - this should probably have been 5 separate rows, some of which would have slides. Only one of which would have had an agenda:

>>> Session.objects.filter(group__acronym='emodir',meeting__number=115).values_list('name',flat=True)
<SessionQuerySet ["New Participants' Quick Connections", "New Participants' Social Hour", "Tutorial: New Participants' Overview", "New Participants' Dinner", 'WG Chairs Forum']>
>>> Session.objects.filter(group__acronym='emodir',meeting__number=115).values_list('purpose',flat=True)
<SessionQuerySet ['presentation', 'social', 'tutorial', 'social', 'open_meeting']>
@jennifer-richards
Copy link
Member

Digging a little to understand the problem space. There are 59 sessions with non-empty names

>>> m = Meeting.objects.get(number=115)
>>> m.session_set.filter(timeslotassignments__schedule=m.schedule).exclude(name='').distinct().count()
59

belonging to these groups/group types

>>> pp(list(m.session_set.filter(timeslotassignments__schedule=m.schedule).exclude(name='').values_list('group__acronym', 'group__type').distinct()))
[('iesg', 'ietf'),
 ('ietf', 'ietf'),
 ('secretariat', 'ietf'),
 ('hackathon', 'team'),
 ('tools', 'team'),
 ('iepg', 'team'),
 ('emodir', 'dir'),
 ('hotrfc', 'team'),
 ('systers', 'team')]

The emodir you called out (type = 'dir') and hackathon (type = 'team') seem to be rendered strangely in the proceedings. The hackathon shows up as "Hackathon Saturday", which I believe is the name of its first session.

For emodir, I think you're suggesting a separate line for each named session. For hackathon, I think we'd rather have everything gathered together, but named "Hackathon" instead of using the session name. Is there a simple rule or rules to follow, or do we need to add some kind of per-group configuration? It'd be nice if we could just use the group type to decide, but I'm not sure that'll be consistent.

@rjsparks
Copy link
Member Author

We can work to change the way we model the sessions if we need to in order to make this something that works generically - just means more migration and training for the secretariat. What would need to be different in the data to make this more natural?

But for hackathon, I don't know that it should all be lumped together if the sessions are named differently - one bucket of stuff for the kickoff and another for the presentations would make more sense.

@jennifer-richards
Copy link
Member

I guess I'd have thought the Hackathon is more like a set of working group sessions in that it's a single event broken over a couple days instead of a collection of mostly unrelated sessions. Splitting it into a couple buckets seems reasonable to me. However, if we naively break its sessions out for 115 we'll end up with five entries:

>>> pp(list(m.session_set.filter(timeslotassignments__schedule=m.schedule).filter(group__acronym='hackathon').values_list('group__acronym', 'group__type', 'name', 'type').order_by('group').distinct()))
[('hackathon', 'team', 'Hackathon Saturday', 'other'),
 ('hackathon', 'team', 'Hackathon Sunday', 'other'),
 ('hackathon', 'team', 'Kickoff', 'other'),
 ('hackathon', 'team', 'Project Results Presentations', 'other'),
 ('hackathon', 'team', 'Hackdemo Happy Hour', 'other')]

That's not how I would personally represent it on a proceedings, but it (almost) matches what appears on the agenda and is only slightly noisier.

The session names don't quite agree with the agenda - the "Hackathon Saturday" and "...Sunday" entries are just "Hackathon". "Kickoff" is "Hackathon Kickoff" and "Project Results Presentations" is "Hackathon Results Presentations" - a more significant difference since we probably want to include "Hackathon" on the proceedings label. It may be that changing the session names is all that needs to be done.

For the emodir sessions, should those all appear in GEN as they do now, or do they deserve their own section? Wondering if a 'dir' group deserves its own "area" level section.

@jennifer-richards
Copy link
Member

Oh - and I'd much rather not add to the session/group modeling here if it can be avoided.

@jennifer-richards
Copy link
Member

A quick and dirty-ish patch seems to behave pretty well.

This has two changes. First, I've replaced the {% ifchanged session.group.acronym %} that splits up rows to be {% ifchanged session.group.acronym session.name %}. Second, when session.name is not empty, instead of displaying agendas / slides / etc for all the group's sessions, I only show them for that specific session. The outcome is:
Screenshot from 2023-01-11 17-21-02
and
Screenshot from 2023-01-11 17-21-25
The rest of the proceedings seem to be unaffected (but we'll want to check more carefully).

This will need a bit more work to be real, though, because it should probably cope with the case where there is more than one session with the same non-empty name.

One other wrinkle - the sessions are still sorted in the table according to their group's acronym. Is that ok, or do we need to sort things more meaningfully? It will take some moderately involved refactoring to do this, unfortunately.

@ietf-tools ietf-tools deleted a comment from eusgoogle Jan 12, 2023
@ietf-tools ietf-tools deleted a comment from eusgoogle Jan 12, 2023
@rjsparks
Copy link
Member Author

I think giving these sessions names rather than letting them be named by the group is just adding trouble.
@flynnliz - how has having them labelled helped?

 ('hackathon', 'team', 'Hackathon Saturday', 'other'),
 ('hackathon', 'team', 'Hackathon Sunday', 'other'),

@rjsparks
Copy link
Member Author

One other wrinkle - the sessions are still sorted in the table according to their group's acronym. Is that ok, or do we need to sort things more meaningfully? It will take some moderately involved refactoring to do this, unfortunately.

Sorted by acronym is the right thing to do. The tension you see may be resolved with the separate section you suggested at:

For the emodir sessions, should those all appear in GEN as they do now, or do they deserve their own section? Wondering if a 'dir' group deserves its own "area" level section.

But dirs are a type of group inside an area, not a thing separate from an area.

What might make sense is making labelled divisions when a section (like an area) has more than one type of group in it.
That will ultimately put a bunch of pressure on the current modeling of groups (people will disagree with dir vs review vs team), but that's good natural pressure to have.

@jennifer-richards jennifer-richards self-assigned this Jan 12, 2023
@flynnliz
Copy link
Collaborator

I think giving these sessions names rather than letting them be named by the group is just adding trouble. @flynnliz - how has having them labelled helped?

 ('hackathon', 'team', 'Hackathon Saturday', 'other'),
 ('hackathon', 'team', 'Hackathon Sunday', 'other'),

For my use, I just need to know which session object to place into which timeslot, since without the Sat/Sun in the name there's no way to tell which is which. However, I'm also not sure that it matters, if they are both just the general Hackathon entry, which isn't associated with a Meetecho link or any specific materials. If drag-and-dropping either of the identical Hackathon sessions into either the Saturday or Sunday slot would be fine, then I don't need them to be named differently.

@jennifer-richards
Copy link
Member

It looks like for 115, the saturday and sunday each had an agenda attached (same file for each) and the kickoff slides wound up attached to the saturday session rather than the kickoff session. I assume the agendas were done that way so they'd show up on the agenda page properly and that the kickoff slides are an accident allowed by everything ending up in the same row.

@flynnliz
Copy link
Collaborator

I wasn't involved in the uploading of the materials but I'd guess you're probably right. The video of the Kickoff session is linked from both the kickoff agenda entry as well as the Saturday Hackathon one, so there seems to have been some kind of confusion between those two...

(If you can think of a better way to represent on the agenda an all-day event with only one chunk of time where you can sign on to a Meetecho room, we could just get rid of 2/4 hackathon sessions.....I have no idea what that would be, though!)

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants