diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java
index 34fcec1c4e0697affe1bd3b0f87fb05141444d1d..84fe5a43b5017a5d57885c9b97532edbe5d7755e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java
@@ -31,7 +31,7 @@ import java.util.Date;
  * @author patrickb
  *
  */
-public interface DateChooser extends TextElement{
+public interface DateChooser extends TextElement {
 
 	/**
 	 * @return the date or null if the value is not valid (parsed with
@@ -62,5 +62,16 @@ public interface DateChooser extends TextElement{
 	public void setValidDateCheck(String errorKey);
 
 	public String getExampleDateString();
+	
+	
+	public DateChooser getDefaultValue();
+	
+	/**
+	 * Set an other date chooser as default value for this
+	 * chooser.
+	 * 
+	 * @param dateChooser A date chooser
+	 */
+	public void setDefaultValue(DateChooser dateChooser);
 
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
index 96137f0044712576a2967ccc58f4da74ddd96963..b45c6b30f2d0ea7a79fb70bdac8cd76f33aad88e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java
@@ -42,8 +42,6 @@ import org.olat.core.util.ValidationStatus;
 import org.olat.core.util.ValidationStatusImpl;
 
 /**
- * Description:<br>
- * TODO: patrickb Class Description for JSDateChooser
  * <P>
  * Initial Date: 19.01.2007 <br>
  * 
@@ -65,7 +63,9 @@ public class JSDateChooser extends TextElementImpl implements DateChooser {
 	private boolean dateChooserTimeEnabled;
 	private String forValidDateErrorKey;
 	private boolean checkForValidDate;
-	private int minute, hour;
+	private int minute;
+	private int hour;
+	private DateChooser defaultDateValue;
 	
 	public JSDateChooser(String name, Locale locale) {
 		this(null, name, null, locale);
@@ -111,6 +111,16 @@ public class JSDateChooser extends TextElementImpl implements DateChooser {
 		return dateComponent;
 	}
 
+	@Override
+	public DateChooser getDefaultValue() {
+		return defaultDateValue;
+	}
+
+	@Override
+	public void setDefaultValue(DateChooser dateChooser) {
+		defaultDateValue = dateChooser;
+	}
+
 	/**
 	 * @see org.olat.core.gui.components.form.flexible.elements.AbstractTextElement#validate(java.util.List)
 	 */
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java
index 6f71e9076ddad1b96b7d9327d161b64bcf3ab208..43e4b1ca86da35e29b9efcab28f450eecaf67f6e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java
@@ -35,9 +35,6 @@ import org.olat.core.gui.render.ValidationResult;
 import org.olat.core.gui.translator.Translator;
 
 /**
- * Description:<br>
- * TODO: patrickb Class Description for JSDateChooserComponent
- * 
  * <P>
  * Initial Date: 19.01.2007 <br>
  * 
@@ -45,7 +42,7 @@ import org.olat.core.gui.translator.Translator;
  */
 class JSDateChooserComponent extends FormBaseComponentImpl {
 	
-	private final static ComponentRenderer RENDERER = new JSDateChooserRenderer();
+	private static final ComponentRenderer RENDERER = new JSDateChooserRenderer();
 	private JSDateChooser element;
 
 	public JSDateChooserComponent(JSDateChooser element) {
@@ -104,4 +101,8 @@ class JSDateChooserComponent extends FormBaseComponentImpl {
 	public String getExampleDateString() {
 		return element.getExampleDateString();
 	}
+	
+	public JSDateChooser getFormItem() {
+		return element;
+	}
 }
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java
index db6b7fe2880943afbdbeef4c786a39c7753aed05..8f6539b8378076682498e685be3510c982964ddc 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java
@@ -40,8 +40,6 @@ import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
 
 /**
- * Description:<br>
- * TODO: patrickb Class Description for JSDateChooserRenderer
  * <P>
  * Initial Date: 19.01.2007 <br>
  * 
@@ -87,7 +85,7 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
 			  .append("></i></span>")
 			  .append("</div></div>");//input-group
 			// date chooser javascript
-			sb.append("<script type=\"text/javascript\">\n /* <![CDATA[ */ \n")
+			sb.append("<script>\n /* <![CDATA[ */ \n")
 				.append("jQuery(function(){ jQuery('#").append(receiverId).append("').datepicker({\n")
 				.append("  dateFormat:'").append(format).append("',\n")
 				.append("  firstDay:1,\n")
@@ -114,11 +112,18 @@ class JSDateChooserRenderer extends DefaultComponentRenderer {
 				  .append("'").append(dateTranslator.translate("day.short.fr")).append("',")
 				  .append("'").append(dateTranslator.translate("day.short.sa")).append("'")
 				.append("],\n")
-				.append("  showOtherMonths:true,\n")
-				.append("  onSelect:function(){\n")
-				.append("    setFlexiFormDirty('").append(te.getRootForm().getDispatchFieldId()).append("');\n")
-				.append("    jQuery(this).change();\n")
-				.append("  }\n")
+				.append("  showOtherMonths:true,\n");
+			if(jsdcc.getFormItem().getDefaultValue() != null) {
+				String id = ((JSDateChooser)jsdcc.getFormItem().getDefaultValue()).getTextElementComponent().getFormDispatchId();
+				sb.append("  beforeShow:function(el, inst) {\n")
+				  .append("    var defDate = jQuery('#").append(id).append("').datepicker('getDate');\n")
+				  .append("    jQuery('#").append(receiverId).append("').datepicker('option', 'defaultDate', defDate);")
+				  .append("  },\n");
+			}
+			sb.append("  onSelect:function(){\n")
+			  .append("    setFlexiFormDirty('").append(te.getRootForm().getDispatchFieldId()).append("');\n")
+			  .append("    jQuery(this).change();\n")
+			  .append("  }\n")
 			  .append("})});")
 			  .append("\n/* ]]> */ \n</script>");
 			
diff --git a/src/main/java/org/olat/course/MergedCourseContainer.java b/src/main/java/org/olat/course/MergedCourseContainer.java
index a8e3243c9837249628ce4a7b6ac244057580ea02..16541f4a15acabd3c0f97e8f352a2c0f02042966 100644
--- a/src/main/java/org/olat/course/MergedCourseContainer.java
+++ b/src/main/java/org/olat/course/MergedCourseContainer.java
@@ -35,11 +35,9 @@ import org.olat.core.util.vfs.NamedContainerImpl;
 import org.olat.core.util.vfs.Quota;
 import org.olat.core.util.vfs.QuotaManager;
 import org.olat.core.util.vfs.VFSContainer;
-import org.olat.core.util.vfs.VFSItem;
 import org.olat.core.util.vfs.VFSManager;
 import org.olat.core.util.vfs.callbacks.ReadOnlyCallback;
 import org.olat.core.util.vfs.callbacks.VFSSecurityCallback;
-import org.olat.core.util.vfs.filters.VFSItemFilter;
 import org.olat.course.config.CourseConfig;
 import org.olat.course.nodes.BCCourseNode;
 import org.olat.course.nodes.CourseNode;
@@ -308,7 +306,7 @@ public class MergedCourseContainer extends MergeSource {
 				// , then do recursion for all children ...
 				addFoldersForAdmin(course, courseNodeContainer, child);
 				// ... but only add this container if it contains any children with at least one BC course node
-				if (courseNodeContainer.getItems().size() > 0) {
+				if (!courseNodeContainer.getItems().isEmpty()) {
 					nodesContainer.addContainer(courseNodeContainer);
 				}
 			}
@@ -325,12 +323,7 @@ public class MergedCourseContainer extends MergeSource {
 	 */
 	private String getFolderName(MergeSource nodesContainer, CourseNode bcNode, String folderName) {
 		// add node ident if multiple files have same name
-		if (nodesContainer.getItems(new VFSItemFilter() {
-			@Override
-			public boolean accept(VFSItem vfsItem) {
-				return (bcNode.getShortTitle().equals(RequestUtil.normalizeFilename(bcNode.getShortTitle())));
-			}
-		}).size() > 0) {
+		if (!nodesContainer.getItems(vfsItem -> vfsItem.getName().equals(RequestUtil.normalizeFilename(bcNode.getShortTitle()))).isEmpty()) {
 			folderName = folderName + " (" + bcNode.getIdent() + ")";
 		}
 		return folderName;
diff --git a/src/main/java/org/olat/course/assessment/ui/mode/AssessmentModeEditController.java b/src/main/java/org/olat/course/assessment/ui/mode/AssessmentModeEditController.java
index c6d3830c0e0e6cca7e3a7d40346d9df7fdf197a2..119fbba20d168778fa15c37f8a5619d105e91595 100644
--- a/src/main/java/org/olat/course/assessment/ui/mode/AssessmentModeEditController.java
+++ b/src/main/java/org/olat/course/assessment/ui/mode/AssessmentModeEditController.java
@@ -196,6 +196,7 @@ public class AssessmentModeEditController extends FormBasicController {
 		endEl = uifactory.addDateChooser("mode.end", assessmentMode.getEnd(), formLayout);
 		endEl.setElementCssClass("o_sel_assessment_mode_end");
 		endEl.setDateChooserTimeEnabled(true);
+		endEl.setDefaultValue(beginEl);
 		endEl.setMandatory(true);
 		endEl.setEnabled(status != Status.end);
 		
@@ -606,7 +607,7 @@ public class AssessmentModeEditController extends FormBasicController {
 
 		//update groups
 		if(groupKeys.isEmpty()) {
-			if(assessmentMode.getGroups().size() > 0) {
+			if(!assessmentMode.getGroups().isEmpty()) {
 				assessmentMode.getGroups().clear();
 			}
 		} else {
@@ -631,7 +632,7 @@ public class AssessmentModeEditController extends FormBasicController {
 		
 		//update areas
 		if(areaKeys.isEmpty()) {
-			if(assessmentMode.getAreas().size() > 0) {
+			if(!assessmentMode.getAreas().isEmpty()) {
 				assessmentMode.getAreas().clear();
 			}
 		} else {
diff --git a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
index 744c53c390497d5c7de2416a4f026f4f1bd2581a..31e66ffda92db7f4e864fa56c7fcca961a19c867 100644
--- a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
@@ -696,9 +696,9 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements
 		Boolean passed = null;
 		if(cutValue != null) {
 			boolean aboveCutValue = score >= cutValue.floatValue();
-			passed = new Boolean(aboveCutValue);
+			passed = Boolean.valueOf(aboveCutValue);
 		}
-		ScoreEvaluation sceval = new ScoreEvaluation(new Float(score), passed);
+		ScoreEvaluation sceval = new ScoreEvaluation(Float.valueOf(score), passed);
 		
 		AssessmentManager am = assessedUserCourseEnv.getCourseEnvironment().getAssessmentManager();
 		am.saveScoreEvaluation(this, identity, assessedIdentity, sceval, assessedUserCourseEnv, false, by);
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
index 951a2bfd56a3bfa1d7c72358405ff7be33f4aaac..4f685c12f1617d72e90310cd6e0fd2cccf157f4f 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
@@ -38,6 +38,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.ControllerEventListener;
+import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.dtabs.Activateable2;
 import org.olat.core.id.OLATResourceable;
@@ -138,7 +139,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 		boolean readOnly = isReadOnly();
 		if(formLayout instanceof FormLayoutContainer) {
 			FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
-			layoutCont.contextPut("readOnly", new Boolean(readOnly));
+			layoutCont.contextPut("readOnly", Boolean.valueOf(readOnly));
 			if(dueDate != null) {
 				layoutCont.contextPut("dueDate", dueDate);
 				layoutCont.contextPut("in-due-date", isPanelOpen(ureq, "due-date", true));
@@ -290,7 +291,9 @@ public class CheckListRunController extends FormBasicController implements Contr
 			CheckboxWrapper wrapper = (CheckboxWrapper)boxEl.getUserObject();
 			if(wrapper != null) {
 				boolean checked = boxEl.isAtLeastSelected(1);
-				doCheck(ureq, wrapper, checked);
+				if(doCheck(ureq, wrapper, checked)) {
+					fireEvent(ureq, Event.CHANGED_EVENT);
+				}
 			}
 		} else if("ONCLICK".equals(event.getCommand())) {
 			String cmd = ureq.getParameter("fcid");
@@ -302,7 +305,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 		super.formInnerEvent(ureq, source, event);
 	}
 	
-	private void doCheck(UserRequest ureq, CheckboxWrapper wrapper, boolean checked) {
+	private boolean doCheck(UserRequest ureq, CheckboxWrapper wrapper, boolean checked) {
 		DBCheckbox theOne;
 		if(wrapper.getDbCheckbox() == null) {
 			String uuid = wrapper.getCheckbox().getCheckboxId();
@@ -311,6 +314,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 			theOne = wrapper.getDbCheckbox();
 		}
 		
+		boolean grantPoints = false;
 		if(theOne == null) {
 			//only warning because this happen in course preview
 			logWarn("A checkbox is missing: " + courseOres + " / " + courseNode.getIdent(), null);
@@ -321,17 +325,23 @@ public class CheckListRunController extends FormBasicController implements Contr
 			} else {
 				score = 0f;
 			}
-			checkboxManager.check(theOne, getIdentity(), score, new Boolean(checked));
+			if(wrapper.getCheckbox().getPoints() != null) {
+				grantPoints = true;
+			}
+			
+			checkboxManager.check(theOne, getIdentity(), score, Boolean.valueOf(checked));
 			//make sure all results is on the database before calculating some scores
-			//manager commit already DBFactory.getInstance().commit();
+			//manager commit already 
 			
 			courseNode.updateScoreEvaluation(getIdentity(), userCourseEnv, getIdentity(), Role.user);
 			
 			Checkbox checkbox = wrapper.getCheckbox();
 			logUpdateCheck(checkbox.getCheckboxId(), checkbox.getTitle());
+			
 		}
 		
 		exposeUserDataToVC(ureq, flc);
+		return grantPoints;
 	}
 	
 	private void logUpdateCheck(String checkboxId, String boxTitle) {
@@ -353,9 +363,9 @@ public class CheckListRunController extends FormBasicController implements Contr
 	private void saveOpenPanel(UserRequest ureq, String panelId, boolean newValue) {
 		Preferences guiPrefs = ureq.getUserSession().getGuiPreferences();
 		if (guiPrefs != null) {
-			guiPrefs.putAndSave(CheckListRunController.class, getOpenPanelId(panelId), new Boolean(newValue));
+			guiPrefs.putAndSave(CheckListRunController.class, getOpenPanelId(panelId), Boolean.valueOf(newValue));
 		}
-		flc.getFormItemComponent().contextPut("in-" + panelId, new Boolean(newValue));
+		flc.getFormItemComponent().contextPut("in-" + panelId, Boolean.valueOf(newValue));
 	}
 	
 	private String getOpenPanelId(String panelId) {
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
index 7c2fad6e7fe23e43ec3cc11fe719022143784ed2..da5aa23e4e46e6105a977928ad5b698b944ebfc3 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
@@ -27,6 +27,7 @@ import org.olat.core.gui.components.segmentedview.SegmentViewComponent;
 import org.olat.core.gui.components.segmentedview.SegmentViewEvent;
 import org.olat.core.gui.components.segmentedview.SegmentViewFactory;
 import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.controller.BasicController;
@@ -96,6 +97,16 @@ public class CheckListRunForCoachController extends BasicController {
 		}
 	}
 
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if(runController == source) {
+			if(event == Event.CHANGED_EVENT) {
+				fireEvent(ureq, event);
+			}
+		}
+		super.event(ureq, source, event);
+	}
+
 	private void doOpenRun(UserRequest ureq) {
 		if(runController == null) {
 			runController = new CheckListRunController(ureq, getWindowControl(), userCourseEnv, courseOres, courseNode);
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_content/identity_courseelement.html b/src/main/java/org/olat/course/nodes/gta/ui/_content/identity_courseelement.html
index 780df08442b7e6f1929770de47f5c82a17a6400f..981c85aa4377513cce26d6d23602022e41ac1d6c 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/_content/identity_courseelement.html
+++ b/src/main/java/org/olat/course/nodes/gta/ui/_content/identity_courseelement.html
@@ -11,3 +11,11 @@
 	#end
 </div>
 $r.render("table")
+<div class="o_button_group">
+	#if($r.available("bulk.done"))
+		$r.render("bulk.done")
+	#end
+	#if($r.available("bulk.visible"))
+		$r.render("bulk.visible")
+	#end
+</div>
\ No newline at end of file