Description
Do you want to broadcast messages to all your users and want to make sure that everyone has read them?
With the must read plugin you can configure a list of nodes that are initially unread for every user. Via the API you can then mark them as read when your user has seen it, so that the user won’t see the node again.
How it works
This plugin provides endpoints to fetch all nodes that must be read and to set specific nodes to be already read.
Installation
Unresolved directive in <stdin> - include::content/premium-features/_plugin_install.adoc[]
Setup
Copy the jar file and the config directory into the plugin directory
of your mesh Installation. Modify the config.yml and
storage/graphql/* files to your liking.
Configuration
Config.yml
The config file allows you to customize the behaviour of the must read plugin. The projects array allows you to define several project for which the must read plugin is active.
NodeListParameterName
With this parameter you define the name for the field containing the
uuids that are read for the unread endpoint. If you leave it blank the
default value uuids is used
Projects
You can define the following parameters for each project:
-
name: Name of the Mesh Project the plugin is active
-
folderName: Name of the folder where the plugin stores it’s informations
-
queryFiles: Configuration for the used queryfiles
-
uuid: GraphQL file that fetches the ids of the nodes that mus be read
-
data: GraphQL file that fetches the data you want to receive when accessing the /unread endpoint. This GraphQL file gets the variable $uuids provides by the module to fetch the data for the unread nodes
-
-
FieldNames: Names for the specific fields the module should use
-
uuid: Name of the field in the MustReadGrapQLFile that stores the uuid. If you don’t specify it or specify it empty the plugin assumes you meant
uuid -
published: Name of the fields in the MustReadGraphQLFile that stores if the current entry is published or not. If you don’t specify it or specify it empty, the plugin assumes you meant
isPublished
-
The must read plugin only activates for projects which are defined in
the config.yml and have FolderName, queryFiles/uuid and
queryFiles/data set
Endpoints
Read
-
Method: Post
-
Data: Key (named like NodeListParameterName) containing the uuids that should be marked as read
This endpoints sets the provided uuids as read so that the unread endpoint ignores them for the currently logged in user
Unread
-
Method: Get
-
Data: Provides a json with the data for all the unread nodes for the currently logged in user. The structure is defined by the dataQueryFile configuration option of the project
Returns the data for the nodes that are unread by the currently logged in user.
