Open patriciabt opened 2 months ago
I thought about this kind of relation a user can have with an event very intens lately and have read the related issues here probably 10 times. (#3, #445, https://github.com/GatherPress/gatherpress-wp-org-integration/issues/5)
I’d could be helpful to step back a little bit, to broaden the perspective from technical-only to technical-and-philosophical.
For the migration from the custom RSVP DB table to the comments table, we concluded that in WordPress an interaction of a human being with any data is called „comment“. We translated the human-readable „I take part in an event as attendee“ into a new comment with the comment_type of RSVP and assigned the „attending“ term to that comment.
Now let’s do the same (or similar) for speakers, organizers and maybe even sponsors.
If someone speaks, organizes or sponsors an event, it’ll be a comment on that event by the explicit user.
This makes sure:
While this only touched the technical implementation, the UI for such a thing could be like described by @patriciabt with a user-select for each role.
User that are selected as site-wide organizers in the GatherPress settings, could/should be automatically assigned on event creation, means they will get an comment created in their name.
This is not meant to replace the need for explicit Roles & capabilities, but could be its foundation. Someone could earn the permission to edit an event, if this exact user has made a comment (with comment_type rsvp and term organizing), which got approved. Going this way would allow GatherPress to assign all or some of the special capabilities @javiercasares described in #445, without having to use explicit WordPress roles or custom capabilities, that a site owner might need to assign to somebody in the first hand. Those caps could be assigned dynamically based on the comment, using user_has_cap .
All of this should be nicely wrapped in a sense-making API, but under the hood, it’s just comments.
Using comments for rsvps is the right approach.
Hosts and speakers are pretty specialized though and probable best kept in a free form block.
however check in/attendance is common across most events and probably needs its own comment type rather than having various statuses for rsvp
I touched on this in #604 which is likely redundant now as it was talking about the old rsvp table
I would also suggest that the commentl_type field should align with indieweb types as much as possible which would open up gatherpress to webmention:
https://wordpress.org/plugins/webmention/
They already use the comment table and rsvp. Distributed rsvps in the indieweb through webmention would be very cool
Is your enhancement related to a problem? Please describe.
A need for those fields were mentioned in user feedback
This would be beneficial to GatherPress either as a standalone plugin, or in the use of GatherPress on the WordPress community.
Those fields should be looking for usernames and allow to pick existing users. If several, as comma separated values, similar to choosing tags
Designs
No response
Describe alternatives you've considered
No response
Code of Conduct