Flagged by @carstingaxion on #1791: _event_speakers is currently a flat post_meta array of user IDs on the event. This doesn't support per-event roles (e.g. speaker on one event, moderator on another).
Reference: GatherPress's long-standing discussion at GatherPress/gatherpress#872, and their experimental https://github.com/carstingaxion/gatherpress-relations (shadow-source based post-to-post relations with per-relation roles).
Not acting on this now — gatherpress-relations is experimental, not core GatherPress, and the current postmeta approach is sufficient for the initial feature scope. Revisit if/when a relations-based approach lands in GatherPress core.
Acceptance criteria
Flagged by @carstingaxion on #1791:
_event_speakersis currently a flat post_meta array of user IDs on the event. This doesn't support per-event roles (e.g. speaker on one event, moderator on another).Reference: GatherPress's long-standing discussion at GatherPress/gatherpress#872, and their experimental https://github.com/carstingaxion/gatherpress-relations (shadow-source based post-to-post relations with per-relation roles).
Not acting on this now —
gatherpress-relationsis experimental, not core GatherPress, and the current postmeta approach is sufficient for the initial feature scope. Revisit if/when a relations-based approach lands in GatherPress core.Acceptance criteria
gatherpress-relations(or an equivalent) remains experimental / outside GatherPress core — this stays open as a tracked-but-deferred item, not closed._event_speakersflat postmeta is migrated to the relation-based model with a data migration path for existing events (no silent data loss for events that already have speakers assigned).event-speakersblock.