Skip to content

Content system refactor #1868

@russss

Description

@russss

This issue tracks the refactor of the CfP (which we're renaming to the Content System) and replaces #1794.

We aim to divide the existing CfP system into two main subsystems:

  • Proposals will deal exclusively with content which is submitted via the CfP for inclusion in the official schedule.
  • Schedule deals with the entire schedule for the event, including accepted CfP content, manually-added/booked official content, and attendee content.

The proposal system will only deal with accepting proposals and reviewing them. Once a proposal is accepted (and the proposal is of a schedulable type), a separate ScheduleItem will be created for that proposal in the schedule system.

As much as possible all content should be treated the same. The type of content (official/unofficial, talk/workshop/performance etc.) determines:

  • how the content is reviewed (via the anonymised review process, manually, or not at all)
  • how the content is scheduled (automatically/manually)
  • how the content is displayed in the published schedule
  • For Proposals it will determine what (further) questions the submitter is asked upon acceptance (e.g. available times, confirm name(s) & pronouns, workshop capacity)
  • what attributes the content has (both for the published schedule and back-office use)

Rough diagram

Image

Definitions

  • scheduler -- the process (manual or automatic) by which occurances are arranged
  • official content -- content which has been scheduled by the EMF organisation (either submitted through the CfP or invited/booked directly)
  • attendee content -- content added to the schedule by attendees
  • content type -- a label for a Proposal/ContentItem which determines how that item is rendered and behaves

New classes

  • Proposal -- a proposed piece of content to be reviewed by the EMF team (this is what the CfP form generates). Proposals now only track the review state - when a proposal for a talk or workshop is accepted, a corresponding ScheduleItem is created.
  • ScheduleItem -- a piece of content (official or otherwise) which can be scheduled to happen at a specific time and place. It may have multiple owners.
  • Occurrence -- an instance of a ScheduleItem happening at a specific time in a Venue (we provide for, but don't currently actively support, multiple Occurrences of a single ScheduleItem)
  • Venue -- a place that things happen (may be an official venue or a village venue)
  • TimeBlock -- a block of time when occurrences of a specific content type are allowed to be scheduled in a Venue.
  • ScheduleAttribute -- key/value store of additional information associated with a Proposal or ScheduleItem (e.g. workshop capacity, equipment required)

References

(An EMF SSO account is required to read these.)

Content team:

Web team:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Epic📝CfPCall for Participation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions