Skip to content

Marquee

Marquee is the announcements part of Showrunner. The people running a product publish an announcement, such as a maintenance window or a new module, and the product shows it to the audience it names.

Marquee is a set of libraries, not a service. Each runs in the Arc and Chronicle process of the application that hosts it, the way Usher does:

  • Contracts: the public events a product receives announcements through.
  • Authoring: the commands and the query for writing announcements, and the outbox that publishes them.
  • Receiving: how a product records announcements once for all its tenants and decides which ones a tenant sees.
  • Acknowledging: how a person dismisses a dialog once, on every device.
  • Frontend proxies: the generated TypeScript proxies.
  • Event reference: every event, the contract generations and what to do when one changes.

The React component, @cratis/showrunner.marquee.react, shows the announcements the way the people using a product expect: banners at the top and dialogs one at a time. Start with how Marquee works, then add announcements to a product.

Marquee does not depend on any other Showrunner part. Who an announcement reaches by module or by plan is answered by an IAudienceEntitlements the host plugs in, so a product that sells nothing still gets announcements.