Index: lams_tool_doku/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -r13485eade3d9b1eee2857009492588790db63f53 -rce9fa36f0e318509e9d28299b844df9475e16e83
--- lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 13485eade3d9b1eee2857009492588790db63f53)
+++ lams_tool_doku/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision ce9fa36f0e318509e9d28299b844df9475e16e83)
@@ -183,4 +183,4 @@
label.monitoring.ai.review.all = AI review all
label.monitoring.ai.review.tooltip = Have AI compare the given task and students' submissions.
label.monitoring.ai.review.error = Error while requesting AI review
-label.monitoring.ai.review.learning.outcomes = AI-extracted learning outcomes
\ No newline at end of file
+label.monitoring.ai.review.learning.outcomes = AI learning outcomes
\ No newline at end of file
Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20240116.sql
===================================================================
diff -u -rc22dc7a368dcb33d2500603a3595a540bee1d695 -rce9fa36f0e318509e9d28299b844df9475e16e83
--- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20240116.sql (.../patch20240116.sql) (revision c22dc7a368dcb33d2500603a3595a540bee1d695)
+++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20240116.sql (.../patch20240116.sql) (revision ce9fa36f0e318509e9d28299b844df9475e16e83)
@@ -3,8 +3,9 @@
SET FOREIGN_KEY_CHECKS=0;
-- Put all sql statements below here
--- LAI-9 Add column to store AI review
+-- LAI-9 Add columns to store AI reviews and learning outcomes
ALTER TABLE tl_ladoku11_session ADD COLUMN ai_review TEXT;
+ALTER TABLE tl_ladoku11_dokumaran ADD COLUMN ai_learning_outcomes TEXT;
-- Put all sql statements above here
Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java
===================================================================
diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -rce9fa36f0e318509e9d28299b844df9475e16e83
--- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java (.../Dokumaran.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10)
+++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/model/Dokumaran.java (.../Dokumaran.java) (revision ce9fa36f0e318509e9d28299b844df9475e16e83)
@@ -130,6 +130,9 @@
@Column(name = "gallery_walk_instructions")
private String galleryWalkInstructions;
+ @Column(name = "ai_learning_outcomes")
+ private String aiLearningOutcomes;
+
// general information
@Column(name = "create_date")
private Date created;
@@ -142,6 +145,8 @@
@JoinColumn(name = "create_by")
private DokumaranUser createdBy;
+
+
// **********************************************************
// Function method for Dokumaran
// **********************************************************
@@ -511,4 +516,12 @@
public void setGalleryWalkInstructions(String galleryWalkInstructions) {
this.galleryWalkInstructions = galleryWalkInstructions;
}
+
+ public String getAiLearningOutcomes() {
+ return aiLearningOutcomes;
+ }
+
+ public void setAiLearningOutcomes(String aiLearningOutcomes) {
+ this.aiLearningOutcomes = aiLearningOutcomes;
+ }
}
\ No newline at end of file
Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java
===================================================================
diff -u -r13485eade3d9b1eee2857009492588790db63f53 -rce9fa36f0e318509e9d28299b844df9475e16e83
--- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 13485eade3d9b1eee2857009492588790db63f53)
+++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/MonitoringController.java (.../MonitoringController.java) (revision ce9fa36f0e318509e9d28299b844df9475e16e83)
@@ -646,6 +646,23 @@
dokumaranService.saveOrUpdate(session);
}
+ @RequestMapping(path = "/saveAiLearningOutcomes", method = RequestMethod.POST)
+ @ResponseBody
+ @ResponseStatus(HttpStatus.OK)
+ public void saveAiLearningOutcomes(@RequestParam Long toolContentId,
+ @RequestParam(required = false) String learningOutcomes) {
+ boolean isAiEnabled = Configuration.isLamsModuleAvailable(Configuration.AI_MODULE_CLASS);
+ if (!isAiEnabled) {
+ throw new UnsupportedOperationException("AI module is not enabled");
+ }
+ Dokumaran dokumaran = dokumaranService.getDokumaranByContentId(toolContentId);
+ if (StringUtils.isBlank(learningOutcomes)) {
+ learningOutcomes = null;
+ }
+ dokumaran.setAiLearningOutcomes(learningOutcomes);
+ dokumaranService.saveOrUpdate(dokumaran);
+ }
+
private ObjectNode getAiReviewPromptData(Dokumaran dokumaran) {
ObjectNode responseJSON = JsonNodeFactory.instance.objectNode();
if (StringUtils.isNotBlank(dokumaran.getInstructions())) {
Index: lams_tool_doku/web/pages/monitoring/summary.jsp
===================================================================
diff -u -r13485eade3d9b1eee2857009492588790db63f53 -rce9fa36f0e318509e9d28299b844df9475e16e83
--- lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 13485eade3d9b1eee2857009492588790db63f53)
+++ lams_tool_doku/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision ce9fa36f0e318509e9d28299b844df9475e16e83)
@@ -161,8 +161,10 @@
MIN_RATES = 0,
LAMS_URL = '${lams}',
COUNT_RATED_ITEMS = true,
- ALLOW_RERATE = false;
+ ALLOW_RERATE = false,
+ savedAiLearningOutcomes = null;
+
$(document).ready(function () {
// show etherpads only on Group expand
$('#doku-monitoring-summary-${sessionMap.toolContentID} .etherpad-collapse').on('show.bs.collapse', function () {
@@ -505,7 +507,7 @@
content = $('.ai-review-content', container).addClass('hidden').empty();
container.children('.ai-review-button-clearfix').remove();
- getAiLearningOutcomes(function(learningOutcomes) {
+ getAiLearningOutcomes(function() {
$.ajax({
'url': '