Index: dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/StudentGroupProgress.java
===================================================================
--- dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/StudentGroupProgress.java	(revision 1a988e62762f18b3f96f34b6418117b19de8420d)
+++ dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/StudentGroupProgress.java	(revision 717f87ed1469d948a29cee2fce6a95421da132af)
@@ -31,4 +31,5 @@
 import org.apache.tapestry5.services.PersistentLocale;
 import org.apache.tapestry5.services.SelectModelFactory;
+import org.openqa.selenium.devtools.v100.debugger.Debugger.EvaluateOnCallFrameResponse;
 import org.slf4j.Logger;
 
@@ -38,4 +39,5 @@
 import dblearnstar.model.entities.TaskInTestInstance;
 import dblearnstar.webapp.annotations.AdministratorPage;
+import dblearnstar.webapp.services.EvaluationService;
 import dblearnstar.webapp.services.GenericService;
 import dblearnstar.webapp.services.GroupManager;
@@ -61,4 +63,6 @@
 	@Inject
 	private PersonManager personManager;
+	@Inject
+	private EvaluationService evaluationService;
 
 	@Property
@@ -175,4 +179,8 @@
 		return (translated != null ? translated : taskInTestInstance.getTask().getTitle());
 	}
+	
+	public List<GroupMember> getSelectedGroupMembersSorted() {
+		return evaluationService.groupMembersSortedByTestTotals(selectedGroup);
+	}
 
 }
Index: dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationService.java
===================================================================
--- dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationService.java	(revision 1a988e62762f18b3f96f34b6418117b19de8420d)
+++ dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationService.java	(revision 717f87ed1469d948a29cee2fce6a95421da132af)
@@ -25,4 +25,6 @@
 import java.util.List;
 
+import dblearnstar.model.entities.Group;
+import dblearnstar.model.entities.GroupMember;
 import dblearnstar.model.entities.SolutionAssessment;
 import dblearnstar.model.entities.Student;
@@ -44,4 +46,7 @@
 	public List<StudentSubmitSolution> getAllSolutionsForEvalutionFromTestInstance(TestInstance selectedTestInstance);
 
+	public List<StudentSubmitSolution> getAllSolutionsForEvalutionFromTaskInTestInstance(
+			TaskInTestInstance taskInTestInstance);
+
 	public List<StudentSubmitSolution> getAllSubmissionsOrdered();
 
@@ -52,5 +57,5 @@
 			TestInstance testInstance, TaskInTestInstance taskInTestInstance, Boolean onlyForEval, Boolean onlyCorrect);
 
-	public void processSolution(String issuedByUserName, StudentSubmitSolution s);
+	public void reEvalSolution(String issuedByUserName, StudentSubmitSolution s);
 
 	public Triplet<List<Object[]>, List<String>, List<String>> getResultsForPrintingPurposes(String userName,
@@ -71,3 +76,7 @@
 	public List<SolutionAssessment> getSolutionAssessmentsWithDiscussionForTestInstance(long testInstanceId);
 
+	public void reEvalListOfSubmissions(String userName, List<StudentSubmitSolution> list);
+
+	public List<GroupMember> groupMembersSortedByTestTotals(Group selectedGroup);
+
 }
Index: dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationServiceImpl.java
===================================================================
--- dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationServiceImpl.java	(revision 1a988e62762f18b3f96f34b6418117b19de8420d)
+++ dbLearnStar-webApp/src/main/java/dblearnstar/webapp/services/EvaluationServiceImpl.java	(revision 717f87ed1469d948a29cee2fce6a95421da132af)
@@ -45,4 +45,6 @@
 import org.slf4j.Logger;
 
+import dblearnstar.model.entities.Group;
+import dblearnstar.model.entities.GroupMember;
 import dblearnstar.model.entities.SolutionAssessment;
 import dblearnstar.model.entities.Student;
@@ -164,5 +166,5 @@
 					connection.rollback();
 				} catch (Exception e) {
-					logger.error("Error occured {}", e);
+					logger.error("Error occured when evaluating submissionId={}", e.getMessage());
 					if (e.getMessage().contains("ERROR: each EXCEPT query must have the same number of columns")) {
 						rslts.getFirstItem().add(messages.get("sql-outputSchemaFormatError"));
@@ -244,4 +246,14 @@
 
 	@Override
+	public List<StudentSubmitSolution> getAllSolutionsForEvalutionFromTaskInTestInstance(
+			TaskInTestInstance taskInTestInstance) {
+		return UsefulMethods.castList(StudentSubmitSolution.class, getEntityManager().createQuery("""
+					from StudentSubmitSolution sss where sss.notForEvaluation=false and
+				sss.taskInTestInstance.taskInTestInstanceId=:taskInTestInstanceId
+				""").setParameter("taskInTestInstanceId", taskInTestInstance.getTaskInTestInstanceId())
+				.getResultList());
+	}
+
+	@Override
 	public List<StudentSubmitSolution> getAllSubmissionsOrdered() {
 		return UsefulMethods.castList(StudentSubmitSolution.class, getEntityManager()
@@ -346,5 +358,5 @@
 	}
 
-	public void processSolution(String issuedByUserName, StudentSubmitSolution s) {
+	public void reEvalSolution(String issuedByUserName, StudentSubmitSolution s) {
 		TaskInTestInstance tti = s.getTaskInTestInstance();
 		/*
@@ -353,4 +365,5 @@
 		TestInstanceParameters tip = tti.getTestInstance().getTestInstanceParameters().get(0);
 
+		logger.info("Reevaluation started for studentSubmitSolutionId: {}", s.getStudentSubmitSolutionId());
 		Triplet<List<String>, List<String>, Boolean> rsltsSimple = evalResultsIn(issuedByUserName, s.getSubmission(),
 				tti, tip, tip.getSchemaSimple());
@@ -918,3 +931,40 @@
 	}
 
+	@Override
+	public void reEvalListOfSubmissions(String userName, List<StudentSubmitSolution> list) {
+		list.forEach((studentSubmitSolution) -> {
+			try {
+				reEvalSolution(userName, studentSubmitSolution);
+			} catch (Exception e) {
+				logger.error("Fail evaluation for sssId: {}", studentSubmitSolution.getStudentSubmitSolutionId());
+			}
+		});
+	}
+
+	@Override
+	public List<GroupMember> groupMembersSortedByTestTotals(Group selectedGroup) {
+		return getEntityManager().createNativeQuery(
+				"""
+						SELECT
+						group_member_id, group_id, student_id
+						FROM (
+							SELECT gm.group_member_id, gm.group_id, gm.student_id, ti.test_instance_id, titi.task_in_test_instance_id, max(sa.grade) test_task_grade, max(sss.submitted_on) prateno_na
+							FROM
+							"group" g
+							JOIN group_member gm ON g.group_id=gm.group_id
+							JOIN group_focus_on_test gfot ON g.group_id=gfot.group_id
+							JOIN test_instance ti ON ti.test_instance_id=gfot.test_instance_id
+							JOIN task_in_test_instance titi ON ti.test_instance_id=titi.test_instance_id
+							JOIN student_started_test sst ON sst.test_instance_id=ti.test_instance_id AND sst.student_id=gm.student_id
+							JOIN student_submit_solution sss ON titi.task_in_test_instance_id=sss.task_in_test_instance_id AND sss.student_started_test_id=sst.student_started_test_id
+							JOIN solution_assessment sa ON sss.student_submit_solution_id=sa.student_submit_solution_id
+							WHERE g.group_id=?
+							GROUP BY gm.group_member_id, ti.test_instance_id, titi.task_in_test_instance_id
+						) temp1
+						GROUP BY group_member_id, group_id, student_id
+						ORDER BY sum(test_task_grade) DESC, max(prateno_na) asc
+																						""",
+				GroupMember.class).setParameter(1, selectedGroup.getGroupId()).getResultList();
+	}
+
 }
Index: dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/StudentGroupProgress.tml
===================================================================
--- dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/StudentGroupProgress.tml	(revision 1a988e62762f18b3f96f34b6418117b19de8420d)
+++ dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/StudentGroupProgress.tml	(revision 717f87ed1469d948a29cee2fce6a95421da132af)
@@ -39,5 +39,5 @@
 					style="text-orientation: sideways; writing-mode: vertical-lr; font-size: 80%; width: 4em;">Total</th>
 			</thead>
-			<tr t:type="loop" t:source="selectedGroup.groupMembers"
+			<tr t:type="loop" t:source="selectedGroupMembersSorted"
 				t:value="groupMember">
 				<td
