UNCLASSIFIED - NO CUI

Restructure Eval Rel-links and Test Bank Questions to be More in Synch

Description of development task:

In order to ensure uniqueness and accuracy in the MTTL, it's necessary to perform some cleanup & synchronization between the MTTL eval rel-links and the Test Bank question files.

Rational:

  • As of today, the MTTL uses the question name as a unique identifier to the Test Bank question files but this attribute isn't guaranteed to be unique; there are currently 7 question names with duplicate ObjectIds.
  • The MTTL is storing disabled, provisioned, attempts, passes, and failures attributes that really belong to the Test Bank.
  • The language attribute within the MTTL Eval Rel-links seem to have gotten mixed up with the version attribute in the Test Bank. Additionally, this attribute really belongs to the Test Bank rather than the MTTL.

Tasks:

  • Restructure the Test Bank question files to use an attribute, that is the same as the _id generated within the MTTL for its corresponding Rel-link metadata; perhaps called rel-link_ID. This Id could be used as the question's _id or a completely separate _id could be used (thinking ahead to a mongoDB implementation for the Test Bank).
  • Add a question_path attribute to the MTTL Eval Rel-links that contains the relative path to the question, from the Test Bank repository's root directory. This would be just the directory names up to the question's *.json file.
  • Ensure the disabled, provisioned, attempts, passes, and failures attributes are retained in the Test Bank question files and remove these attributes from MTTL Eval Rel-links.
  • Remove the language attribute from MTTL Eval Rel-links and add it to the Test Bank question files but update the language information to reflect the programming language being used instead of the version.
  • Ensure the version attribute in the Test Bank reflects the programming language version in use.

Acceptance Criteria:

  • The Test Bank question files contain an attribute that stores the corresponding MTTL Eval Rel-link _id.
  • The MTTL Eval Rel-link data contain a question_path attribute that stores the relative path to the question's *.json file, from its Test Bank repository's root directory.
  • The disabled, provisioned, attempts, passes, and failures attributes are removed from MTTL Eval Rel-links and retained in Test Bank question files.
  • The language attribute is removed from MTTL Eval Rel-links and added to Test Bank question files with the correct language used for the question. Work-roles not using a language wouldn't have this attribute.
  • The version attribute in the Test Bank reflects the correct version for the question's language. Work-roles not using a version wouldn't have this attribute.