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

Add event federation #74

Open
6 tasks
PurkkaKoodari opened this issue Mar 3, 2022 · 0 comments
Open
6 tasks

Add event federation #74

PurkkaKoodari opened this issue Mar 3, 2022 · 0 comments
Labels
💡 idea New feature idea - not on backlog
Milestone

Comments

@PurkkaKoodari
Copy link
Member

Event federation would be very handy, if we assume that the operating environment will remain as it is currently with each guild running its own event system.

The idea here would be that organizations could import events from other organizations' event systems ("origin server") in their event system ("local server"). One could sign up for the events on either organization's website. It might also allow both sides to administrate the event.

Potential

How this might work:

  • Add randomly generated federation key to each event
  • Allow authenticating to relevant event admin APIs with federation key (per event)
  • Create DB model for external events (or add fields to regular events)
  • Allow admins to import events with ID and federation key
  • Fetch external event details from origin server (for event list, at least)
  • Add webhook for re-fetching updated events, send that to origin server, call registered hooks when event updated

We have some implementation options here.

  1. Event details stored only on origin server, local server has only event list data, client calls origin server with CORS
  2. All details cached on local server, client calls local server

Implementation 1 would be much simpler server-wise. It would also ensure that signups are fair for everyone. However, it requires a bit more thought in how we ensure everyone's frontends work well.

Federated administration

We also need to choose if federated admins can edit events or view signups. This also affects which APIs the federation key should be valid for.

In order to preserve audit loggability, federated administration might require servers to explicitly trust and authenticate each other (signed JWTs?), instead of just allowing access with a shared per-event key.

@PurkkaKoodari PurkkaKoodari added the 💡 idea New feature idea - not on backlog label Mar 3, 2022
@PurkkaKoodari PurkkaKoodari added this to the 3.0.0 milestone Jan 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 idea New feature idea - not on backlog
Projects
None yet
Development

No branches or pull requests

1 participant