Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java
===================================================================
diff -u -r660fde180a1b4dbfbe304df8eeef71459aa91f95 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 660fde180a1b4dbfbe304df8eeef71459aa91f95)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -32,8 +32,10 @@
import java.util.Vector;
import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
import org.lamsfoundation.lams.learningdesign.Activity;
import org.lamsfoundation.lams.learningdesign.ChosenGrouping;
+import org.lamsfoundation.lams.learningdesign.ComplexActivity;
import org.lamsfoundation.lams.learningdesign.GateActivity;
import org.lamsfoundation.lams.learningdesign.Group;
import org.lamsfoundation.lams.learningdesign.Grouping;
@@ -43,7 +45,6 @@
import org.lamsfoundation.lams.learningdesign.License;
import org.lamsfoundation.lams.learningdesign.OptionsActivity;
import org.lamsfoundation.lams.learningdesign.ParallelActivity;
-import org.lamsfoundation.lams.learningdesign.ComplexActivity;
import org.lamsfoundation.lams.learningdesign.PermissionGateActivity;
import org.lamsfoundation.lams.learningdesign.RandomGrouping;
import org.lamsfoundation.lams.learningdesign.ScheduleGateActivity;
@@ -59,11 +60,12 @@
import org.lamsfoundation.lams.learningdesign.dao.hibernate.LicenseDAO;
import org.lamsfoundation.lams.learningdesign.dao.hibernate.TransitionDAO;
import org.lamsfoundation.lams.lesson.LessonClass;
+import org.lamsfoundation.lams.tool.SystemTool;
import org.lamsfoundation.lams.tool.Tool;
+import org.lamsfoundation.lams.tool.dao.hibernate.SystemToolDAO;
import org.lamsfoundation.lams.tool.dao.hibernate.ToolDAO;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.WorkspaceFolder;
-import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
import org.lamsfoundation.lams.util.wddx.WDDXProcessor;
import org.lamsfoundation.lams.util.wddx.WDDXProcessorConversionException;
import org.lamsfoundation.lams.util.wddx.WDDXTAGS;
@@ -97,6 +99,7 @@
protected LicenseDAO licenseDAO = null;
protected GroupingDAO groupingDAO = null;
protected ToolDAO toolDAO = null;
+ protected SystemToolDAO systemToolDAO = null;
protected GroupDAO groupDAO = null;
/** The newActivityMap is a local copy of all the current activities. This will include
@@ -122,7 +125,7 @@
public ObjectExtractor(BaseDAO baseDAO,
LearningDesignDAO learningDesignDAO, ActivityDAO activityDAO,
LearningLibraryDAO learningLibraryDAO, LicenseDAO licenseDAO,
- GroupingDAO groupingDAO, ToolDAO toolDAO,
+ GroupingDAO groupingDAO, ToolDAO toolDAO, SystemToolDAO systemToolDAO,
GroupDAO groupDAO,TransitionDAO transitionDAO) {
this.baseDAO = baseDAO;
this.learningDesignDAO = learningDesignDAO;
@@ -131,6 +134,7 @@
this.licenseDAO = licenseDAO;
this.groupingDAO = groupingDAO;
this.toolDAO = toolDAO;
+ this.systemToolDAO = systemToolDAO;
this.groupDAO = groupDAO;
this.transitionDAO = transitionDAO;
}
@@ -200,6 +204,15 @@
this.toolDAO = toolDAO;
}
+
+ public SystemToolDAO getSystemToolDAO() {
+ return systemToolDAO;
+ }
+
+ public void setSystemToolDAO(SystemToolDAO systemToolDAO) {
+ this.systemToolDAO = systemToolDAO;
+ }
+
public TransitionDAO getTransitionDAO() {
return transitionDAO;
}
@@ -715,6 +728,10 @@
groupingActivity.setCreateGrouping(grouping);
groupingActivity.setCreateGroupingUIID(createGroupingUIID);
}
+
+ SystemTool systemTool = systemToolDAO.getSystemToolByID(SystemTool.GROUPING);
+ groupingActivity.setSystemTool(systemTool);
+
/*Hashtable groupingDetails = (Hashtable) activityDetails.get(WDDXTAGS.GROUPING_DTO);
if( groupingDetails != null ){
Grouping grouping = extractGroupingObject(groupingDetails);
@@ -761,14 +778,20 @@
}
private void buildSynchGateActivity(SynchGateActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{
+ SystemTool systemTool = systemToolDAO.getSystemToolByID(SystemTool.SYNC_GATE);
+ activity.setSystemTool(systemTool);
}
private void buildPermissionGateActivity(PermissionGateActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{
+ SystemTool systemTool = systemToolDAO.getSystemToolByID(SystemTool.PERMISSION_GATE);
+ activity.setSystemTool(systemTool);
}
- private static void buildScheduleGateActivity(ScheduleGateActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{
+ private void buildScheduleGateActivity(ScheduleGateActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{
//activity.setGateStartDateTime(WDDXProcessor.convertToDate(activityDetails,WDDXTAGS.GATE_START_DATE));
//activity.setGateEndDateTime(WDDXProcessor.convertToDate(activityDetails,WDDXTAGS.GATE_END_DATE));
activity.setGateStartTimeOffset(WDDXProcessor.convertToLong(activityDetails,WDDXTAGS.GATE_START_OFFSET));
activity.setGateEndTimeOffset(WDDXProcessor.convertToLong(activityDetails,WDDXTAGS.GATE_END_OFFSET));
+ SystemTool systemTool = systemToolDAO.getSystemToolByID(SystemTool.SCHEDULE_GATE);
+ activity.setSystemTool(systemTool);
}
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml
===================================================================
diff -u -r660fde180a1b4dbfbe304df8eeef71459aa91f95 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml (.../authoringApplicationContext.xml) (revision 660fde180a1b4dbfbe304df8eeef71459aa91f95)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml (.../authoringApplicationContext.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -28,6 +28,7 @@
+
Index: lams_central/web/WEB-INF/lams.tld
===================================================================
diff -u -rd52b0a9ea260d27335a647fc2fba615c8e2e228e -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_central/web/WEB-INF/lams.tld (.../lams.tld) (revision d52b0a9ea260d27335a647fc2fba615c8e2e228e)
+++ lams_central/web/WEB-INF/lams.tld (.../lams.tld) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -302,9 +302,15 @@
headItems
/WEB-INF/tags/headItems.tag
+
+
- Passon
- /WEB-INF/tags/Passon.tag
+ Passon
+ /WEB-INF/tags/Passon.tag
+
+ ExportPortOutput
+ /WEB-INF/tags/ExportPortOutput.tag
+
Index: lams_central/web/WEB-INF/struts/struts-config.xml
===================================================================
diff -u -rb3da97f5c8cfdd02a2c2cb566dcee601100f3c07 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_central/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision b3da97f5c8cfdd02a2c2cb566dcee601100f3c07)
+++ lams_central/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -63,11 +63,10 @@
/>
@@ -124,13 +123,17 @@
path=".passwordChange"
redirect="false"
/>
+
Index: lams_central/web/WEB-INF/tags/ExportPortOutput.tag
===================================================================
diff -u
--- lams_central/web/WEB-INF/tags/ExportPortOutput.tag (revision 0)
+++ lams_central/web/WEB-INF/tags/ExportPortOutput.tag (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -0,0 +1,59 @@
+<%
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+ /**
+ * Passon
+ * Author: Fiona Malikoff
+ * Description: Outputs the Activity details on the main page in export portfolio. Recursive tag.
+ *
+ */
+
+ %>
+<%@ tag body-content="empty" %>
+<%@ attribute name="actport" required="true" rtexprvalue="true" type="org.lamsfoundation.lams.learning.export.ActivityPortfolio" %>
+<%@ taglib uri="tags-core" prefix="c" %>
+<%@ taglib uri="tags-lams" prefix="lams" %>
+
+
+
+
+ "/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
===================================================================
diff -u -r56dc9e59c9512b28858b2da10f756103010d9cca -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 56dc9e59c9512b28858b2da10f756103010d9cca)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -153,59 +153,70 @@
-
- @hibernate.class
-
-
- @hibernate.property column="create_grouping_ui_id" length="11"
-
-
-
-
-
-
-
-
-
- @hibernate.class
-
-
-
-
-
-
-
-
+
+ @hibernate.class
+ public abstract
+
+
+
+
+
+
+
@hibernate.class
-
- @hibernate.property column="gate_start_time_offset" length="20"
- true
-
-
-
- @hibernate.property column="gate_end_time_offset" length="20"
- true
-
-
-
- @hibernate.property column="gate_start_date_time" length="19"
- true
-
-
-
- @hibernate.property column="gate_end_date_time" length="19"
- true
-
-
+
+ @hibernate.property column="create_grouping_ui_id" length="11"
+
+
+
+
+
+
-
+
+
@hibernate.class
-
-
- @hibernate.class
-
-
+
+
+
+
+
+
+
+
+ @hibernate.class
+
+
+ @hibernate.property column="gate_start_time_offset" length="20"
+ true
+
+
+
+ @hibernate.property column="gate_end_time_offset" length="20"
+ true
+
+
+
+ @hibernate.property column="gate_start_date_time" length="19"
+ true
+
+
+
+ @hibernate.property column="gate_end_date_time" length="19"
+ true
+
+
+
+
+ @hibernate.class
+
+
+ @hibernate.class
+
+
+
+
Index: lams_common/db/model/lams_11.clay
===================================================================
diff -u -r0ec0d87a13f5cd499a8300d7a51a6d453108545e -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 0ec0d87a13f5cd499a8300d7a51a6d453108545e)
+++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -1,2609 +1,2636 @@
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
When a lesson is started, the authored design is considered the orginial learning design
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -2612,412 +2639,412 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
Unique signature for each version of a tool. <organisation><tool><version>
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
+
Unique identifier for the tool. This should remain the same for every version of the tool.
It will be used for the IMS LD import/export.
-
-
-
+
+
+
-
+
Version of tool. Expected to be in format [major version.minor version] eg 1.2
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3026,163 +3053,163 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3191,53 +3218,53 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3246,53 +3273,53 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3301,86 +3328,86 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3389,78 +3416,78 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
@@ -3469,51 +3496,51 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3522,51 +3549,51 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3575,309 +3602,309 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
There will usually be 0 or 1 workspace for each tool in LAMS, so this should be a pretty small table.
The main lookup is done on name, but given the small number of rows a complete table scan
should be fine. A name index would probably be about the same size as the table anyway.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
Like lams_cr_workspace, there will usually be 0 or 1 workspace for each tool in LAMS, so this should be a pretty small table.
The main lookup is done on name, but given the small number of rows a complete table scan should be fine.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3886,67 +3913,67 @@
-
+
Has a "dummy" id nv_id (node version id) which is unique for all node_id and version_id combinations.
It is the node_id and version_id combination that is the "real" key for this table.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
@@ -3955,72 +3982,72 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
@@ -4029,91 +4056,91 @@
-
+
A node can only belong to one parent - so each time a new version of a package is created, all the nodes are recreated.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
@@ -4122,150 +4149,150 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -4274,170 +4301,170 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -4446,105 +4473,105 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
@@ -4553,79 +4580,79 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
@@ -4634,47 +4661,47 @@
-
+
All the lams_css_property values matching this lams_css_style make up the CSSStyleDeclaration for this
style. It may be a "base" style for a theme, or it may be for a named visual element.
Each style may have a subset of properties, such as "_tf"
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
@@ -4683,111 +4710,111 @@
-
+
Url details for system tools such as gates and grouping
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
Unique signature for each version of a tool. <organisation><tool><version>
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -4796,110 +4823,110 @@
-
+
Individual permissions, such as read access to a content folder.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
Link table between lams_role and lams_privilege.
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -4908,33 +4935,33 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
diff -u -r0ec0d87a13f5cd499a8300d7a51a6d453108545e -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 0ec0d87a13f5cd499a8300d7a51a6d453108545e)
+++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -469,6 +469,7 @@
, create_grouping_ui_id INT(11)
, library_activity_id BIGINT(20)
, language_file VARCHAR(255)
+ , system_tool_id BIGINT(20)
, PRIMARY KEY (activity_id)
, INDEX (learning_library_id)
, CONSTRAINT FK_lams_learning_activity_7 FOREIGN KEY (learning_library_id)
@@ -503,6 +504,9 @@
, INDEX (grouping_support_type_id)
, CONSTRAINT FK_lams_learning_activity_13 FOREIGN KEY (grouping_support_type_id)
REFERENCES lams_grouping_support_type (grouping_support_type_id)
+ , INDEX (system_tool_id)
+ , CONSTRAINT FK_lams_learning_activity_14 FOREIGN KEY (system_tool_id)
+ REFERENCES lams_system_tool (system_tool_id)
)TYPE=InnoDB;
CREATE TABLE lams_lesson (
Index: lams_common/db/sql/insert_types_data.sql
===================================================================
diff -u -r8a59c74d7ef56cedd32135410a7d95a26ce3c91f -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 8a59c74d7ef56cedd32135410a7d95a26ce3c91f)
+++ lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -132,8 +132,8 @@
export_pfolio_class_url, monitor_url, contribute_url, create_date_time)
VALUES (1, 2, 'Grouping', 'All types of grouping including random and chosen.',
'learning/grouping.do?method=performGrouping', 'learning/grouping.do?method=performGrouping',
- 'learning/grouping.do?method=viewGrouping', 'learning/grouping.do?method=viewGrouping',
- 'learning/grouping.do?method=viewGrouping',
+ 'learning/grouping.do?method=viewGrouping', 'learning/groupingExportPortfolio?mode=learner',
+ 'learning/groupingExportPortfolio?mode=teacher',
'monitoring/grouping.do?method=startGrouping',
'monitoring/grouping.do?method=startGrouping', now() );
@@ -142,21 +142,24 @@
export_pfolio_class_url, monitor_url, contribute_url, create_date_time)
VALUES (2, 3, 'Sync Gate', 'Gate: Synchronise Learners.',
'learning/gate.do?method=knockGate', 'learning/gate.do?method=knockGate', null, null,
- null, 'monitoring/gate.do?method=viewGate', 'monitoring/gate.do?method=viewGate', now() );
+ 'monitoring/gateExportPortfolio?mode=teacher', 'monitoring/gate.do?method=viewGate',
+ 'monitoring/gate.do?method=viewGate', now() );
INSERT INTO lams_system_tool (system_tool_id, learning_activity_type_id, tool_display_name, description,
learner_url, learner_preview_url, learner_progress_url, export_pfolio_learner_url,
export_pfolio_class_url, monitor_url, contribute_url, create_date_time)
VALUES (3, 4, 'Schedule Gate', 'Gate: Opens/shuts at particular times.',
'learning/gate.do?method=knockGate', 'learning/gate.do?method=knockGate', null, null,
- null, 'monitoring/gate.do?method=viewGate', 'monitoring/gate.do?method=viewGate', now() );
+ 'monitoring/gateExportPortfolio?mode=teacher', 'monitoring/gate.do?method=viewGate',
+ 'monitoring/gate.do?method=viewGate', now() );
INSERT INTO lams_system_tool (system_tool_id, learning_activity_type_id, tool_display_name, description,
learner_url, learner_preview_url, learner_progress_url, export_pfolio_learner_url,
export_pfolio_class_url, monitor_url, contribute_url, create_date_time)
VALUES (4, 5, 'Permission Gate', 'Gate: Opens under teacher or staff control.',
'learning/gate.do?method=knockGate', 'learning/gate.do?method=knockGate', null, null,
- null, 'monitoring/gate.do?method=viewGate', 'monitoring/gate.do?method=viewGate', now() );
+ 'monitoring/gateExportPortfolio?mode=teacher', 'monitoring/gate.do?method=viewGate',
+ 'monitoring/gate.do?method=viewGate', now() );
INSERT INTO lams_country VALUES (1, 'AU');
INSERT INTO lams_country VALUES (2, 'US');
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java
===================================================================
diff -u -r03392c988a23f5e9129967f8ae692488213632fe -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 03392c988a23f5e9129967f8ae692488213632fe)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -813,12 +813,41 @@
}
/** Create a deep copy of the this activity. It should return the same
- * subclass as the activity being copied
+ * subclass as the activity being copied. Generally doesn't copy the "link" type
+ * fields like transitions, learning design, etc
* @return deep copy of this object
*/
public abstract Activity createCopy();
-
+ protected void copyToNewActivity(Activity newActivity ) {
+
+ newActivity.setActivityUIID(this.getActivityUIID());
+ newActivity.setDescription(this.getDescription());
+ newActivity.setTitle(this.getTitle());
+ newActivity.setHelpText(this.getHelpText());
+ newActivity.setXcoord(this.getXcoord());
+ newActivity.setYcoord(this.getYcoord());
+ newActivity.setActivityTypeId(this.getActivityTypeId());
+
+ newActivity.setGroupingSupportType(this.getGroupingSupportType());
+ newActivity.setApplyGrouping(this.getApplyGrouping());
+ newActivity.setActivityCategoryID(this.getActivityCategoryID());
+
+ newActivity.setGrouping(this.getGrouping());
+ newActivity.setGroupingUIID(this.getGroupingUIID());
+
+ newActivity.setDefineLater(this.getDefineLater());
+ newActivity.setCreateDateTime(new Date());
+ newActivity.setRunOffline(this.getRunOffline());
+ newActivity.setLearningLibrary(this.getLearningLibrary());
+ newActivity.setLibraryActivity(this.getLibraryActivity());
+ newActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
+ newActivity.setLanguageFile(this.getLanguageFile());
+
+ newActivity.setOrderId(this.getOrderId());
+ }
+
+
// ---------------------------------------------------------------------
// Data Validation methods
//---------------------------------------------------------------------
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java
===================================================================
diff -u -r0a3641cb6f80f0def4d3172ca10da9788a9268f4 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java (.../GateActivity.java) (revision 0a3641cb6f80f0def4d3172ca10da9788a9268f4)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java (.../GateActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -30,6 +30,7 @@
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.GateActivityStrategy;
+import org.lamsfoundation.lams.tool.SystemTool;
import org.lamsfoundation.lams.usermanagement.User;
@@ -77,7 +78,8 @@
Transition transitionFrom,
String languageFile,
Integer gateActivityLevelId,
- Set waitingLearners)
+ Set waitingLearners,
+ SystemTool sysTool)
{
super(activityId,
id,
@@ -97,7 +99,8 @@
activityTypeId,
transitionTo,
transitionFrom,
- languageFile);
+ languageFile,
+ sysTool);
this.gateActivityLevelId = gateActivityLevelId;
this.waitingLearners = waitingLearners;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java
===================================================================
diff -u -r3f60ecf7d3a92231a1089191ae75c68bc66e9595 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java (.../GroupingActivity.java) (revision 3f60ecf7d3a92231a1089191ae75c68bc66e9595)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java (.../GroupingActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -28,6 +28,7 @@
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.GroupingActivityStrategy;
+import org.lamsfoundation.lams.tool.SystemTool;
/**
@@ -66,7 +67,8 @@
Grouping createGrouping,
Integer grouping_ui_id,
Integer create_grouping_ui_id,
- String languageFile)
+ String languageFile,
+ SystemTool sysTool)
{
super(activityId,
id,
@@ -86,7 +88,8 @@
activityTypeId,
transitionTo,
transitionFrom,
- languageFile);
+ languageFile,
+ sysTool);
this.createGrouping = createGrouping;
this.createGroupingUIID = create_grouping_ui_id;
super.simpleActivityStrategy = new GroupingActivityStrategy(this);
@@ -142,29 +145,11 @@
*/
public Activity createCopy(){
GroupingActivity groupingActivity = new GroupingActivity();
-
- groupingActivity.setActivityUIID(this.getActivityUIID());
- groupingActivity.setDescription(this.getDescription());
- groupingActivity.setTitle(this.getTitle());
- groupingActivity.setHelpText(this.getHelpText());
- groupingActivity.setXcoord(this.getXcoord());
- groupingActivity.setYcoord(this.getYcoord());
- groupingActivity.setActivityTypeId(this.getActivityTypeId());
-
- groupingActivity.setGroupingSupportType(this.getGroupingSupportType());
- groupingActivity.setApplyGrouping(this.getApplyGrouping());
- groupingActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- groupingActivity.setDefineLater(this.getDefineLater());
- groupingActivity.setCreateDateTime(new Date());
- groupingActivity.setRunOffline(this.getRunOffline());
- groupingActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- groupingActivity.setLanguageFile(this.getLanguageFile());
-
+ copyToNewActivity(groupingActivity);
+ groupingActivity.setCreateGroupingUIID(this.createGroupingUIID);
Grouping currentGrouping = this.getCreateGrouping();
Grouping newGrouping = currentGrouping.createCopy();
groupingActivity.setCreateGrouping(newGrouping);
-
return groupingActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java
===================================================================
diff -u -rd1d6cf4ec5a79ec9371fdfda64ce634483d2a325 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision d1d6cf4ec5a79ec9371fdfda64ce634483d2a325)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -128,34 +128,12 @@
}
public Activity createCopy(){
OptionsActivity newOptionsActivity = new OptionsActivity();
-
+ copyToNewActivity(newOptionsActivity);
+
/** OptionsActivity Specific Attributes */
newOptionsActivity.setMaxNumberOfOptions(this.getMaxNumberOfOptions());
newOptionsActivity.setMinNumberOfOptions(this.getMinNumberOfOptions());
newOptionsActivity.setOptionsInstructions(this.getOptionsInstructions());
-
- /** Generic Activity Attributes */
- newOptionsActivity.setActivityUIID(this.getActivityUIID());
- newOptionsActivity.setDescription(this.getDescription());
- newOptionsActivity.setTitle(this.getTitle());
- newOptionsActivity.setHelpText(this.getHelpText());
- newOptionsActivity.setXcoord(this.getXcoord());
- newOptionsActivity.setYcoord(this.getYcoord());
- newOptionsActivity.setActivityTypeId(this.getActivityTypeId());
-
- newOptionsActivity.setGroupingSupportType(this.getGroupingSupportType());
- newOptionsActivity.setApplyGrouping(this.getApplyGrouping());
- newOptionsActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newOptionsActivity.setGrouping(this.getGrouping());
- newOptionsActivity.setGroupingUIID(this.getGroupingUIID());
- newOptionsActivity.setDefineLater(this.getDefineLater());
- newOptionsActivity.setLearningLibrary(this.getLearningLibrary());
- newOptionsActivity.setCreateDateTime(new Date());
- newOptionsActivity.setRunOffline(this.getRunOffline());
- newOptionsActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newOptionsActivity.setLibraryActivity(this.getLibraryActivity());
- newOptionsActivity.setLanguageFile(this.getLanguageFile());
return newOptionsActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java (.../ParallelActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java (.../ParallelActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -117,31 +117,7 @@
public Activity createCopy(){
ParallelActivity newParallelActivity = new ParallelActivity();
-
- newParallelActivity.setActivityUIID(this.getActivityUIID());
- newParallelActivity.setDescription(this.getDescription());
- newParallelActivity.setTitle(this.getTitle());
- newParallelActivity.setHelpText(this.getHelpText());
- newParallelActivity.setXcoord(this.getXcoord());
- newParallelActivity.setYcoord(this.getYcoord());
- newParallelActivity.setActivityTypeId(this.getActivityTypeId());
-
- newParallelActivity.setGroupingSupportType(this.getGroupingSupportType());
- newParallelActivity.setApplyGrouping(this.getApplyGrouping());
- newParallelActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newParallelActivity.setGrouping(this.getGrouping());
- newParallelActivity.setLearningLibrary(this.getLearningLibrary());
- newParallelActivity.setGroupingUIID(this.getGroupingUIID());
-
- newParallelActivity.setDefineLater(this.getDefineLater());
- newParallelActivity.setCreateDateTime(new Date());
- newParallelActivity.setRunOffline(this.getRunOffline());
-
- newParallelActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newParallelActivity.setLibraryActivity(this.getLibraryActivity());
- newParallelActivity.setLanguageFile(this.getLanguageFile());
-
+ copyToNewActivity(newParallelActivity);
return newParallelActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java (.../PermissionGateActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java (.../PermissionGateActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -29,6 +29,7 @@
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.PermissionGateActivityStrategy;
+import org.lamsfoundation.lams.tool.SystemTool;
/**
@@ -59,7 +60,8 @@
Transition transitionFrom,
String languageFile,
Integer gateActivityLevelId,
- Set waitingLearners)
+ Set waitingLearners,
+ SystemTool sysTool)
{
super(activityId,
id,
@@ -81,7 +83,8 @@
transitionFrom,
languageFile,
gateActivityLevelId,
- waitingLearners);
+ waitingLearners,
+ sysTool);
super.simpleActivityStrategy = new PermissionGateActivityStrategy(this);
}
@@ -125,31 +128,9 @@
*/
public Activity createCopy(){
PermissionGateActivity newPermissionGateActivity = new PermissionGateActivity();
-
+ copyToNewActivity(newPermissionGateActivity);
newPermissionGateActivity.setGateOpen(new Boolean(false));
newPermissionGateActivity.setGateActivityLevelId(this.getGateActivityLevelId());
-
- newPermissionGateActivity.setActivityUIID(this.getActivityUIID());
- newPermissionGateActivity.setDescription(this.getDescription());
- newPermissionGateActivity.setTitle(this.getTitle());
- newPermissionGateActivity.setHelpText(this.getHelpText());
- newPermissionGateActivity.setXcoord(this.getXcoord());
- newPermissionGateActivity.setYcoord(this.getYcoord());
- newPermissionGateActivity.setActivityTypeId(this.getActivityTypeId());
-
- newPermissionGateActivity.setGroupingSupportType(this.getGroupingSupportType());
- newPermissionGateActivity.setApplyGrouping(this.getApplyGrouping());
- newPermissionGateActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newPermissionGateActivity.setGrouping(this.getGrouping());
- newPermissionGateActivity.setGroupingUIID(this.getGroupingUIID());
- newPermissionGateActivity.setLearningLibrary(this.getLearningLibrary());
- newPermissionGateActivity.setDefineLater(this.getDefineLater());
- newPermissionGateActivity.setCreateDateTime(new Date());
- newPermissionGateActivity.setRunOffline(this.getRunOffline());
- newPermissionGateActivity.setLibraryActivity(this.getLibraryActivity());
- newPermissionGateActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newPermissionGateActivity.setLanguageFile(this.getLanguageFile());
return newPermissionGateActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java (.../ScheduleGateActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java (.../ScheduleGateActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -28,14 +28,13 @@
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Set;
-import java.util.Vector;
import java.util.TimeZone;
+import java.util.Vector;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.dto.ValidationErrorDTO;
-//import org.lamsfoundation.lams.learningdesign.exception.ActivityBehaviorException;
import org.lamsfoundation.lams.learningdesign.strategy.ScheduleGateActivityStrategy;
-
+import org.lamsfoundation.lams.tool.SystemTool;
import org.lamsfoundation.lams.util.MessageService;
/**
@@ -109,7 +108,8 @@
Integer gateActivityLevelId,
Long gateStartTimeOffset,
Long gateEndTimeOffset,
- Set waitingLearners) {
+ Set waitingLearners,
+ SystemTool sysTool) {
super(activityId,
id,
description,
@@ -130,7 +130,8 @@
transitionFrom,
languageFile,
gateActivityLevelId,
- waitingLearners);
+ waitingLearners,
+ sysTool);
//validate pre-condition.
if(gateStartTimeOffset != null && gateEndTimeOffset != null && (gateStartTimeOffset.intValue()>gateEndTimeOffset.intValue()))
throw new IllegalStateException("End time offset must be larger" +
@@ -187,36 +188,14 @@
*/
public Activity createCopy(){
ScheduleGateActivity newScheduleGateActivity = new ScheduleGateActivity();
-
+ copyToNewActivity(newScheduleGateActivity);
newScheduleGateActivity.setGateActivityLevelId(this.getGateActivityLevelId());
newScheduleGateActivity.setGateOpen(new Boolean(false));
newScheduleGateActivity.setGateEndTimeOffset(this.getGateEndTimeOffset());
newScheduleGateActivity.setGateStartTimeOffset(this.getGateStartTimeOffset());
newScheduleGateActivity.setGateEndDateTime(this.getGateEndDateTime());
newScheduleGateActivity.setGateStartDateTime(this.getGateStartDateTime());
-
- newScheduleGateActivity.setActivityUIID(this.getActivityUIID());
- newScheduleGateActivity.setDescription(this.getDescription());
- newScheduleGateActivity.setTitle(this.getTitle());
- newScheduleGateActivity.setHelpText(this.getHelpText());
- newScheduleGateActivity.setXcoord(this.getXcoord());
- newScheduleGateActivity.setYcoord(this.getYcoord());
- newScheduleGateActivity.setActivityTypeId(this.getActivityTypeId());
-
- newScheduleGateActivity.setGroupingSupportType(this.getGroupingSupportType());
- newScheduleGateActivity.setApplyGrouping(this.getApplyGrouping());
- newScheduleGateActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newScheduleGateActivity.setGrouping(this.getGrouping());
- newScheduleGateActivity.setGroupingUIID(this.getGroupingUIID());
- newScheduleGateActivity.setLearningLibrary(this.getLearningLibrary());
- newScheduleGateActivity.setDefineLater(this.getDefineLater());
- newScheduleGateActivity.setCreateDateTime(new Date());
- newScheduleGateActivity.setRunOffline(this.getRunOffline());
- newScheduleGateActivity.setLibraryActivity(this.getLibraryActivity());
- newScheduleGateActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newScheduleGateActivity.setLanguageFile(this.getLanguageFile());
return newScheduleGateActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java (.../SequenceActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java (.../SequenceActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -119,29 +119,7 @@
*/
public Activity createCopy(){
SequenceActivity newSequenceActivity = new SequenceActivity();
-
- newSequenceActivity.setActivityUIID(this.getActivityUIID());
- newSequenceActivity.setDescription(this.getDescription());
- newSequenceActivity.setTitle(this.getTitle());
- newSequenceActivity.setHelpText(this.getHelpText());
- newSequenceActivity.setXcoord(this.getXcoord());
- newSequenceActivity.setYcoord(this.getYcoord());
- newSequenceActivity.setActivityTypeId(this.getActivityTypeId());
-
- newSequenceActivity.setGroupingSupportType(this.getGroupingSupportType());
- newSequenceActivity.setApplyGrouping(this.getApplyGrouping());
- newSequenceActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newSequenceActivity.setGrouping(this.getGrouping());
- newSequenceActivity.setGroupingUIID(this.getGroupingUIID());
- newSequenceActivity.setLearningLibrary(this.getLearningLibrary());
- newSequenceActivity.setDefineLater(this.getDefineLater());
- newSequenceActivity.setCreateDateTime(new Date());
- newSequenceActivity.setRunOffline(this.getRunOffline());
-
- newSequenceActivity.setLibraryActivity(this.getLibraryActivity());
- newSequenceActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newSequenceActivity.setLanguageFile(this.getLanguageFile());
+ copyToNewActivity(newSequenceActivity);
return newSequenceActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java (.../SynchGateActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java (.../SynchGateActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -29,6 +29,7 @@
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.SynchGateActivityStrategy;
+import org.lamsfoundation.lams.tool.SystemTool;
/**
@@ -58,7 +59,8 @@
Transition transitionFrom,
String languageFile,
Integer gateActivityLevelId,
- Set waitingLearners) {
+ Set waitingLearners,
+ SystemTool sysTool) {
super(activityId,
id,
description,
@@ -79,7 +81,8 @@
transitionFrom,
languageFile,
gateActivityLevelId,
- waitingLearners);
+ waitingLearners,
+ sysTool);
super.simpleActivityStrategy = new SynchGateActivityStrategy(this);
}
@@ -123,32 +126,9 @@
*/
public Activity createCopy() {
SynchGateActivity newSynchGateActivity = new SynchGateActivity();
-
+ copyToNewActivity(newSynchGateActivity);
newSynchGateActivity.setGateActivityLevelId(this.getGateActivityLevelId());
newSynchGateActivity.setGateOpen(new Boolean(false));
-
- newSynchGateActivity.setActivityUIID(this.getActivityUIID());
- newSynchGateActivity.setDescription(this.getDescription());
- newSynchGateActivity.setTitle(this.getTitle());
- newSynchGateActivity.setHelpText(this.getHelpText());
- newSynchGateActivity.setXcoord(this.getXcoord());
- newSynchGateActivity.setYcoord(this.getYcoord());
- newSynchGateActivity.setActivityTypeId(this.getActivityTypeId());
-
- newSynchGateActivity.setGroupingSupportType(this.getGroupingSupportType());
- newSynchGateActivity.setApplyGrouping(this.getApplyGrouping());
- newSynchGateActivity.setActivityCategoryID(this.getActivityCategoryID());
-
- newSynchGateActivity.setGrouping(this.getGrouping());
- newSynchGateActivity.setGroupingUIID(this.getGroupingUIID());
- newSynchGateActivity.setLearningLibrary(this.getLearningLibrary());
- newSynchGateActivity.setDefineLater(this.getDefineLater());
- newSynchGateActivity.setCreateDateTime(new Date());
- newSynchGateActivity.setRunOffline(this.getRunOffline());
- newSynchGateActivity.setLibraryActivity(this.getLibraryActivity());
- newSynchGateActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newSynchGateActivity.setLanguageFile(this.getLanguageFile());
-
return newSynchGateActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemToolActivity.java
===================================================================
diff -u -r3f60ecf7d3a92231a1089191ae75c68bc66e9595 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemToolActivity.java (.../SystemToolActivity.java) (revision 3f60ecf7d3a92231a1089191ae75c68bc66e9595)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemToolActivity.java (.../SystemToolActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -24,15 +24,20 @@
package org.lamsfoundation.lams.learningdesign;
import java.io.Serializable;
+import java.util.Date;
+import org.lamsfoundation.lams.tool.SystemTool;
+
/**
* Groups gate and grouping activities into system tools. Used to access the system_tool table.
* @hibernate.class
*/
public abstract class SystemToolActivity extends SimpleActivity implements Serializable
{
+ private SystemTool systemTool;
+
/** full constructor */
public SystemToolActivity(Long activityId,
Integer id,
@@ -52,7 +57,8 @@
Integer activityTypeId,
Transition transitionTo,
Transition transitionFrom,
- String languageFile)
+ String languageFile,
+ SystemTool systemTool)
{
super(activityId,
id,
@@ -73,6 +79,7 @@
transitionTo,
transitionFrom,
languageFile);
+ this.systemTool = systemTool;
}
/** default constructor */
@@ -103,5 +110,19 @@
transitionTo,
transitionFrom);
}
+
+ protected void copyToNewActivity(SystemToolActivity newActivity ) {
+
+ super.copyToNewActivity(newActivity);
+ newActivity.setSystemTool(this.getSystemTool());
+ }
+
+ public SystemTool getSystemTool() {
+ return systemTool;
+ }
+
+ public void setSystemTool(SystemTool systemTool) {
+ this.systemTool = systemTool;
+ }
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java
===================================================================
diff -u -r03392c988a23f5e9129967f8ae692488213632fe -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision 03392c988a23f5e9129967f8ae692488213632fe)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -148,32 +148,9 @@
*/
public Activity createCopy(){
ToolActivity newToolActivity = new ToolActivity();
-
+ copyToNewActivity(newToolActivity);
newToolActivity.setTool(this.getTool());
newToolActivity.setToolContentId(this.getToolContentId());
- newToolActivity.setActivityUIID(this.getActivityUIID());
- newToolActivity.setDescription(this.getDescription());
- newToolActivity.setTitle(this.getTitle());
- newToolActivity.setHelpText(this.getHelpText());
- newToolActivity.setXcoord(this.getXcoord());
- newToolActivity.setYcoord(this.getYcoord());
- newToolActivity.setActivityTypeId(this.getActivityTypeId());
-
- newToolActivity.setGroupingSupportType(this.getGroupingSupportType());
- newToolActivity.setApplyGrouping(this.getApplyGrouping());
- newToolActivity.setGrouping(this.getGrouping());
-
- newToolActivity.setGroupingUIID(this.getGroupingUIID());
- newToolActivity.setOrderId(this.getOrderId());
- newToolActivity.setDefineLater(this.getDefineLater());
- newToolActivity.setLearningLibrary(this.getLearningLibrary());
- newToolActivity.setCreateDateTime(new Date());
- newToolActivity.setRunOffline(this.getRunOffline());
- newToolActivity.setActivityCategoryID(this.getActivityCategoryID());
- newToolActivity.setLibraryActivityUiImage(this.getLibraryActivityUiImage());
- newToolActivity.setLibraryActivity(this.getLibraryActivity());
- newToolActivity.setLanguageFile(this.getLanguageFile());
-
return newToolActivity;
}
Index: lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java
===================================================================
diff -u -r27bc32d524b0e22831ba7c75b3c11b8adb23189e -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision 27bc32d524b0e22831ba7c75b3c11b8adb23189e)
+++ lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -40,6 +40,12 @@
*/
public class SystemTool implements Serializable {
+ /* System Tool IDs */
+ public static final Long GROUPING = new Long(1);
+ public static final Long SYNC_GATE = new Long(2);
+ public static final Long SCHEDULE_GATE = new Long(3);
+ public static final Long PERMISSION_GATE = new Long(4);
+
/** identifier field */
private Long systemToolId;
Index: lams_learning/conf/language/ApplicationResources.properties
===================================================================
diff -u -r6f11dd80335ff2b8a2d06d21f1a49b307ed233c1 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 6f11dd80335ff2b8a2d06d21f1a49b307ed233c1)
+++ lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -60,4 +60,5 @@
# Export portfolio: error message put in the activity's page if the activity doesn't support export portfolio. The name of the activity goes in {0}
error.export.portfolio.not.supported=The activity {0} does not support portfolio export.
-
+# Export portfolio: Message displayed in portfolio if there aren't any activities on which to report.
+export.portfolio.noneAttempted.message=No activities have been attempted.
Index: lams_learning/conf/xdoclet/filter-mappings.xml
===================================================================
diff -u -rfc085e0eda6c46d659c5b98f9ee9e29f495af042 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/conf/xdoclet/filter-mappings.xml (.../filter-mappings.xml) (revision fc085e0eda6c46d659c5b98f9ee9e29f495af042)
+++ lams_learning/conf/xdoclet/filter-mappings.xml (.../filter-mappings.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -1,12 +1,8 @@
HibernateFilter
- *.do
+ /*
-
- HibernateFilter
- *.jsp
-
SystemSessionFilter
Index: lams_learning/conf/xdoclet/filters.xml
===================================================================
diff -u -rfc085e0eda6c46d659c5b98f9ee9e29f495af042 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/conf/xdoclet/filters.xml (.../filters.xml) (revision fc085e0eda6c46d659c5b98f9ee9e29f495af042)
+++ lams_learning/conf/xdoclet/filters.xml (.../filters.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -7,7 +7,7 @@
singleSession
- false
+ true
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java
===================================================================
diff -u -r959094c1e3f58345e88113046f165ff586fddcf7 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision 959094c1e3f58345e88113046f165ff586fddcf7)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -32,6 +32,7 @@
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Iterator;
+import java.util.List;
import java.util.Vector;
import javax.servlet.http.Cookie;
@@ -134,7 +135,7 @@
{
try
{
- PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.TEACHER, null, null);
+ PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.TEACHER, lesson, null, null);
builder.parseLearningDesign();
portfolios = builder.getPortfolioList();
@@ -175,16 +176,16 @@
User learner = (User)baseDAO.find(User.class,userId);
Lesson lesson = lessonDAO.getLesson(lessonID);
- if (learner != null && lesson != null)
+ if (learner != null)
{
- LearnerProgress learnerProgress = learnerService.getProgress(learner.getUserId(), lesson.getLessonId());
+ LearnerProgress learnerProgress = learnerService.getProgress(learner.getUserId(), lessonID);
if (learnerProgress != null)
{
try
{
- PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.LEARNER, learnerProgress, learner);
+ PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.LEARNER, lesson, learnerProgress, learner);
builder.parseLearningDesign();
portfolios = builder.getPortfolioList();
@@ -258,10 +259,6 @@
/** @see org.lamsfoundation.lams.learning.export.service.IExportPortfolioService#doExport(Vector, Cookie[]) */
public Portfolio doExport(ArrayList portfolios, Cookie[] cookies, Lesson lesson)
{
- String activitySubDirectory;
- String exportURL;
- String toolLink;
- String mainFileName = null;
String tempDirectoryName;
//create the root directory for the export
@@ -274,6 +271,15 @@
portfolio.setLessonName(lesson.getLessonName());
portfolio.setLessonDescription(lesson.getLessonDescription());
+ processPortfolios(portfolios, cookies, tempDirectoryName);
+ portfolio.setActivityPortfolios((ActivityPortfolio[])portfolios.toArray(new ActivityPortfolio[portfolios.size()]));
+ return portfolio;
+
+
+ }
+
+ private void processPortfolios(List portfolios, Cookie[] cookies, String tempDirectoryName) {
+
Iterator i = portfolios.iterator();
//iterate through the list of portfolios, create subdirectory,
while(i.hasNext())
@@ -288,30 +294,30 @@
}
// The directory in which the activity must place its files
- activitySubDirectory = tempDirectoryName + File.separator + subDirectoryName;
+ String activitySubDirectory = tempDirectoryName + File.separator + subDirectoryName;
//for security reasons, append the relative directory name to the end of the export url instead of the whole path
String relativePath = activitySubDirectory.substring(FileUtil.TEMP_DIR.length()+1, activitySubDirectory.length());
- exportURL = WebUtil.appendParameterToURL(activityPortfolio.getExportUrl(), AttributeNames.PARAM_DIRECTORY_NAME, relativePath);
- String absoluteExportURL = ExportPortfolioConstants.HOST + exportURL;
-
- activityPortfolio.setExportUrl(absoluteExportURL);
-
- //get tool to export its files, mainFileName is the name of the main HTML page that the tool exported.
- mainFileName = connectToToolViaExportURL(absoluteExportURL, cookies, activitySubDirectory);
-
- //toolLink is used in main page, so that it can link with the tools export pages.
- toolLink = subDirectoryName + "/" + mainFileName;
- activityPortfolio.setToolLink(toolLink);
+ // Complex activities don't have export urls.
+ if ( activityPortfolio.getExportUrl() != null ) {
+ activityPortfolio.setExportUrl( ExportPortfolioConstants.HOST + activityPortfolio.getExportUrl() );
+ activityPortfolio.setExportUrl( WebUtil.appendParameterToURL(activityPortfolio.getExportUrl(), AttributeNames.PARAM_DIRECTORY_NAME, relativePath) );
+
+ //get tool to export its files, mainFileName is the name of the main HTML page that the tool exported.
+ String mainFileName = connectToToolViaExportURL(activityPortfolio.getActivityName(), activityPortfolio.getExportUrl(), cookies, activitySubDirectory);
+
+ //toolLink is used in main page, so that it can link with the tools export pages.
+ String toolLink = subDirectoryName + "/" + mainFileName;
+ activityPortfolio.setToolLink(toolLink);
+ }
-
+ if ( activityPortfolio.getChildPortfolios() != null && activityPortfolio.getChildPortfolios().size() > 0 ) {
+ processPortfolios(activityPortfolio.getChildPortfolios(), cookies, tempDirectoryName);
+ }
}
- portfolio.setActivityPortfolios((ActivityPortfolio[])portfolios.toArray(new ActivityPortfolio[portfolios.size()]));
- return portfolio;
-
}
/**
@@ -363,7 +369,7 @@
/** @see org.lamsfoundation.lams.learning.export.service.IExportPortfolioService#exportToolPortfolio(org.lamsfoundation.lams.learning.export.Portfolio) */
- public String connectToToolViaExportURL(String exportURL, Cookie[] cookies, String directoryToStoreErrorFile)
+ public String connectToToolViaExportURL(String activityName, String exportURL, Cookie[] cookies, String directoryToStoreErrorFile)
{
String filename = null;
try
@@ -373,24 +379,24 @@
{
filename = ExportPortfolioConstants.EXPORT_ERROR_FILENAME;
log.error("A problem has occurred while connecting to the tool's export url. The export url may be invalid or may not exist");
- writeErrorMessageToFile(directoryToStoreErrorFile);
+ writeErrorMessageToFile(directoryToStoreErrorFile, activityName);
}
}
catch(MalformedURLException e)
{
log.error("The URL "+exportURL+" given is invalid.",e);
- writeErrorMessageToFile(directoryToStoreErrorFile);
+ writeErrorMessageToFile(directoryToStoreErrorFile, activityName);
}
catch(FileNotFoundException e)
{
log.error("The directory "+directoryToStoreErrorFile+" may not exist.",e);
- writeErrorMessageToFile(directoryToStoreErrorFile);
+ writeErrorMessageToFile(directoryToStoreErrorFile, activityName);
}
catch(IOException e)
{
log.error("A problem has occurred while writing the contents of " + exportURL + " to file.", e);
- writeErrorMessageToFile(directoryToStoreErrorFile);
+ writeErrorMessageToFile(directoryToStoreErrorFile, activityName);
}
@@ -413,26 +419,22 @@
catch(MalformedURLException e)
{
log.error("The URL given is invalid. Exception Message was: " +e);
- writeErrorMessageToFile(portfolio.getExportTmpDir());
}
catch(FileNotFoundException e)
{
log.error("The directory or file may not exist. Exception Message was: " +e);
- writeErrorMessageToFile(portfolio.getExportTmpDir());
}
catch(IOException e)
{
log.error("A problem has occurred while writing the contents of " + url + " to file. Exception Message was: " +e);
- writeErrorMessageToFile(portfolio.getExportTmpDir());
-
}
}
- private void writeErrorMessageToFile(String directoryToStoreFile)
+ private void writeErrorMessageToFile(String directoryToStoreFile, String activityTitle)
{
try
{
- String errorMessage = messageService.getMessage(ExportPortfolioConstants.EXPORT_ACTIVITY_ERROR_KEY);
+ String errorMessage = messageService.getMessage(ExportPortfolioConstants.EXPORT_ACTIVITY_ERROR_KEY, new Object[]{activityTitle});
String filepath = directoryToStoreFile + File.separator + ExportPortfolioConstants.EXPORT_ERROR_FILENAME;
BufferedWriter fileout = new BufferedWriter(new FileWriter(filepath));
fileout.write(errorMessage);
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java
===================================================================
diff -u -r6f11dd80335ff2b8a2d06d21f1a49b307ed233c1 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java (.../PortfolioBuilder.java) (revision 6f11dd80335ff2b8a2d06d21f1a49b307ed233c1)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java (.../PortfolioBuilder.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -36,10 +36,13 @@
import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.LearningDesignProcessor;
import org.lamsfoundation.lams.learningdesign.SimpleActivity;
+import org.lamsfoundation.lams.learningdesign.SystemToolActivity;
import org.lamsfoundation.lams.learningdesign.ToolActivity;
import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO;
import org.lamsfoundation.lams.learningdesign.exception.LearningDesignProcessorException;
import org.lamsfoundation.lams.lesson.LearnerProgress;
+import org.lamsfoundation.lams.lesson.Lesson;
+import org.lamsfoundation.lams.tool.SystemTool;
import org.lamsfoundation.lams.tool.Tool;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.ToolSession;
@@ -59,32 +62,36 @@
ILamsCoreToolService lamsCoreToolService;
User user;
LearnerProgress progress;
+ Lesson lesson;
/** Create the builder. Supply all the data that will be needed to parse the design and build the portfolio entries.
*
* If accessMode == LEARNER then progress and user must not be null. This will create a list of portfolio objects for
* all activities that the LEARNER has completed or attempted.
*
- * If accessMode == TEACHER then progress and user will be ignored and all activities will be included.
+ * If accessMode == TEACHER then progress and user will be null and all activities will be included. Note: Because
+ * the progress is null we can't rely on getting the lesson from the progress.
*
* @param design
* @param activityDAO
* @param lamsCoreToolService
* @param accessMode
- * @param progress
+ * @param lesson
+ * @param progress
* @param user
*/
public PortfolioBuilder(LearningDesign design, IActivityDAO activityDAO,
ILamsCoreToolService lamsCoreToolService, ToolAccessMode accessMode,
- LearnerProgress progress, User user) {
+ Lesson lesson, LearnerProgress progress, User user) {
super(design, activityDAO);
this.mainPortfolioList = new ArrayList();
this.currentPortfolioList = mainPortfolioList;
this.activityListStack = new ArrayStack(5);
this.accessMode = accessMode;
this.lamsCoreToolService = lamsCoreToolService;
+
this.user = user;
-
+ this.lesson = lesson;
this.progress = progress;
}
@@ -144,30 +151,52 @@
* If the export is done by teacher: mode, toolContentId is appended
* If the export is done by learner: mode, userId, toolSessionId is appended
*/
- if (accessMode == ToolAccessMode.LEARNER)
- {
- exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_USER_ID, user.getUserId().toString());
- ToolSession toolSession = lamsCoreToolService.getToolSessionByActivity(user, toolActivity);
- if (toolSession != null) {
- exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_SESSION_ID, toolSession.getToolSessionId().toString());
+ if ( exportUrlForTool != null ) {
+ if (accessMode == ToolAccessMode.LEARNER)
+ {
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_USER_ID, user.getUserId().toString());
+ ToolSession toolSession = lamsCoreToolService.getToolSessionByActivity(user, toolActivity);
+ if (toolSession != null) {
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_SESSION_ID, toolSession.getToolSessionId().toString());
+ }
}
+ else if (accessMode == ToolAccessMode.TEACHER)
+ {
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_CONTENT_ID, toolActivity.getToolContentId().toString());
+ }
}
- else if (accessMode == ToolAccessMode.TEACHER)
- {
- exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_CONTENT_ID, toolActivity.getToolContentId().toString());
- }
- } else if ( activity.isGateActivity() ) {
- // only include the gates in the teacher version
-
- } else if ( activity.isGroupingActivity() ) {
-
- }
+ } else if ( activity.isSystemToolActivity() ) {
+ // only include the gates in the teacher version - learner gate has been avoided at the beginning of this method
+ // always include grouping
+ // system tools don't use the modes or the tool session id but need to add them or the validation fails in
+ // AbstractExportPortfolio servlet. So why leave the validation there - because system tools are the exception
+ // rather than the rule. In the future, they may need these parameters.
+ SystemToolActivity sysToolActivity = (SystemToolActivity) activity;
+ SystemTool tool = sysToolActivity.getSystemTool();
+ if ( tool != null ) {
+ if (accessMode == ToolAccessMode.LEARNER) {
+ exportUrlForTool = tool.getExportPortfolioLearnerUrl();
+ } else {
+ exportUrlForTool = tool.getExportPortfolioClassUrl();
+ }
+ }
+ if ( exportUrlForTool != null ) {
+ if (accessMode == ToolAccessMode.LEARNER) {
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_USER_ID, user.getUserId().toString());
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_SESSION_ID, "0");
+ } else {
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_CONTENT_ID, "0");
+ }
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId().toString());
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_LESSON_ID, lesson.getLessonId().toString());
+ }
+ }
if ( exportUrlForTool == null ) {
exportUrlForTool = ExportPortfolioConstants.URL_FOR_UNSUPPORTED_EXPORT;
exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, "activityTitle", activity.getTitle());
- exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, "lessonName", progress.getLesson().getLessonName());
+ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, "lessonName", lesson.getLessonName());
}
p.setExportUrl(exportUrlForTool);
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java
===================================================================
diff -u -re5049e0948ac38f849ed086dfa9b8b7dfd8d76ae -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision e5049e0948ac38f849ed086dfa9b8b7dfd8d76ae)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -93,14 +93,15 @@
//---------------------------------------------------------------------
// Class level constants - Session Attributes
//---------------------------------------------------------------------
- private static final String GROUPS = "groups";
+ public static final String GROUPS = "groups";
+ public static final String FINISHED_BUTTON = "finishedButton";
//---------------------------------------------------------------------
// Class level constants - Struts forward
//---------------------------------------------------------------------
- private static final String VIEW_GROUP = "viewGroup";
- private static final String WAIT_GROUP = "waitGroup";
- private static final String SHOW_GROUP = "showGroup";
+ public static final String VIEW_GROUP = "viewGroup";
+ public static final String WAIT_GROUP = "waitGroup";
+ public static final String SHOW_GROUP = "showGroup";
//---------------------------------------------------------------------
// Struts Dispatch Method
@@ -140,7 +141,12 @@
DynaActionForm groupForm = (DynaActionForm)form;
groupForm.set("previewLesson",learnerProgress.getLesson().isPreviewLesson());
- return mapping.findForward(groupingDone ? VIEW_GROUP : WAIT_GROUP);
+
+ if ( groupingDone ) {
+ request.setAttribute(FINISHED_BUTTON, Boolean.TRUE);
+ return mapping.findForward(VIEW_GROUP);
+ }
+ return mapping.findForward(WAIT_GROUP);
}
/**
@@ -170,13 +176,51 @@
if ( grouping != null)
groups.addAll(grouping.getGroups());
- request.getSession().setAttribute(GROUPS,groups);
+ request.setAttribute(GROUPS,groups);
+ request.setAttribute(FINISHED_BUTTON,Boolean.TRUE);
request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId());
return mapping.findForward(SHOW_GROUP);
}
/**
+ * Do the export portfolio. Take the parameters from the standard String request parameters, don't expect
+ * attributes to be in the request
+ *
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ * @throws IOException
+ * @throws ServletException
+ */
+ public ActionForward exportPortfolio(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response) throws IOException,
+ ServletException
+ {
+ //initialize service object
+ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext());
+
+ SortedSet groups = new TreeSet(new GroupComparator());
+
+ Long activityId = WebUtil.readLongParam(request,AttributeNames.PARAM_ACTIVITY_ID);
+ Activity activity = learnerService.getActivity(activityId);
+
+ Grouping grouping = ((GroupingActivity)activity).getCreateGrouping();
+ if ( grouping != null)
+ groups.addAll(grouping.getGroups());
+
+ request.setAttribute(GROUPS,groups);
+ request.setAttribute(FINISHED_BUTTON,Boolean.FALSE);
+ request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId());
+
+ return mapping.findForward(SHOW_GROUP);
+ }
+
+ /**
* Complete the current tool activity and forward to the url of next activity
* in the learning design.
*
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingExportPortfolioServlet.java
===================================================================
diff -u
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingExportPortfolioServlet.java (revision 0)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingExportPortfolioServlet.java (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -0,0 +1,74 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+
+package org.lamsfoundation.lams.learning.web.action;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.lamsfoundation.lams.learning.service.ILearnerService;
+import org.lamsfoundation.lams.learning.service.LearnerServiceProxy;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+
+
+/**
+ * Export portfolio page for Grouping. If the grouping has been done
+ * then the groups are shown, otherwise a "not done" message is given.
+ * The screen is the same for teachers and learners.
+ *
+ * @web:servlet name="groupingExportPortfolio"
+ * @web:servlet-mapping url-pattern="/groupingExportPortfolio"
+ *
+ */
+public class GroupingExportPortfolioServlet extends AbstractExportPortfolioServlet {
+
+ private static final long serialVersionUID = 677903773190753547L;
+
+
+ //---------------------------------------------------------------------
+ // Class level constants - Session Attributes
+ //---------------------------------------------------------------------
+ public static final String GROUPS = "groups";
+ private final String FILENAME = "groups.html";
+
+
+ public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies)
+ {
+ Long lessonId = WebUtil.readLongParam(request,AttributeNames.PARAM_LESSON_ID);
+ Long activityId = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID);
+
+ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
+ writeResponseToFile(
+ basePath+"/grouping.do?method=exportPortfolio&lessonID="+lessonId+"&activityID="+activityId,
+ directoryName,FILENAME,cookies);
+ return FILENAME;
+
+ }
+
+
+}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java
===================================================================
diff -u -re5049e0948ac38f849ed086dfa9b8b7dfd8d76ae -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision e5049e0948ac38f849ed086dfa9b8b7dfd8d76ae)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -270,7 +270,7 @@
* @param activity, the activity the action is for.
* @param useContext, if true prepends the server and context to the URL.
*/
- protected String strutsActionToURL(String strutsAction,
+ public static String strutsActionToURL(String strutsAction,
Activity activity,
boolean useContext)
{
Index: lams_learning/web/WEB-INF/lams.tld
===================================================================
diff -u -rd52b0a9ea260d27335a647fc2fba615c8e2e228e -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/web/WEB-INF/lams.tld (.../lams.tld) (revision d52b0a9ea260d27335a647fc2fba615c8e2e228e)
+++ lams_learning/web/WEB-INF/lams.tld (.../lams.tld) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -35,7 +35,7 @@
Output a random number for the learner and passon flash movies to communicate directly.
id
- false
+ true
true
@@ -302,9 +302,15 @@
headItems
/WEB-INF/tags/headItems.tag
+
+
- Passon
- /WEB-INF/tags/Passon.tag
+ Passon
+ /WEB-INF/tags/Passon.tag
+
+ ExportPortOutput
+ /WEB-INF/tags/ExportPortOutput.tag
+
Index: lams_learning/web/WEB-INF/struts/struts-config.xml
===================================================================
diff -u -ra0722fe03d763f9da5efc82987034d929e6a23a1 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision a0722fe03d763f9da5efc82987034d929e6a23a1)
+++ lams_learning/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -126,11 +126,6 @@
unknown="false"
validate="false"
>
-
+
<%@ attribute name="saveButtonLabelKey" required="false" rtexprvalue="true" %>
<%@ attribute name="cancelConfirmMsgKey" required="false" rtexprvalue="true" %>
-<%@ attribute name="defineLater" required="false" rtexprvalue="false" %>
+<%@ attribute name="defineLater" required="false" rtexprvalue="true" %>
<%-- Default value for message key --%>
Index: lams_learning/web/WEB-INF/tags/ExportPortOutput.tag
===================================================================
diff -u
--- lams_learning/web/WEB-INF/tags/ExportPortOutput.tag (revision 0)
+++ lams_learning/web/WEB-INF/tags/ExportPortOutput.tag (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -0,0 +1,59 @@
+<%
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+ /**
+ * Passon
+ * Author: Fiona Malikoff
+ * Description: Outputs the Activity details on the main page in export portfolio. Recursive tag.
+ *
+ */
+
+ %>
+<%@ tag body-content="empty" %>
+<%@ attribute name="actport" required="true" rtexprvalue="true" type="org.lamsfoundation.lams.learning.export.ActivityPortfolio" %>
+<%@ taglib uri="tags-core" prefix="c" %>
+<%@ taglib uri="tags-lams" prefix="lams" %>
+
+
+
+
+ "/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_learning/web/WEB-INF/web.xml
===================================================================
diff -u -rcdab8186de5e9c75a9d6774616ead602dbf9cb69 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/web/WEB-INF/web.xml (.../web.xml) (revision cdab8186de5e9c75a9d6774616ead602dbf9cb69)
+++ lams_learning/web/WEB-INF/web.xml (.../web.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -31,7 +31,7 @@
singleSession
- false
+ true
@@ -51,12 +51,8 @@
HibernateFilter
- *.do
+ /*
-
- HibernateFilter
- *.jsp
-
SystemSessionFilter
@@ -74,6 +70,12 @@
project's merge dir.
-->
+
+ groupingExportPortfolio
+ org.lamsfoundation.lams.learning.web.action.GroupingExportPortfolioServlet
+
+
+
context
org.springframework.web.context.ContextLoaderServlet
@@ -140,6 +142,11 @@
/exportNotSupported
+
+ groupingExportPortfolio
+ /groupingExportPortfolio
+
+
120
Index: lams_learning/web/exportPortfolio/main.jsp
===================================================================
diff -u -r6f11dd80335ff2b8a2d06d21f1a49b307ed233c1 -r250486f86b66ac04cece0001879c3dc39c96ed98
--- lams_learning/web/exportPortfolio/main.jsp (.../main.jsp) (revision 6f11dd80335ff2b8a2d06d21f1a49b307ed233c1)
+++ lams_learning/web/exportPortfolio/main.jsp (.../main.jsp) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
@@ -41,18 +41,19 @@
-
+
+
+
+
+
-
+
-
- "/>:
-
-
+
-
+