I'm using an external BPM for content approval in Gentics Mesh and a content node may be in one of several states.
A requirement is to query all content nodes that have no state, or have a specific state.
Since we don't have field level permission on a node, I don't want to define a 'state' field in the content schema.
I was thinking of storing the state as a child node of the content item, using a schema where the system only has 'create' permissions.
Is this a good approach?
Otherwise I think I'd use an external database for state management, but this would make the system more complex.
-- Update --
More about the use-case:
We have content contributors that will upload media. The content needs to be reviewed by an editor, and will either be accepted or rejected with comments.
It's a simple workflow for now, but the requirements may change, so we want to leverage a full BPM. [and we have other BPM workflows].
So the state data would contain a status identifier + comments + possibly other arbitrary data in the future.
We're building a Mesh plugin that will consume/produce Kafka messages to interact with external systems, like the BPM.
We also need to manage notifications, where an editor will see an icon showing the number of unread notifications, and have an 'inbox' to view historical notifications [sounds similar to the 'must-read-plugin']
We have a 'user_profile' schema and I'm considering adding the notifications as nodes there.