GatherPress / gatherpress

Powering our community's event management needs.
https://wordpress.org/plugins/gatherpress/
GNU General Public License v2.0
84 stars 31 forks source link

Add fields for event host(s) and event speaker(s) #872

Open patriciabt opened 4 days ago

patriciabt commented 4 days ago

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

carstingaxion commented 4 days 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.