From 978633d0b1465f32d00921a2ba66a402fc456df7 Mon Sep 17 00:00:00 2001 From: Charles Severance Date: Wed, 5 Feb 2025 01:26:23 -0500 Subject: [PATCH] SAK-50945 assignment cc+archive should not export group data and turn off group --- .../lessonbuildertool/ccexport/CCExport.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/ccexport/CCExport.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/ccexport/CCExport.java index 6ef9435ad19d..1941f3733e79 100644 --- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/ccexport/CCExport.java +++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/ccexport/CCExport.java @@ -856,6 +856,47 @@ private static void patchArchive(CCConfig ccConfig, String path) { if ( changed) Xml.writeDocument(doc, siteXml); } + // Patch assignments.xml + String assignmentXml = path + "assignment.xml"; + doc = Xml.readDocument(assignmentXml); + if ( doc != null ) { + boolean changed = false; + + NodeList subNodes = doc.getElementsByTagName("submissions"); + for(int i = 0; i < subNodes.getLength(); i++) { + Node subNode = subNodes.item(i); + NodeList children = subNode.getChildNodes(); + for (int j = 0; j < children.getLength(); j++) { + Node child = children.item(j); + subNode.removeChild(child); + changed = true; + } + } + + /* Remove the groups within the groups tag so we have an empty groups tag + + + + */ + subNodes = doc.getElementsByTagName("groups"); + for(int i = 0; i < subNodes.getLength(); i++) { + Node subNode = subNodes.item(i); + while (subNode.hasChildNodes()) { + subNode.removeChild(subNode.getFirstChild()); + changed = true; + } + } + + subNodes = doc.getElementsByTagName("typeOfAccess"); + for(int i = 0; i < subNodes.getLength(); i++) { + Node subNode = subNodes.item(i); + subNode.setTextContent("SITE"); + changed = true; + } + + if ( changed) Xml.writeDocument(doc, assignmentXml); + } + } private static void addAllArchive(ZipPrintStream out, CCConfig ccConfig, File dir, String path) throws IOException {