From 3e45a1774bed8cb87c46dc01ee19e84c58a02cc3 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 23 Mar 2017 21:14:42 +0100 Subject: [PATCH] OO-2648: path to the attachments of an assessmentItem are relative to it and not the storage folder (imsmanifest.xml) created by the question pool --- .../olat/ims/qti21/model/xml/AssessmentItemMetadata.java | 2 +- .../java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java | 5 ++++- .../ui/components/_content/graphicGapMatchInteraction.html | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/olat/ims/qti21/model/xml/AssessmentItemMetadata.java b/src/main/java/org/olat/ims/qti21/model/xml/AssessmentItemMetadata.java index 6be87465999..d1075655b69 100644 --- a/src/main/java/org/olat/ims/qti21/model/xml/AssessmentItemMetadata.java +++ b/src/main/java/org/olat/ims/qti21/model/xml/AssessmentItemMetadata.java @@ -255,7 +255,7 @@ public class AssessmentItemMetadata { } //qti metadata - QTIMetadataType qtiMetadata = metadata.getQtiMetadata(false); + QTIMetadataType qtiMetadata = metadata.getQtiMetadata(true); if(qtiMetadata.getToolName() != null) { editor = qtiMetadata.getToolName(); } diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java b/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java index 7e9099b4557..1eccd9781d8 100644 --- a/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java +++ b/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java @@ -155,6 +155,9 @@ public class QTI21ImportProcessor { //storage File itemStorage = qpoolFileStorage.getDirectory(dir); File outputFile = new File(itemStorage, href); + if(!outputFile.getParentFile().exists()) { + outputFile.getParentFile().mkdirs(); + } convertXmlFile(assessmentItemPath, outputFile.toPath()); QtiXmlReader qtiXmlReader = new QtiXmlReader(qtiService.jqtiExtensionManager()); @@ -194,7 +197,7 @@ public class QTI21ImportProcessor { for(String material:materials) { if(material.indexOf("://") < 0) {// material can be an external URL Path materialFile = assessmentItemPath.getParent().resolve(material); - PathUtils.copyFileToDir(materialFile, itemStorage, material); + PathUtils.copyFileToDir(materialFile, outputFile.getParentFile(), material); } } return qitem; diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html index f3ff461dba6..1379ee19e0f 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html +++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html @@ -36,8 +36,10 @@ jQuery(function() { var map = jQuery('#${containerId}_img').maphilight({ fillColor: '888888', - strokeColor: '0000ff', - strokeWidth: 3 + strokeColor: '333333', + strokeOpacity: 0.5, + strokeWidth: 3, + alwaysOn: true }); jQuery('#${containerId}').graphicGapInteraction({ -- GitLab