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.
Guides
Section titled “Guides”- How Marquee works: authoring, the contract, receiving, audiences and the component.
- Add announcements to a product: the backend package and
<Marquee />. - Author announcements without Direct: host the authoring backend in your own application.
- Replace the banner or the dialog: slots and
useAnnouncements.
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.