docs: add a Role in the framework section to every module README
Each module README now says where the module sits in the dependency graph, why it is its own module, and lists use cases for application developers.
This commit is contained in:
@@ -22,6 +22,16 @@ Model broadcasts follow the WinterCMS `BroadcastableModel` trait with one change
|
||||
|
||||
The `centrifugo` sub-package is the Centrifugo driver. It has a hand-rolled `net/http` client for the Centrifugo HTTP API, a token issuer with the claims of the WinterCMS `JwtTokenGenerator`, the token route handler, and the subscribe proxy handler.
|
||||
|
||||
## Role in the framework
|
||||
|
||||
A service module high in the stack: it depends on `backpack`, `bouncer`, `compass`, `conga`, `lagoon`, `pact` and `wire`, and only the summer CLI imports it. The publisher interface is transport-neutral, with the Centrifugo driver in the centrifugo subpackage. It is separate from `festival` (in-process) and `flare` (Web Push) because it needs the database and jobs to send broadcasts only for committed writes.
|
||||
|
||||
Use cases:
|
||||
|
||||
- Push live updates to open browser tabs when a model changes.
|
||||
- Authorize private and per-user channels when a client subscribes.
|
||||
- Build chat, presence or progress features on channels without writing WebSocket code.
|
||||
|
||||
## Features
|
||||
|
||||
- Driver selection by `realtime.driver`. The built-in drivers are `null` (the default; it discards everything), `log` (logs channel names and the event, never the payload) and `memory` (`lighthouse.MemoryDriver` records every `lighthouse.Publication` for tests). An unknown name is a boot error that lists the registered drivers.
|
||||
|
||||
Reference in New Issue
Block a user