diff --git a/src/main/java/org/olat/course/nodes/SPCourseNode.java b/src/main/java/org/olat/course/nodes/SPCourseNode.java index a5007d71b09df34cb3fb085dcc8b580604ed6c5f..7d562995f1b94881489647e07ea7501d1f6fc7e4 100644 --- a/src/main/java/org/olat/course/nodes/SPCourseNode.java +++ b/src/main/java/org/olat/course/nodes/SPCourseNode.java @@ -209,7 +209,7 @@ public class SPCourseNode extends AbstractAccessableCourseNode { config.set(SPEditController.CONFIG_KEY_DELIVERYOPTIONS, defaultOptions); // new since config version 3 - config.setConfigurationVersion(3); + config.setConfigurationVersion(4); } else { config.remove(NodeEditController.CONFIG_INTEGRATION); int version = config.getConfigurationVersion(); @@ -219,6 +219,14 @@ public class SPCourseNode extends AbstractAccessableCourseNode { config.setBooleanEntry(SPEditController.CONFIG_KEY_ALLOW_RELATIVE_LINKS, Boolean.FALSE.booleanValue()); config.setConfigurationVersion(2); } + if(version < 4) { + if(config.get(SPEditController.CONFIG_KEY_DELIVERYOPTIONS) == null) { + DeliveryOptions defaultOptions = DeliveryOptions.defaultWithGlossary(); + config.set(SPEditController.CONFIG_KEY_DELIVERYOPTIONS, defaultOptions); + } + config.setConfigurationVersion(4); + } + //there was a version 3 but all keys new in this version have been removed } } diff --git a/src/main/java/org/olat/course/nodes/STCourseNode.java b/src/main/java/org/olat/course/nodes/STCourseNode.java index 7248767997b6014487d822426c2043c66e7f006e..32921582ea954e55d7871448bd25f6819b1ff65e 100644 --- a/src/main/java/org/olat/course/nodes/STCourseNode.java +++ b/src/main/java/org/olat/course/nodes/STCourseNode.java @@ -565,6 +565,10 @@ public class STCourseNode extends AbstractAccessableCourseNode implements Assess // set the default display to peekview in two columns config.setStringValue(STCourseNodeEditController.CONFIG_KEY_DISPLAY_TYPE, STCourseNodeEditController.CONFIG_VALUE_DISPLAY_PEEKVIEW); config.setIntValue(STCourseNodeEditController.CONFIG_KEY_COLUMNS, 2); + + DeliveryOptions defaultOptions = DeliveryOptions.defaultWithGlossary(); + config.set(SPEditController.CONFIG_KEY_DELIVERYOPTIONS, defaultOptions); + config.setConfigurationVersion(3); } else { // update to version 2 @@ -591,6 +595,14 @@ public class STCourseNode extends AbstractAccessableCourseNode implements Assess } config.setConfigurationVersion(3); } + + if (config.getConfigurationVersion() < 4) { + if(config.get(SPEditController.CONFIG_KEY_DELIVERYOPTIONS) == null) { + DeliveryOptions defaultOptions = DeliveryOptions.defaultWithGlossary(); + config.set(SPEditController.CONFIG_KEY_DELIVERYOPTIONS, defaultOptions); + } + config.setConfigurationVersion(4); + } } } diff --git a/src/main/java/org/olat/ims/cp/CPManagerImpl.java b/src/main/java/org/olat/ims/cp/CPManagerImpl.java index 7acef0e1c752c548f742e8792865a7b5b02994cf..d57bd5047f854bbc40abc02982cdd2ac334d7c0e 100644 --- a/src/main/java/org/olat/ims/cp/CPManagerImpl.java +++ b/src/main/java/org/olat/ims/cp/CPManagerImpl.java @@ -95,11 +95,17 @@ public class CPManagerImpl extends CPManager { FileResourceManager frm = FileResourceManager.getInstance(); File reFolder = frm.getFileResourceRoot(ores); File configXml = new File(reFolder, PACKAGE_CONFIG_FILE_NAME); + + CPPackageConfig config; if(configXml.exists()) { - CPPackageConfig config = (CPPackageConfig)configXstream.fromXML(configXml); - return config; + config = (CPPackageConfig)configXstream.fromXML(configXml); + } else { + //set default config + config = new CPPackageConfig(); + config.setDeliveryOptions(DeliveryOptions.defaultWithGlossary()); + setCPPackageConfig(ores, config); } - return null; + return config; } @Override