Q server
Q is a system that lets journalists create visual elements for stories. It is developed by NZZ Storytelling and used in the NZZ newsroom.
This is the documentation for Q server. You will need to setup Q editor and at least one tool to get a working environment.
Demo: https://editor.q.tools
Terminology
- Q is used as the name for a complete system containing a CouchDB, a Q server, a Q editor and some tools.
- Q server is a HTTP service providing an API as a proxy to several tool services
- Q server implementation implements a hapi server using the plugins provided by @nzz/q-server and providing configuration for your very specific environment including tool, target and editor configuration. You can use
Q
cli to bootstrap a Q server implementation, please see also installation instructions - Q editor is a Web application used to create new items and preview the rendering. Head over to Q editor to learn more.
- Tool is a HTTP service providing an API to get rendering information for a given dataset (there is some more in a tool, see the page about developing tools).
- Item is a document in the CouchDB. It contains information about the tool and the data to be used to create something useful for a given target.
- Target is a named configuration defining stylesheets and tool endpoints to use. Q server can use different tool endpoints to get a rendering info for a different target (e.g. Website, native mobile App, Infoscreens). Read more about targets.
Architecture
This should give you an overview of Q’s architecture. The Q editor is not part of this diagram, it only shows the delivery part of Q.