Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview - 

...


1.4 Adding search filters on contribution and sourcing portal -

Search filters with the following fields can be added as part of the object-level configuration for QuestionSet and collection on both portals to allow users to search for questions through question tags.

  • The common, minimum filters can be added to the object-level configuration for collectionprimary category definition for Question Paper as part of Phase 1 solution are -

  1. Question Type

  2. Status (Default)

  3. Skills tested

Filters for Framework attributes (Topic, Learning outcome) can be added later on in Next Sprint.

  • Proposed user flows for contributor reviewer 

...

Implementation Approach for Phase -1

Configurability

The common, minimum columns and filters can be added to the object-level configuration for questionSet and collection (This file for questionSet)

...

To make it so that the headers and tags only appear for a certain primary category, we can add a headerConfiguration to the primary category configuration inside the sourcingSettings object, like so:

  • Code Block
    languagejson
     "sourcingSettings": {
                            "collection": {
                                "objectType": "Collection",
                                "primaryCategory": "Question Paper",
                                "isRoot": true,
                                "iconClass": "fa fa-book",
                                "showAddCollaborator": false,
                                "addFromLibraryEnabled": true,
                                // Header configuration
                                "headerConfiguration": [
                                  {
                                    "label": "Question Type",
                                    "key": "
    primaryCategory
    questionCategories"
                                  },
                     
    ... ] ... contributionTableFilters: [
                 {
                                    "label": "
    Status",
    Skills Tested",
                                    "key": "
    sourcingStatus
    bloomsLevel"
                                  }
                                ]
                      }
    }
  • The attributes that are framework-specific will be fetched from the childMetadata properties of the categoryDefinition

    • Only properties that are editable and part of the frameworkCategories are to be displayed in the UI

    • These properties will be shown as chips beneath the question name Note: Maximum two tags are shown for that added the variable maxNumberOfTags in config.
      (Prerna Bhandari please add the mockup )

Feature-wise split

  1. Ordering

    • Order basis the `createdOn` createdOn attribute of the metadata instead of the existing ordering

    • Display a serial number basis purely a frontend iteration through the `leaf` leaf array of the `collection` collection in the `recursiverecursive-tree` tree

    • Restart the index based on each unit

  2. Tags

    • Use the metadata attributes to add to the header in the recursive-tree

    • Handle cases when text is too long through CSS

    • Minimize the max-width in recursive-tree.scss

    • Alternate the order of tags and LOs coming in dynamicHeaders variable.

    • Give the different colours to the chips of LO and topic.

  3. “Add Filter” modal

    • List of statuses possible is present in the recursive-tree component

      Generate the formFieldProperties basis the object configuration and category definition

      Check whether the code is present inside frameworkCategories and has editable: true

    • If so, add it to the formFieldProperties

    • Pass formFieldProperties

      Add the form configuration to the list of forms in the primary category definition, titled filterConfiguration

    • Pass the properties inside the filterConfiguration to the sb-dynamic-form component