diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
index 0741892b350435df9614d611631ae07adfeda008..8a4288e33b9ead93f64ff8a89ff183de1d355d03 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
@@ -36,7 +36,6 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel {
 	private String headerKey;
 	private String columnKey;
 	private int columnIndex;
-	private String action;
 
 	private boolean sortable;
 	private String sortedKey;
@@ -53,11 +52,6 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel {
 		this(true, headerKey, columnIndex, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer);
 	}
 	
-	public DefaultFlexiColumnModel(String headerKey, int columnIndex, String action) {
-		this(headerKey, columnIndex, false, null);
-		this.action = action;
-	}
-	
 	public DefaultFlexiColumnModel(String headerKey, int columnIndex, boolean sortable, String sortKey) {
 		this(true, headerKey, columnIndex, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT,  new TextFlexiCellRenderer());
 	}
@@ -78,11 +72,7 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel {
 
 	@Override
 	public String getAction() {
-		return action;
-	}
-	
-	public void setAction(String action) {
-		this.action = action;
+		return null;
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java b/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java
index e17beede64f42b0bfb54ce20d65950bd1746dffa..6f4aff155b629d1d5db8510d2f290bb84e3643f0 100644
--- a/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java
+++ b/src/main/java/org/olat/course/assessment/bulk/BulkAssessmentOverviewController.java
@@ -24,6 +24,7 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
+import org.olat.NewControllerFactory;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.services.taskexecutor.Task;
 import org.olat.core.commons.services.taskexecutor.TaskExecutorManager;
@@ -36,10 +37,13 @@ import org.olat.core.gui.components.form.flexible.elements.FormLink;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiCellRenderer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.TextFlexiCellRenderer;
 import org.olat.core.gui.components.link.Link;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
@@ -50,6 +54,7 @@ import org.olat.core.gui.control.generic.wizard.Step;
 import org.olat.core.gui.control.generic.wizard.StepRunnerCallback;
 import org.olat.core.gui.control.generic.wizard.StepsMainRunController;
 import org.olat.core.gui.control.generic.wizard.StepsRunContext;
+import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
 import org.olat.course.CourseFactory;
 import org.olat.course.ICourse;
@@ -111,7 +116,11 @@ public class BulkAssessmentOverviewController extends FormBasicController {
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.comment", Cols.comment.ordinal()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.returnFiles", Cols.returnFile.ordinal()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.numOfAssessedUsers", Cols.numOfAssessedUsers.ordinal()));
-		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.owner", Cols.owner.ordinal()));
+		
+		FlexiCellRenderer renderer = new StaticFlexiCellRenderer("select-owner", new TextFlexiCellRenderer());
+		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("table.header.owner", Cols.owner.ordinal(), "select-owner", renderer));
+		
+		
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("edit", translate("edit"), "edit"));
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", translate("delete"), "delete"));
 		
@@ -165,6 +174,12 @@ public class BulkAssessmentOverviewController extends FormBasicController {
 						doConfirmDelete(ureq, data);
 						break;
 					}
+					case "select-owner": {
+						TaskData data = taskModel.getObject(se.getIndex());
+						Identity creator = data.getTask().getCreator();
+						doOpenCard(ureq, creator);
+						break;
+					}
 				}
 			}
 		}
@@ -198,6 +213,11 @@ public class BulkAssessmentOverviewController extends FormBasicController {
 		super.event(ureq, source, event);
 	}
 	
+	private void doOpenCard(UserRequest ureq, Identity creator) {
+		String businessPath = "[Identity:" + creator.getKey() + "]";
+		NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl());
+	}
+	
 	private void doConfirmDelete(UserRequest ureq, TaskData data) {
 		String title = translate("delete.task");
 		String text = translate("delete.task.confirm", new String[]{ data.toString() });
diff --git a/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java b/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java
index 23b81d6a09b4e0c55a6dd0200b00f8df01933875..810a444f93c101d16490f2e85a7ab1f5bcfe4646 100644
--- a/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java
+++ b/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java
@@ -34,6 +34,8 @@ import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.modules.bc.FolderConfig;
 import org.olat.core.commons.modules.bc.vfs.OlatRootFileImpl;
 import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl;
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.commons.services.taskexecutor.LongRunnable;
 import org.olat.core.commons.services.taskexecutor.Task;
 import org.olat.core.commons.services.taskexecutor.TaskAwareRunnable;
@@ -176,6 +178,9 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable {
 	public List<BulkAssessmentFeedback> process() {
 		List<BulkAssessmentFeedback> feedbacks = new ArrayList<>();
 		try {
+			LoggingResourceable infos = LoggingResourceable.wrap(getCourseNode());
+			ThreadLocalUserActivityLogger.addLoggingResourceInfo(infos);
+			
 			doProcess(feedbacks);
 			cleanup();
 		} catch (Exception e) {
@@ -293,6 +298,7 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable {
 	}
 	
 	private void doProcess(List<BulkAssessmentFeedback> feedbacks) {
+		final DB dbInstance = DBFactory.getInstance();
 		final BaseSecurity securityManager = CoreSpringFactory.getImpl(BaseSecurity.class);
 		final Identity coachIdentity = securityManager.loadIdentityByKey(coachedIdentity);
 		final ICourse course = CourseFactory.loadCourse(courseRes);
@@ -328,6 +334,7 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable {
 			cut = courseNode.getCutValueConfiguration();
 		}
 		
+		int count = 0;
 		List<BulkAssessmentRow> rows = datas.getRows();
 		for(BulkAssessmentRow row:rows) {
 			Long identityKey = row.getIdentityKey();
@@ -335,7 +342,7 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable {
 				feedbacks.add(new BulkAssessmentFeedback("bulk.action.no.such.user", row.getAssessedId()));
 				continue;//nothing to do
 			}
-			
+
 			Identity identity = securityManager.loadIdentityByKey(identityKey);
 			IdentityEnvironment ienv = new IdentityEnvironment(identity, studentRoles);
 			UserCourseEnvironment uce = new UserCourseEnvironmentImpl(ienv, course.getCourseEnvironment());
@@ -415,6 +422,10 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable {
 					}
 				}
 			}
+			
+			if(count++ % 5 == 0) {
+				dbInstance.commitAndCloseSession();
+			}
 		}
 	}
 	
diff --git a/src/main/java/org/olat/home/UserSearchAndInfoController.java b/src/main/java/org/olat/home/UserSearchAndInfoController.java
index 83bc1db91908c11b50128aa6694c42be9e4bafaf..a7dadf15189a26c195c16f496aa82f8d7e9b195b 100644
--- a/src/main/java/org/olat/home/UserSearchAndInfoController.java
+++ b/src/main/java/org/olat/home/UserSearchAndInfoController.java
@@ -97,8 +97,7 @@ public class UserSearchAndInfoController extends BasicController {
 	 */
 	@Override
 	protected void event(UserRequest ureq, Component source, Event event) {
-		// TODO Auto-generated method stub
-
+		//
 	}
 
 	/**
@@ -106,8 +105,6 @@ public class UserSearchAndInfoController extends BasicController {
 	 */
 	@Override
 	protected void doDispose() {
-		// TODO Auto-generated method stub
-
+		//
 	}
-
 }
diff --git a/src/main/java/org/olat/modules/co/ContactForm.java b/src/main/java/org/olat/modules/co/ContactForm.java
index b7333fc036d7ed7f318abd648633c0933183961c..fe96d263237b9420b949723348e4c315d0bfa7e5 100644
--- a/src/main/java/org/olat/modules/co/ContactForm.java
+++ b/src/main/java/org/olat/modules/co/ContactForm.java
@@ -56,7 +56,6 @@ import org.olat.core.util.FileUtils;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.Util;
 import org.olat.core.util.filter.FilterFactory;
-import org.olat.core.util.filter.impl.SmileysCssToDataUriFilter;
 import org.olat.core.util.mail.ContactList;
 import org.olat.core.util.mail.MailModule;
 import org.olat.user.UserManager;