Index: lams_admin/.classpath =================================================================== diff -u -r48b7b344ad0171dfa0ebdacdf742560366d5d1dc -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_admin/.classpath (.../.classpath) (revision 48b7b344ad0171dfa0ebdacdf742560366d5d1dc) +++ lams_admin/.classpath (.../.classpath) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -6,8 +6,8 @@ - + @@ -28,4 +28,4 @@ - + \ No newline at end of file Index: lams_admin/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rfd131067cd0d56f83e3f9675277248bca41e259e -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision fd131067cd0d56f83e3f9675277248bca41e259e) +++ lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -697,3 +697,5 @@ label.appadmins = Appadmins server.app.config.title = Application configuration server.sys.config.title = Server configuration +ai.config.title = Artificial Intelligence +ai.config.link = AI management \ No newline at end of file Index: lams_admin/src/java/org/lamsfoundation/lams/admin/AdminConstants.java =================================================================== diff -u -rdd60c645ebe32ff15180cff47caa583cb41b7ee1 -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/AdminConstants.java (.../AdminConstants.java) (revision dd60c645ebe32ff15180cff47caa583cb41b7ee1) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/AdminConstants.java (.../AdminConstants.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -32,6 +32,7 @@ public static final String START_MONITOR_LINKS = "server.monitor.title"; public static final String START_COURSE_LINKS = "user.course.title"; public static final String START_WORKFLOW_AUTOMATION = "workflow.automation.title"; + public static final String START_AI = "ai.config.title"; public static final String PARAM_PAGE = "page"; public static final String PARAM_ROWS = "rows"; Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java =================================================================== diff -u -r1fb317e9f6db7094ec64f77782bf0be389012e43 -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java (.../AppAdminStartController.java) (revision 1fb317e9f6db7094ec64f77782bf0be389012e43) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java (.../AppAdminStartController.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -99,6 +99,14 @@ groupedLinks.add(new Object[] { AdminConstants.START_WORKFLOW_AUTOMATION, links }); } + // LDEV-5375 + boolean isAiEnabled = Configuration.isLamsModuleAvailable(Configuration.AI_MODULE_CLASS); + if (isAiEnabled) { + links = new ArrayList<>(); + links.add(new LinkBean("../ai/admin/start.do", "ai.config.link")); + groupedLinks.add(new Object[] { AdminConstants.START_AI, links }); + } + } else if (userManagementService.isUserGlobalGroupManager()) { links.add(new LinkBean("usersearch.do", "admin.user.find")); links.add(new LinkBean("importgroups.do", "appadmin.import.groups.title")); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java =================================================================== diff -u -r436cbd9caa021f6dd47567eeb3a853523cbb0a79 -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java (.../LtiConsumerManagementController.java) (revision 436cbd9caa021f6dd47567eeb3a853523cbb0a79) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java (.../LtiConsumerManagementController.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -23,6 +23,7 @@ import org.lamsfoundation.lams.usermanagement.SupportedLocale; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.LanguageUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; @@ -94,13 +95,7 @@ // do nothing in case of creating a tool consumer } - boolean isLtiAdvantageEnabled = false; - try { - Class clazz = Class.forName("org.lamsfoundation.lams.lti.advantage.util.LtiAdvantageUtil", false, - this.getClass().getClassLoader()); - isLtiAdvantageEnabled = clazz != null; - } catch (Exception e) { - } + boolean isLtiAdvantageEnabled = Configuration.isLamsModuleAvailable(Configuration.LTI_ADVANTAGE_MODULE_CLASS); if (isLtiAdvantageEnabled) { request.setAttribute("ltiAdvantageEnabled", isLtiAdvantageEnabled); Index: lams_central/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r436cbd9caa021f6dd47567eeb3a853523cbb0a79 -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 436cbd9caa021f6dd47567eeb3a853523cbb0a79) +++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -325,6 +325,7 @@ label.questions.choice.title = Choose questions label.questions.choice.select.all = Select all label.questions.choice.missing = Please check at least one question. +label.questions.choice.none.found = No questions available index.single.activity.lesson.title = Add single activity lesson index.single.activity.lesson.desc = or one-click activity: label.disable.lesson.sorting = Disable lesson sorting Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java =================================================================== diff -u -re7cbf85417c8226f95995e5adb34f7eeb386a98c -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision e7cbf85417c8226f95995e5adb34f7eeb386a98c) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -634,7 +634,12 @@ @Override public List getUserCollections(int userId) { Set collections = new LinkedHashSet<>(); - + + // even though it is covered by #getUserOwnCollections(), + // it creates user private collection when necessary + QbCollection privateCollection = getUserPrivateCollection(userId); + collections.add(privateCollection); + collections.addAll(getUserOwnCollections(userId)); QbCollection publicCollection = getPublicCollection(); Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rb438ffe9e04345daeaa391f9fae2ec133b746e7d -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b438ffe9e04345daeaa391f9fae2ec133b746e7d) +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -247,6 +247,7 @@ label.authoring.basic.import.questions = Import label.authoring.basic.export.questions = Export label.authoring.advance.display.summary = Display all questions and answers once the learner finishes. +label.authoring.basic.import.openai = OpenAI label.authoring.basic.import.qti = IMS QTI advanced.reflectOnActivity = Add a notebook at end of Assessment with the following instructions: monitor.summary.td.addNotebook = Add a notebook at end of Assessment Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java =================================================================== diff -u -r0586f1081f3b7e5b550da93b64463175ea698c28 -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 0586f1081f3b7e5b550da93b64463175ea698c28) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6) @@ -59,9 +59,9 @@ public static final String PARAM_NOT_A_NUMBER = "nan"; public static final String PARAM_GRADE = "grade"; - + public static final String PARAM_MARKER_COMMENT = "markerComment"; - + public static final String PARAM_COLUMN = "column"; public static final String PARAM_MAX_MARK = "maxMark"; @@ -215,11 +215,13 @@ // configuration keys public static final String CONFIG_KEY_HIDE_TITLES = "hideTitles"; - + public static final String CONFIG_KEY_AUTO_EXPAND_JUSTIFICATION = "autoexpandJustification"; public static final String ATTR_IS_QUESTION_ETHERPAD_ENABLED = "isQuestionEtherpadEnabled"; - + + public static final String ATTR_IS_AI_ENABLED = "isAiEnabled"; + public static final String ATTR_CODE_STYLES = "codeStyles"; public static final String ATTR_ALL_GROUP_USERS = "allGroupUsers";