Index: lams_build/common.properties
===================================================================
diff -u -r924d4186e55122ce91b5dcaba3311ab026060e94 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_build/common.properties (.../common.properties) (revision 924d4186e55122ce91b5dcaba3311ab026060e94)
+++ lams_build/common.properties (.../common.properties) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -18,7 +18,7 @@
# http://www.gnu.org/licenses/gpl.txt
# put into EAR MANIFEST.MF file
-project.version=4.6
+project.version=4.8
# is HTTPS in use? if so, set it to true, so JSESSIONID cookie is secured
secure.cookie=false
Index: lams_common/db/sql/insert_lams_config_data.sql
===================================================================
diff -u -re6ae9ab9e7c1eba04125fa2dfad3dd7e58d7cf4b -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_common/db/sql/insert_lams_config_data.sql (.../insert_lams_config_data.sql) (revision e6ae9ab9e7c1eba04125fa2dfad3dd7e58d7cf4b)
+++ lams_common/db/sql/insert_lams_config_data.sql (.../insert_lams_config_data.sql) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -1,20 +1,18 @@
INSERT INTO lams_configuration VALUES
-('AdminScreenSize','1280x720','config.admin.screen.size','config.header.look.feel','STRING',1),
('AllowDirectAccessIntgrtnLrnr','false','config.allow.direct.access.for.integration.learners','config.header.features','BOOLEAN',1),
('AllowDirectLessonLaunch','false','config.allow.direct.lesson.launch','config.header.features','BOOLEAN',1),
('AllowKumalive','true','config.allow.kumalive','config.header.features','BOOLEAN',1),
('AllowLiveEdit','true','config.allow.live.edit','config.header.features','BOOLEAN',1),
('AntivirusEnable','false','config.av.enable','config.header.antivirus','BOOLEAN',1),
('AntivirusHost','localhost','config.av.host','config.header.antivirus','STRING',0),
('AntivirusPort','3310','config.av.port','config.header.antivirus','LONG',0),
-('AuthoringScreenSize','1280x720','config.authoring.screen.size','config.header.look.feel','STRING',1),
('CleanupPreviewOlderThanDays','7','config.cleanup.preview.older.than.days','config.header.system','LONG',1),
('ConfigCacheRefreshInterval','0','config.cache.refresh','config.header.system','LONG',0),
('ContentRepositoryPath','@contentrepository.directory@','config.content.repository.path','config.header.uploads','STRING',1),
('CustomTabLink','','config.custom.tab.link','config.header.look.feel','STRING',0),
('CustomTabTitle','','config.custom.tab.title','config.header.look.feel','STRING',0),
('DefaultTheme','defaultHTML','config.default.html.theme','config.header.look.feel','STRING',1),
-('DictionaryDateCreated','2021-10-25','config.dictionary.date.created','config.header.versions','STRING',1),
+('DictionaryDateCreated','2023-03-25','config.dictionary.date.created','config.header.versions','STRING',1),
('DisplayPortrait','true','config.display.portrait','config.header.look.feel','BOOLEAN',0),
('DisplayPrintButton','false','config.display.print.button','config.header.features','BOOLEAN',1),
('EARDir','@ear.directory@','config.ear.dir','config.header.system','STRING',1),
@@ -65,11 +63,9 @@
('LDAPSecurityProtocol','','config.ldap.security.protocol','config.header.ldap','STRING',0),
('LDAPStateAttr','st','admin.user.state','config.header.ldap.attributes','STRING',0),
('LDAPUpdateOnLogin','true','config.ldap.update.on.login','config.header.ldap','BOOLEAN',1),
-('LearnerScreenSize','1280x720','config.learner.screen.size','config.header.look.feel','STRING',1),
('LearningOutcomeQuickAddEnable','true','config.learning.outcome.add.enable','config.header.features','BOOLEAN',1),
('LockOutTime','5','config.lock.out.time','config.header.password.policy','LONG',1),
('LoginAsEnable','true','config.login.as.enable','config.header.privacy.settings','BOOLEAN',1),
-('MonitorScreenSize','1280x720','config.monitor.screen.size','config.header.look.feel','STRING',1),
('PasswordExpirationMonths','12','config.password.expiration','config.header.password.policy','LONG',1),
('PasswordHistoryLimit','3','config.password.history','config.header.password.policy','LONG',1),
('PasswordPolicyLowercase','true','config.password.lowercase','config.header.password.policy','BOOLEAN',0),
@@ -111,4 +107,4 @@
('UserValidationEmail','true','config.user.validation.emails','config.header.user.validation','BOOLEAN',0),
('UserValidationFirstLastName','true','config.user.validation.first.last.name','config.header.user.validation','BOOLEAN',0),
('UserValidationUsername','true','config.user.validation.username','config.header.user.validation','BOOLEAN',0),
-('Version','4.8','config.version','config.header.system','STRING',1);
+('Version','4.8','config.version','config.header.system','STRING',1);
\ No newline at end of file
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java
===================================================================
diff -u -r466b430b11cd214ae9c8a4737ea5f6ed9253ed27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 466b430b11cd214ae9c8a4737ea5f6ed9253ed27)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -23,8 +23,28 @@
package org.lamsfoundation.lams.monitoring.service;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TimeZone;
+import java.util.TreeSet;
+import java.util.Vector;
+
+import javax.servlet.http.HttpSession;
+
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
@@ -73,8 +93,6 @@
import org.lamsfoundation.lams.monitoring.quartz.job.FinishScheduleLessonJob;
import org.lamsfoundation.lams.monitoring.quartz.job.OpenScheduleGateJob;
import org.lamsfoundation.lams.monitoring.quartz.job.StartScheduleLessonJob;
-import org.lamsfoundation.lams.notebook.model.NotebookEntry;
-import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
import org.lamsfoundation.lams.rating.model.ToolActivityRatingCriteria;
import org.lamsfoundation.lams.security.ISecurityService;
import org.lamsfoundation.lams.tool.ToolContent;
@@ -107,27 +125,8 @@
import org.quartz.TriggerBuilder;
import org.quartz.TriggerKey;
-import javax.servlet.http.HttpSession;
-import java.io.IOException;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TimeZone;
-import java.util.TreeMap;
-import java.util.TreeSet;
-import java.util.Vector;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
*
@@ -1168,10 +1167,6 @@
// remove lesson resources
lessonDAO.deleteByProperty(LogEvent.class, "lessonId", lessonId);
lessonDAO.deleteByProperty(ToolSession.class, "lesson.lessonId", lessonId);
- Map notebookProperties = new TreeMap<>();
- notebookProperties.put("externalID", lessonId);
- notebookProperties.put("externalIDType", CoreNotebookConstants.SCRATCH_PAD);
- lessonDAO.deleteByProperties(NotebookEntry.class, notebookProperties);
lessonDAO.deleteLesson(lesson);
// remove each Tool activity content
Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -r7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27)
+++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -80,7 +80,6 @@
label.authoring.advance.questions.per.page = Questions per page
label.authoring.advance.all.in.one.page = All in one page
label.authoring.advance.shuffle.questions = Shuffle questions
-label.authoring.advance.shuffle.answers = Shuffle answers
label.authoring.advance.attempts.allowed = Attempts allowed
label.authoring.advance.unlimited = Unlimited
label.authoring.advance.allow.students.question.feedback = Allow learners to see question feedback after each question
@@ -256,7 +255,7 @@
label.authoring.basic.export.qti = Export IMS QTI
label.monitoring.heading = Assessment Monitoring
label.maximum.number.words = Maximum number of words
-label.minimum.number.words = Minimum number of words
+label.minimum.number.words = Minimum number of words in a comment {0}
label.info.maximum.number.words = This answer must have a maximum of {0} words.
label.info.minimum.number.words = This answer must have a minimum of {0} words.
label.info.max.and.min.number.words = This answer must have a minimal of {0} and maximum of {1} words.
@@ -460,4 +459,30 @@
label.monitoring.user.summary.marker.comment = Comment
label.monitoring.user.summary.marker = Marker
label.activity.monitoring = Activity details
-message.authoring.rat.questions.sync = You have edited questions in this activity. Do you want to synchronise the changes with the corresponding TBL RAT activity?
\ No newline at end of file
+# Accessibility labels. Might not be shown in the screen but it is to be read by screen readers.
+label.stars.rate = Select stars to rate
+# Accessibility labels. Might not be shown in the screen but it is to be read by screen readers.
+button.post.comment = Post comment
+label.comment.minimum.number.words = Minimum number of words in a comment {0}
+label.my.progress = My progress
+label.lesson.name = Lesson name
+label.side.menu = Side menu
+label.close.and.return = Close and return to the course
+label.lams.logo = LAMS logo
+label.support.activities = Support activities
+label.progress = Progress
+label.skip.to.main.content = Skip to the main content
+label.your.lesson.completion = Your lesson completion
+label.your.portrait = Your profile portrait
+label.activity.name = Activity name
+label.confirm = Confirm
+titleHeading.reflection = Notebook entry
+label.rating.textarea.tip = Leave a comment...
+label.click.to.open = Click to open
+label.support.activity = Support activity
+label.completed.activity = Activity completed
+label.current.activity = Current activity
+label.not.started.activity = Activity not reached yet
+label.authoring.advance.shuffle.answers = Shuffle answers
+label.learning.submit.all.confirm = Are you certain you wish to submit your responses? Once submitted, you will not have the ability to alter them.
+message.authoring.rat.questions.sync = You've made edits to the questions in this activity. Would you like to sync these changes with the corresponding TBL RAT activity?
\ No newline at end of file
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java
===================================================================
diff -u -r7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -127,8 +127,6 @@
public static final String ATTR_QUESTION_UID = "questionUid";
- public static final String ATTR_NEXT_ACTIVITY_URL = "nextActivityUrl";
-
public static final String ATTR_SUMMARY_LIST = "summaryList";
public static final String ATTR_USER_SUMMARY = "userSummary";
@@ -179,14 +177,6 @@
public static final String ATTR_IS_GROUPED_ACTIVITY = "isGroupedActivity";
- public static final String ATTR_REFLECTION_ON = "reflectOn";
-
- public static final String ATTR_REFLECTION_INSTRUCTION = "reflectInstructions";
-
- public static final String ATTR_REFLECTION_ENTRY = "reflectEntry";
-
- public static final String ATTR_REFLECT_LIST = "reflectList";
-
public static final String ATTR_ACTIVITY_EVALUATION = "activityEvaluation";
public static final String ATTR_TOOL_OUTPUT_DEFINITIONS = "toolOutputDefinitions";
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java
===================================================================
diff -u -r466b430b11cd214ae9c8a4737ea5f6ed9253ed27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 466b430b11cd214ae9c8a4737ea5f6ed9253ed27)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -23,10 +23,33 @@
package org.lamsfoundation.lams.tool.assessment.service;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.nio.charset.StandardCharsets;
+import java.security.InvalidParameterException;
+import java.sql.Timestamp;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.SortedSet;
+import java.util.TreeMap;
+import java.util.TreeSet;
+import java.util.UUID;
+import java.util.function.Function;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
@@ -50,9 +73,6 @@
import org.lamsfoundation.lams.logevent.LearnerInteractionEvent;
import org.lamsfoundation.lams.logevent.service.ILearnerInteractionService;
import org.lamsfoundation.lams.logevent.service.ILogEventService;
-import org.lamsfoundation.lams.notebook.model.NotebookEntry;
-import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
-import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
import org.lamsfoundation.lams.outcome.Outcome;
import org.lamsfoundation.lams.outcome.OutcomeMapping;
import org.lamsfoundation.lams.outcome.service.IOutcomeService;
@@ -85,7 +105,6 @@
import org.lamsfoundation.lams.tool.assessment.dto.OptionDTO;
import org.lamsfoundation.lams.tool.assessment.dto.QuestionDTO;
import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary;
-import org.lamsfoundation.lams.tool.assessment.dto.ReflectDTO;
import org.lamsfoundation.lams.tool.assessment.dto.UserSummary;
import org.lamsfoundation.lams.tool.assessment.dto.UserSummaryItem;
import org.lamsfoundation.lams.tool.assessment.model.Assessment;
@@ -123,32 +142,10 @@
import org.lamsfoundation.lams.util.hibernate.HibernateSessionManager;
import org.springframework.web.util.UriUtils;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.nio.charset.StandardCharsets;
-import java.security.InvalidParameterException;
-import java.sql.Timestamp;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-import java.util.UUID;
-import java.util.function.Function;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* @author Andrey Balan
@@ -193,8 +190,6 @@
private IExportToolContentService exportContentService;
- private ICoreNotebookService coreNotebookService;
-
private IEventNotificationService eventNotificationService;
private IQbService qbService;
@@ -1293,56 +1288,6 @@
}
@Override
- public Long createNotebookEntry(Long sessionId, Integer userId, String entryText) {
- return coreNotebookService.createNotebookEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL,
- AssessmentConstants.TOOL_SIGNATURE, userId, "", entryText);
- }
-
- @Override
- public NotebookEntry getEntry(Long sessionId, Integer userId) {
- List list = coreNotebookService.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL,
- AssessmentConstants.TOOL_SIGNATURE, userId);
- if ((list == null) || list.isEmpty()) {
- return null;
- } else {
- return list.get(0);
- }
- }
-
- @Override
- public void updateEntry(NotebookEntry notebookEntry) {
- coreNotebookService.updateEntry(notebookEntry);
- }
-
- @Override
- public List getReflectList(Long contentId) {
- List reflectList = new LinkedList<>();
-
- List sessionList = assessmentSessionDao.getByContentId(contentId);
- for (AssessmentSession session : sessionList) {
- Long sessionId = session.getSessionId();
- // get all users in this session
- List users = assessmentUserDao.getBySessionID(sessionId);
- for (AssessmentUser user : users) {
-
- NotebookEntry entry = getEntry(sessionId, user.getUserId().intValue());
- if (entry != null) {
- ReflectDTO ref = new ReflectDTO(user);
- ref.setReflect(entry.getEntry());
- Date postedDate = (entry.getLastModified() != null)
- ? entry.getLastModified()
- : entry.getCreateDate();
- ref.setDate(postedDate);
- reflectList.add(ref);
- }
-
- }
- }
-
- return reflectList;
- }
-
- @Override
public String finishToolSession(Long toolSessionId, Long userId) throws AssessmentApplicationException {
//mark user as finished
AssessmentUser user = assessmentUserDao.getUserByUserIDAndSessionID(userId, toolSessionId);
@@ -3315,14 +3260,6 @@
return;
}
- for (AssessmentSession session : assessmentSessionDao.getByContentId(toolContentId)) {
- List entries = coreNotebookService.getEntry(session.getSessionId(),
- CoreNotebookConstants.NOTEBOOK_TOOL, AssessmentConstants.TOOL_SIGNATURE);
- for (NotebookEntry entry : entries) {
- coreNotebookService.deleteEntry(entry);
- }
- }
-
assessmentDao.delete(assessment);
}
@@ -3362,16 +3299,10 @@
AssessmentUser user = assessmentUserDao.getUserByUserIDAndSessionID(userId.longValue(),
session.getSessionId());
if (user != null) {
-
if (resetActivityCompletionOnly) {
user.setSessionFinished(false);
assessmentUserDao.saveObject(user);
} else {
- NotebookEntry entry = getEntry(session.getSessionId(), userId);
- if (entry != null) {
- assessmentDao.removeObject(NotebookEntry.class, entry.getUid());
- }
-
if ((session.getGroupLeader() != null) && session.getGroupLeader().getUid().equals(user.getUid())) {
session.setGroupLeader(null);
}
@@ -3746,14 +3677,6 @@
this.userManagementService = userManagementService;
}
- public ICoreNotebookService getCoreNotebookService() {
- return coreNotebookService;
- }
-
- public void setCoreNotebookService(ICoreNotebookService coreNotebookService) {
- this.coreNotebookService = coreNotebookService;
- }
-
public void setLearnerService(ILearnerService learnerService) {
this.learnerService = learnerService;
}
@@ -3857,9 +3780,6 @@
assessment.setInstructions(toolContentJSON.get(RestTags.INSTRUCTIONS).asText());
assessment.setCreated(new Date());
- assessment.setReflectOnActivity(
- JsonUtil.optBoolean(toolContentJSON, RestTags.REFLECT_ON_ACTIVITY, Boolean.FALSE));
- assessment.setReflectInstructions(JsonUtil.optString(toolContentJSON, RestTags.REFLECT_INSTRUCTIONS));
assessment.setAllowGradesAfterAttempt(
JsonUtil.optBoolean(toolContentJSON, "allowGradesAfterAttempt", Boolean.FALSE));
assessment.setAllowHistoryResponses(
@@ -3886,9 +3806,6 @@
assessment.setNumbered(JsonUtil.optBoolean(toolContentJSON, "numbered", Boolean.TRUE));
assessment.setPassingMark(JsonUtil.optInt(toolContentJSON, "passingMark", 0));
assessment.setQuestionsPerPage(JsonUtil.optInt(toolContentJSON, "questionsPerPage", 0));
- assessment.setReflectInstructions(JsonUtil.optString(toolContentJSON, RestTags.REFLECT_INSTRUCTIONS, ""));
- assessment.setReflectOnActivity(
- JsonUtil.optBoolean(toolContentJSON, RestTags.REFLECT_ON_ACTIVITY, Boolean.FALSE));
assessment.setShuffled(JsonUtil.optBoolean(toolContentJSON, "shuffled", Boolean.FALSE));
assessment.setRelativeTimeLimit(JsonUtil.optInt(toolContentJSON, "timeLimit", 0));
assessment.setUseSelectLeaderToolOuput(
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java
===================================================================
diff -u -r61ba91daf34855e5d8abbae23949a215396900a4 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 61ba91daf34855e5d8abbae23949a215396900a4)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/LearningController.java (.../LearningController.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -33,7 +33,6 @@
import org.lamsfoundation.lams.lesson.service.ILessonService;
import org.lamsfoundation.lams.logevent.LearnerInteractionEvent;
import org.lamsfoundation.lams.logevent.service.ILearnerInteractionService;
-import org.lamsfoundation.lams.notebook.model.NotebookEntry;
import org.lamsfoundation.lams.qb.model.QbOption;
import org.lamsfoundation.lams.qb.model.QbQuestion;
import org.lamsfoundation.lams.rating.dto.ItemRatingDTO;
@@ -56,11 +55,9 @@
import org.lamsfoundation.lams.tool.assessment.model.AssessmentSession;
import org.lamsfoundation.lams.tool.assessment.model.AssessmentUser;
import org.lamsfoundation.lams.tool.assessment.model.QuestionReference;
-import org.lamsfoundation.lams.tool.assessment.service.AssessmentApplicationException;
import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService;
import org.lamsfoundation.lams.tool.assessment.util.AssessmentSessionComparator;
import org.lamsfoundation.lams.tool.assessment.util.SequencableComparator;
-import org.lamsfoundation.lams.tool.assessment.web.form.ReflectionForm;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
@@ -77,7 +74,6 @@
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@@ -302,14 +298,6 @@
//showResults if user has finished the last result
boolean showResults = (lastResult != null) && (lastResult.getFinishDate() != null);
- // get notebook entry
- String entryText = new String();
- AssessmentUser notebookCreator = (groupLeader == null) ? user : groupLeader;
- NotebookEntry notebookEntry = service.getEntry(toolSessionId, notebookCreator.getUserId().intValue());
- if (notebookEntry != null) {
- entryText = notebookEntry.getEntry();
- }
-
// basic information
sessionMap.put(AssessmentConstants.ATTR_TITLE, assessment.getTitle());
sessionMap.put(AssessmentConstants.ATTR_INSTRUCTIONS, assessment.getInstructions());
@@ -321,10 +309,6 @@
sessionMap.put(AttributeNames.PARAM_TOOL_SESSION_ID, toolSessionId);
sessionMap.put(AssessmentConstants.ATTR_USER, user);
sessionMap.put(AttributeNames.ATTR_MODE, mode);
- // reflection information
- sessionMap.put(AssessmentConstants.ATTR_REFLECTION_ON, assessment.isReflectOnActivity());
- sessionMap.put(AssessmentConstants.ATTR_REFLECTION_INSTRUCTION, assessment.getReflectInstructions());
- sessionMap.put(AssessmentConstants.ATTR_REFLECTION_ENTRY, entryText);
Boolean isLastActivity = (Boolean) sessionMap.get(AttributeNames.ATTR_IS_LAST_ACTIVITY);
if (isLastActivity == null) {
@@ -691,28 +675,19 @@
* Finish learning session.
*/
@RequestMapping("/finish")
- public String finish(HttpServletRequest request) {
+ public void finish(HttpServletRequest request, HttpServletResponse response) throws IOException {
SessionMap sessionMap = getSessionMap(request);
- String nextActivityUrl = null;
- try {
- HttpSession ss = SessionManager.getSession();
- UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
- Long userID = user.getUserID().longValue();
- Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID);
+ HttpSession ss = SessionManager.getSession();
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ Long userID = user.getUserID().longValue();
+ Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID);
- nextActivityUrl = service.finishToolSession(sessionId, userID);
- request.setAttribute(AssessmentConstants.ATTR_NEXT_ACTIVITY_URL, nextActivityUrl);
- } catch (AssessmentApplicationException e) {
- log.error("Failed get next activity url:" + e.getMessage());
- }
-
- return "pages/learning/finish";
+ String nextActivityUrl = service.finishToolSession(sessionId, userID);
+ response.sendRedirect(nextActivityUrl);
}
/**
* auto saves responses
- *
- * @throws IOException
*/
@RequestMapping("/autoSaveAnswers")
@ResponseStatus(HttpStatus.OK)
@@ -768,59 +743,6 @@
return responseJSON.toString();
}
- /**
- * Display empty reflection form.
- */
- @RequestMapping("/newReflection")
- public String newReflection(@ModelAttribute("reflectionForm") ReflectionForm refForm, HttpServletRequest request) {
-
- // get session value
- String sessionMapID = WebUtil.readStrParam(request, AssessmentConstants.ATTR_SESSION_MAP_ID);
- HttpSession ss = SessionManager.getSession();
- UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
-
- refForm.setUserID(user.getUserID());
- refForm.setSessionMapID(sessionMapID);
-
- // get the existing reflection entry
- SessionMap sessionMap = getSessionMap(request);
- Long toolSessionID = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID);
- NotebookEntry entry = service.getEntry(toolSessionID, user.getUserID());
-
- if (entry != null) {
- refForm.setEntryText(entry.getEntry());
- }
-
- return "pages/learning/notebook";
- }
-
- /**
- * Submit reflection form input database.
- */
- @RequestMapping("/submitReflection")
- public String submitReflection(@ModelAttribute("reflectionForm") ReflectionForm refForm,
- HttpServletRequest request) {
- Integer userId = refForm.getUserID();
-
- SessionMap sessionMap = getSessionMap(request);
- Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID);
-
- // check for existing notebook entry
- NotebookEntry entry = service.getEntry(sessionId, userId);
-
- if (entry == null) {
- // create new entry
- service.createNotebookEntry(sessionId, userId, refForm.getEntryText());
- } else {
- // update existing entry
- entry.setEntry(refForm.getEntryText());
- entry.setLastModified(new Date());
- service.updateEntry(entry);
- }
-
- return finish(request);
- }
-
// *************************************************************************************
// Private method
// *************************************************************************************
@@ -1343,9 +1265,10 @@
sessionMap.put(AssessmentConstants.ATTR_ASSESSMENT, assessment);
sessionMap.put(AssessmentConstants.CONFIG_KEY_HIDE_TITLES,
Boolean.valueOf(service.getConfigValue(AssessmentConstants.CONFIG_KEY_HIDE_TITLES)));
- boolean newUI = WebUtil.readBooleanParam(request, "newUI", false);
+
+ boolean isBootstrap5 = WebUtil.readBooleanParam(request, "bootstrap5", false);
- return "pages/learning/results" + (embedded ? "/allquestions" + (newUI ? "5" : "") : "");
+ return "pages/learning/" + (isBootstrap5 ? "results" : "resultsbootstrap3") + (embedded ? "/allquestions" : "");
}
@RequestMapping(path = "/logLearnerInteractionEvent", method = RequestMethod.POST)
Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/service/LeaderselectionService.java
===================================================================
diff -u -r466b430b11cd214ae9c8a4737ea5f6ed9253ed27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/service/LeaderselectionService.java (.../LeaderselectionService.java) (revision 466b430b11cd214ae9c8a4737ea5f6ed9253ed27)
+++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/service/LeaderselectionService.java (.../LeaderselectionService.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -23,16 +23,18 @@
package org.lamsfoundation.lams.tool.leaderselection.service;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.SortedMap;
+
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.confidencelevel.ConfidenceLevelDTO;
import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException;
import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService;
import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException;
-import org.lamsfoundation.lams.notebook.model.NotebookEntry;
-import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
-import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
import org.lamsfoundation.lams.rest.RestTags;
import org.lamsfoundation.lams.rest.ToolRestManager;
import org.lamsfoundation.lams.tool.ToolCompletionStatus;
@@ -56,11 +58,7 @@
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.JsonUtil;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.SortedMap;
+import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* An implementation of the ILeaderselectionService interface.
@@ -85,8 +83,6 @@
private IExportToolContentService exportContentService;
- private ICoreNotebookService coreNotebookService;
-
private LeaderselectionOutputFactory leaderselectionOutputFactory;
/* ************ Methods from ToolSessionManager ************* */
@@ -203,13 +199,6 @@
log.warn("Can not remove the tool content as it does not exist, ID: " + toolContentId);
return;
}
- for (LeaderselectionSession session : content.getLeaderselectionSessions()) {
- List entries = coreNotebookService.getEntry(session.getSessionId(),
- CoreNotebookConstants.NOTEBOOK_TOOL, LeaderselectionConstants.TOOL_SIGNATURE);
- for (NotebookEntry entry : entries) {
- coreNotebookService.deleteEntry(entry);
- }
- }
leaderselectionDAO.delete(content);
}
@@ -370,21 +359,6 @@
}
@Override
- public Long createNotebookEntry(Long id, Integer idType, String signature, Integer userID, String entry) {
- return coreNotebookService.createNotebookEntry(id, idType, signature, userID, "", entry);
- }
-
- @Override
- public NotebookEntry getEntry(Long uid) {
- return coreNotebookService.getEntry(uid);
- }
-
- @Override
- public void updateEntry(Long uid, String entry) {
- coreNotebookService.updateEntry(uid, "", entry);
- }
-
- @Override
public Long getDefaultContentIdBySignature(String toolSignature) {
long toolContentId = toolService.getToolDefaultContentIdBySignature(toolSignature);
if (toolContentId == 0) {
@@ -556,14 +530,6 @@
this.exportContentService = exportContentService;
}
- public ICoreNotebookService getCoreNotebookService() {
- return coreNotebookService;
- }
-
- public void setCoreNotebookService(ICoreNotebookService coreNotebookService) {
- this.coreNotebookService = coreNotebookService;
- }
-
public LeaderselectionOutputFactory getLeaderselectionOutputFactory() {
return leaderselectionOutputFactory;
}
Index: lams_tool_scratchie/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -r7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27)
+++ lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -152,7 +152,7 @@
label.your.answer = Your answer:
label.other.groups = Other groups:
label.all = All
-monitor.summary.date.restriction = Date and time restriction
+monitor.summary.date.restriction = Deadline
monitor.summary.when.date.restriction.is.set = If a date and time restriction is set, learners will not be able to submit assignments after this date.
monitor.summary.after.date = Date and time:
monitor.summary.set.restriction = Set restriction
@@ -312,4 +312,24 @@
label.minutes = minutes
label.hours = hour(s)
label.incorrect.answer = Incorrect answer
-message.authoring.rat.questions.sync = You have edited questions in this activity. Do you want to synchronise the changes with the corresponding TBL RAT activity?
\ No newline at end of file
+label.side.menu = Side menu
+label.close.and.return = Close and return to the course
+label.lams.logo = LAMS logo
+label.support.activities = Support activities
+label.my.progress = My progress
+label.progress = Progress
+label.skip.to.main.content = Skip to the main content
+label.your.lesson.completion = Your lesson completion
+label.your.portrait = Your profile portrait
+label.lesson.name = Lesson name
+label.activity.name = Activity name
+label.confirm = Confirm
+label.close = Close
+label.cancel = Cancel
+label.notebook = Notebook entry
+label.click.to.open = Click to open
+label.support.activity = Support activity
+label.completed.activity = Activity completed
+label.current.activity = Current activity
+label.not.started.activity = Activity not reached yet
+message.authoring.rat.questions.sync = You've made edits to the questions in this activity. Would you like to sync these changes with the corresponding TBL RAT activity?
\ No newline at end of file
Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java
===================================================================
diff -u -r7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27 -r5ac2673214d4a3e9d831e1c468e235015b8bd0b2
--- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java (.../ScratchieConstants.java) (revision 7521e0cd5b5f4b01d188ca0ddad1e5f59d3bde27)
+++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java (.../ScratchieConstants.java) (revision 5ac2673214d4a3e9d831e1c468e235015b8bd0b2)
@@ -35,8 +35,6 @@
// for action forward name
public static final String SUCCESS = "success";
- public static final String NOTEBOOK = "notebook";
-
public static final String ERROR = "error";
public static final String DEFINE_LATER = "definelater";
@@ -193,7 +191,7 @@
public static final String ATTR_REFERENCES_SEQUENCE_IDS = "sequenceIds";
public static final String ATTR_HAS_MATCHING_RAT_ACTIVITY = "hasMatchingRatActivity";
-
+
//flux management
public static final String ANSWERS_UPDATED_SINK_NAME = "scratchie learner answers updated";
public static final String STUDENT_CHOICES_UPDATE_FLUX_NAME = "scratchie student choices updated";