[Design]- Enable instructions metadata at section level for QuestionSet

Problem Statement:

  • Platform should support instructions metadata at section level for QuestionSet object. Consumer should be able to read the metadata along with other meta like name, description, etc from root node hierarchy.

Current Behaviour:

  • Currently Platform supports instructions metadata for QuestionSet object.

  • The Property is an external property for QuestionSet object type and stored in hierarchy table for root node.

  • At Section Level (Which is always QuestionSet), external data is not allowed (ignored) under hierarchy.

Solution:

  • If user provide external metadata (e.g: instructions), the metadata will be populated for QuestionSet object type in the hierarchy data only if visibility is Parent.

  • Visibility Parent & Object Type check together ensures that the data will be populated only for section level.

  • all external metadata (available in schema config) will be enabled at api layer except hierarchy field.

  • The external data will be stored along with graph metadata in the hierarchy of root node.

  • code changes will be done in update hierarchy api for population of data.

  • code changes will be done in questionset-publish flink job to retain external data at section level.