diff --git a/CSETWebNg/src/app/assessment/results/cpg/cpg-practice-table/cpg-practice-table.component.html b/CSETWebNg/src/app/assessment/results/cpg/cpg-practice-table/cpg-practice-table.component.html
index 18b03c846..5483e52db 100644
--- a/CSETWebNg/src/app/assessment/results/cpg/cpg-practice-table/cpg-practice-table.component.html
+++ b/CSETWebNg/src/app/assessment/results/cpg/cpg-practice-table/cpg-practice-table.component.html
@@ -40,10 +40,12 @@
-
-
- {{c}}{{ l ? '' : ', '}}
-
+
+
+
+ {{c}}{{ l ? '' : ','}}
+
+
diff --git a/CSETWebNg/src/app/initial/my-assessments/my-assessments.component.ts b/CSETWebNg/src/app/initial/my-assessments/my-assessments.component.ts
index 78e576e12..f585b30ce 100644
--- a/CSETWebNg/src/app/initial/my-assessments/my-assessments.component.ts
+++ b/CSETWebNg/src/app/initial/my-assessments/my-assessments.component.ts
@@ -317,7 +317,7 @@ export class MyAssessmentsComponent implements OnInit {
* If it can't find a defintion, just use the selected model's title.
*/
getMaturityModelShortName(a: UserAssessment) {
- const key = `${a.selectedMaturityModel.toLowerCase()}.model short title`;
+ const key = `modules.${a.selectedMaturityModel.toLowerCase()}.model short title`;
const val = this.tSvc.translate(key);
if (key == val) {
return a.selectedMaturityModel;
diff --git a/CSETWebNg/src/assets/i18n/en.json b/CSETWebNg/src/assets/i18n/en.json
index d9823a968..e30a4367b 100644
--- a/CSETWebNg/src/assets/i18n/en.json
+++ b/CSETWebNg/src/assets/i18n/en.json
@@ -642,14 +642,6 @@
"perf by level desc": "The following chart(s) displays the percentage distribution of each response type by level."
}
},
- "cmmc2": {
- "model long title": "Cybersecurity Maturity Model Certification (CMMC) 2.0 DRAFT",
- "model short title": "CMMC 2.0 DRAFT"
- },
- "cmmc2f": {
- "model long title": "Cybersecurity Maturity Model Certification (CMMC) 2.0",
- "model short title": "CMMC 2.0"
- },
"filter-menu": {
"search": "Search",
"select deselect all": "Select/Deselect All",
@@ -1020,10 +1012,21 @@
},
"modules": {
"cpg": {
- "display-name": "Cyber Performance Goals (CPG)"
+ "display-name": "Cyber Performance Goals (CPG)",
+ "model short title": "CPG 1.0"
+ },
+ "cpg2": {
+ "display-name": "Cyber Performance Goals (CPG) 2.0",
+ "model short title": "CPG 2.0 (draft)"
+ },
+ "cmmc2": {
+ "model long title": "Cybersecurity Maturity Model Certification (CMMC) 2.0 DRAFT",
+ "model short title": "CMMC 2.0 DRAFT"
},
"cmmc2f": {
- "display-name": "Cybersecurity Maturity Model Certification (CMMC) 2.0"
+ "display-name": "Cybersecurity Maturity Model Certification (CMMC) 2.0",
+ "model long title": "Cybersecurity Maturity Model Certification (CMMC) 2.0",
+ "model short title": "CMMC 2.0"
},
"rra": {
"display-name": "Ransomware Readiness Assessment (RRA)"
diff --git a/CSETWebNg/src/assets/settings/config.json b/CSETWebNg/src/assets/settings/config.json
index 9189daf2f..5c79a64ad 100644
--- a/CSETWebNg/src/assets/settings/config.json
+++ b/CSETWebNg/src/assets/settings/config.json
@@ -230,6 +230,46 @@
}
]
},
+ {
+ "moduleName": "CPG2",
+ "modelId": "21",
+ "displayNameKey": "modules.cpg2.display-name",
+ "showDomainHeaders": false,
+ "autoLoadSupplemental": true,
+ "showMaturityLevelBadge": false,
+ "questionIcons": {
+ "showDetails": false,
+ "showReviewed": false
+ },
+ "answerOptions": [
+ {
+ "code": "Y",
+ "buttonLabelKey": "Imp-CPG",
+ "buttonCss": "btn-yes",
+ "chartSegmentColor": "#006000",
+ "consideredImplemented": true
+ },
+ {
+ "code": "I",
+ "buttonLabelKey": "Prog-CPG",
+ "buttonCss": "btn-na",
+ "chartSegmentColor": "#0a4b6e"
+ },
+ {
+ "code": "S",
+ "buttonLabelKey": "Scoped-CPG",
+ "buttonCss": "btn-alt",
+ "chartSegmentColor": "#b17300"
+ },
+ {
+ "code": "N",
+ "buttonLabelKey": "Not-CPG",
+ "buttonCss": "btn-no",
+ "chartSegmentColor": "#990000",
+ "consideredMissed": true
+ }
+ ]
+ },
{
"moduleName": "SSG Chemical",
"modelId": "18",