My site doesn’t use HSTS headers, how do I stop Talk from sending them too?
You can specify the configuration option
TALK_HELMET_CONFIGURATION and set it
Which will disable the HSTS module. See the helmet repository for more information on how to configure other security middleware used by default.
How are new stories/assets added to Talk? Is there an API?
There are three ways that new assets can make their way into Talk:
- Just in time
Just in Time asset creation
Talk ships with a just in time mechanism that works out of the box without integration with any CMS or manual work needed.
The just in time flow looks like this:
- Request comes in for a stream on an asset that doesn’t yet exist.
- Talk screens the domain against the domain whitelist, fails if doesn’t pass.
- Then, concurrently
- Talk creates a new asset record and returns the stream data (which will be empty)
- Schedules a job to scrape the new page and fill in asset information.
Active (or push based) asset creation
If tighter CMS integration is required to push custom data into assets and/or keep data in sync as changes are made in a CMS an active push based workflow must be implemented.
This is an ideal candidate for a plugin. If you are interested in working on it, please contact us!
Manual asset creation
Sometimes you want to load a lot of assets into the database. The most common use case for this is populating the database during an initial installation. We recommend writing a script that transforms the data from it’s source and inserts it into the assets collection.
For current schema information, please see the asset model.
Where are your http API docs?
Coral relies on GraphQL for the vast majority of it’s client and server
communication. All core queries, mutations and subscriptions are defined along
with types and comments in our central
For plugin graph api typedefs, see each plugin’s
In addition, Talk Server ships with GraphiQL. GraphiQL provides a full data layer IDE including interactive documentation. The autocomplete and documentation are populated from introspection meaning that Core and plugin apis can be explored.
To access GraphiQL:
- Install Talk.
- Open http://localhost:3000/api/v1/graph/iql in your browser. (Note, your server an port may differ.)
Where is documentation for a specific component?
We strive for clear inline documentation across our codebase, but have gaps. Contributions to documentation would be greatly appreciated and is a great way to start contributing to the project!
If you are considering changing a core component (aka, one that is not in a plugin), you are entering the realm of a core developer. We strongly ask that you reach out the coral team before forking and changing core code. We are glad to help talk through your product need and come up with a strategy for implementing as a plugin, or working with you to extend the plugin API for your use case.
How do I contribute to these docs?
Contributions to the docs are much appreciated and a great way to get involved in the project.
Fork the Talk repo, clone it locally (no need to go through the install from source process), then:
cd docs docker run --rm --volume=$PWD:/srv/jekyll -p 127.0.0.1:4000:4000 -it jekyll/jekyll:pages bash -c "bundle install && jekyll serve"
You can edit the files in docs with any editor and view the live updates in a browser by hitting From the docs directory. Then visit: http://127.0.0.1:4000/talk/.
Once you’ve made the changes, file a PR back to the