Index: lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties,v diff -u -r1.2.2.6 -r1.2.2.7 --- lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties 14 May 2009 06:43:42 -0000 1.2.2.6 +++ lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties 15 May 2009 09:24:16 -0000 1.2.2.7 @@ -193,6 +193,7 @@ videorecorder.camera.not.available =No camera was detected. Please connect one and restart your browser if you want to record video. videorecorder.mic.not.available =No microphone was detected. Please connect one and restart your browser if you want to record audio. message.monitoring.summary.no.session =No Session Available +monitor.summary.button.show.video.recorder =Show {0} +monitor.summary.button.hide.video.recorder =Hide {0} - #======= End labels: Exported 187 labels for en AU ===== Index: lams_tool_videorecorder/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.4.2.6 -r1.4.2.7 --- lams_tool_videorecorder/conf/language/lams/ApplicationResources_en_AU.properties 14 May 2009 06:43:43 -0000 1.4.2.6 +++ lams_tool_videorecorder/conf/language/lams/ApplicationResources_en_AU.properties 15 May 2009 09:24:16 -0000 1.4.2.7 @@ -193,6 +193,7 @@ videorecorder.camera.not.available =No camera was detected. Please connect one and restart your browser if you want to record video. videorecorder.mic.not.available =No microphone was detected. Please connect one and restart your browser if you want to record audio. message.monitoring.summary.no.session =No Session Available +monitor.summary.button.show.video.recorder =Show {0} +monitor.summary.button.hide.video.recorder =Hide {0} - #======= End labels: Exported 187 labels for en AU ===== Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderDTO.java,v diff -u -r1.4.4.4 -r1.4.4.5 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderDTO.java 7 May 2009 06:54:42 -0000 1.4.4.4 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderDTO.java 15 May 2009 09:24:17 -0000 1.4.4.5 @@ -125,13 +125,6 @@ + " contains invalid fileType: " + att.getFileType()); } } - - for (Iterator iter = videoRecorder.getVideoRecorderSessions().iterator(); iter.hasNext();) { - VideoRecorderSession session = (VideoRecorderSession) iter.next(); - VideoRecorderSessionDTO sessionDTO = new VideoRecorderSessionDTO(session); - - sessionDTOs.add(sessionDTO); - } } /* Getters / Setters */ Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderSessionDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderSessionDTO.java,v diff -u -r1.1.4.4 -r1.1.4.5 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderSessionDTO.java 7 May 2009 06:54:42 -0000 1.1.4.4 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/dto/VideoRecorderSessionDTO.java 15 May 2009 09:24:17 -0000 1.1.4.5 @@ -46,6 +46,8 @@ int numberOfFinishedLearners; + Long monitoringUid; + public VideoRecorderSessionDTO(VideoRecorderSession session) { this.sessionID = session.getSessionId(); this.sessionName = session.getSessionName(); @@ -124,4 +126,12 @@ public void setNumberOfFinishedLearners(int numberOfFinishedLearners) { this.numberOfFinishedLearners = numberOfFinishedLearners; } + + public void setMonitoringUid(Long uid) { + this.monitoringUid = uid; + } + + public Long getMonitoringUid() { + return this.monitoringUid; + } } Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/IVideoRecorderService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/IVideoRecorderService.java,v diff -u -r1.4.2.5 -r1.4.2.6 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/IVideoRecorderService.java 13 May 2009 00:56:51 -0000 1.4.2.5 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/IVideoRecorderService.java 15 May 2009 09:24:14 -0000 1.4.2.6 @@ -288,4 +288,6 @@ public String getLanguageXMLForFCK(); public String getMessage(String key); + + public boolean isGroupedActivity(long toolContentID); } Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/VideoRecorderService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/VideoRecorderService.java,v diff -u -r1.5.2.6 -r1.5.2.7 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/VideoRecorderService.java 13 May 2009 00:56:51 -0000 1.5.2.6 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/service/VideoRecorderService.java 15 May 2009 09:24:11 -0000 1.5.2.7 @@ -290,10 +290,16 @@ videoRecorder.setToolContentHandler(null); videoRecorder.setVideoRecorderSessions(null); - VideoRecorderRecording authorRecording = (VideoRecorderRecording)getFirstRecordingByToolContentId(toolContentId).clone(); - authorRecording.setToolContentId(null); - authorRecording.setComments(null); - authorRecording.setRatings(null); + VideoRecorderRecording authorRecording = (VideoRecorderRecording)getFirstRecordingByToolContentId(toolContentId); + if(authorRecording != null) { + authorRecording = (VideoRecorderRecording) authorRecording.clone(); + + authorRecording.setToolContentId(null); + authorRecording.setComments(null); + authorRecording.setRatings(null); + + } + videoRecorder.setAuthorRecording(authorRecording); Set atts = videoRecorder.getVideoRecorderAttachments(); @@ -808,7 +814,11 @@ public Long getNbRatings(Long userID, Long sessionId) { return videoRecorderRatingDAO.getNbRatings(userID, sessionId); - } + } + + public boolean isGroupedActivity(long toolContentID) { + return toolService.isGroupedActivity(toolContentID); + } /** * @return String of xml with all needed language elements Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/MonitoringAction.java,v diff -u -r1.3.4.5 -r1.3.4.6 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/MonitoringAction.java 13 May 2009 08:14:09 -0000 1.3.4.5 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/MonitoringAction.java 15 May 2009 09:24:14 -0000 1.3.4.6 @@ -26,6 +26,7 @@ import java.sql.Array; import java.util.Set; +import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -42,6 +43,7 @@ import org.lamsfoundation.lams.tool.videoRecorder.dto.VideoRecorderUserDTO; import org.lamsfoundation.lams.tool.videoRecorder.model.VideoRecorder; import org.lamsfoundation.lams.tool.videoRecorder.model.VideoRecorderUser; +import org.lamsfoundation.lams.tool.videoRecorder.model.VideoRecorderSession; import org.lamsfoundation.lams.tool.videoRecorder.service.IVideoRecorderService; import org.lamsfoundation.lams.tool.videoRecorder.service.VideoRecorderServiceProxy; import org.lamsfoundation.lams.tool.videoRecorder.web.forms.AuthoringForm; @@ -59,12 +61,14 @@ * @author * @version * - * @struts.action path="/monitoring" parameter="dispatch" scope="request" + * @struts.action path="/monitoring" parameter="method" scope="request" * name="monitoringForm" validate="false" * * @struts.action-forward name="success" path="tiles:/monitoring/main" * @struts.action-forward name="videoRecorder_display" * path="tiles:/monitoring/videoRecorder_display" + * @struts.action-forward name="videoRecorder_openInstance" + * path="/pages/monitoring/videoRecorderOpenInstance.jsp" * */ public class MonitoringAction extends LamsDispatchAction { @@ -77,7 +81,7 @@ public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - + setupService(); // get httpsession @@ -95,61 +99,34 @@ VideoRecorder videoRecorder = videoRecorderService .getVideoRecorderByContentId(toolContentID); - // prepare toolSessionID and userID, may not exist if just authoring - Long toolSessionID = new Long(-1); - Long vrUserUid = new Long(-1); - if (videoRecorder == null) { // TODO error page. } VideoRecorderDTO videoRecorderDT0 = new VideoRecorderDTO(videoRecorder); // get sessions in order to get first session - Set sessions = videoRecorderDT0.getSessionDTOs(); + Set sessions = videoRecorder.getVideoRecorderSessions(); + //videoRecorderDT0.getSessionDTOs(); - // if a session exists - if(!sessions.isEmpty()){ - // get first session - Object[] sessionsArray = sessions.toArray(); - VideoRecorderSessionDTO firstSession = (VideoRecorderSessionDTO)sessionsArray[0]; - - // get toolSessionId - toolSessionID = firstSession.getSessionID(); + for (Iterator sessIter = sessions.iterator(); sessIter.hasNext();) { + VideoRecorderSession session = (VideoRecorderSession) sessIter.next(); - // stupid shit to convert to Long - long primLongUserId = user.getUserID(); - Long longUserId = primLongUserId; - - // get user - VideoRecorderUser videoRecorderUser = videoRecorderService.getUserByUserIdAndSessionId(longUserId, toolSessionID); - - vrUserUid = videoRecorderUser.getUid(); + VideoRecorderSessionDTO sessionDTO = new VideoRecorderSessionDTO(session); + videoRecorderDT0.getSessionDTOs().add(sessionDTO); + } Long currentTab = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB,true); videoRecorderDT0.setCurrentTab(currentTab); - request.setAttribute("toolSessions", sessions); - request.setAttribute("contentEditable", true); - request.setAttribute("mode", "author"); - request.setAttribute("userId", vrUserUid); - request.setAttribute("toolSessionId", toolSessionID); - request.setAttribute("toolContentId", toolContentID); request.setAttribute("videoRecorderDTO", videoRecorderDT0); - request.setAttribute("contentFolderID", contentFolderID); + request.setAttribute(AttributeNames.PARAM_CONTENT_FOLDER_ID, contentFolderID); - // set language xml - request.setAttribute("languageXML", videoRecorderService.getLanguageXML()); - // set red5 server url - String red5ServerUrl = Configuration.get(ConfigurationKeys.RED5_SERVER_URL); - request.setAttribute("red5ServerUrl", red5ServerUrl); + boolean isGroupedActivity = videoRecorderService.isGroupedActivity(toolContentID); + request.setAttribute("isGroupedActivity", isGroupedActivity); - // set LAMS server url - String serverUrl = Configuration.get(ConfigurationKeys.SERVER_URL); - request.setAttribute("serverUrl", serverUrl); - return mapping.findForward("success"); } @@ -159,7 +136,7 @@ setupService(); Long uid = new Long(WebUtil.readLongParam(request, "userUID")); - + VideoRecorderUser user = videoRecorderService.getUserByUID(uid); NotebookEntry entry = videoRecorderService.getEntry(user.getEntryUID()); @@ -170,6 +147,65 @@ return mapping.findForward("videoRecorder_display"); } + public ActionForward openVideoRecorderInstance(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + setupService(); + + // get httpsession + HttpSession ss = SessionManager.getSession(); + + // get LAMS user + UserDTO user = (UserDTO)ss.getAttribute(AttributeNames.USER); + + Long toolContentID = new Long(WebUtil.readLongParam(request, + AttributeNames.PARAM_TOOL_CONTENT_ID)); + + String contentFolderID = WebUtil.readStrParam(request, + AttributeNames.PARAM_CONTENT_FOLDER_ID); + + Long sessionId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID)); + + VideoRecorder videoRecorder = videoRecorderService + .getVideoRecorderByContentId(toolContentID); + + if (videoRecorder == null) { + // TODO error page. + } + + VideoRecorderDTO videoRecorderDT0 = new VideoRecorderDTO(videoRecorder); + VideoRecorderSession session = (VideoRecorderSession) videoRecorderService.getSessionBySessionId(sessionId); + + // check Monitor user is part of the session + VideoRecorderUser videoRecorderUser = videoRecorderService.getUserByUserIdAndSessionId(new Long(user.getUserID()), sessionId); + + if(videoRecorderUser == null){ + // create new Monitoring user for Session + videoRecorderUser = videoRecorderService.createVideoRecorderUser(user, session); + } + + request.setAttribute("contentEditable", true); + request.setAttribute("mode", "author"); + + request.setAttribute("videoRecorderDTO", videoRecorderDT0); + request.setAttribute(AttributeNames.PARAM_TOOL_SESSION_ID, sessionId); + request.setAttribute("monitoringUid", videoRecorderUser.getUid()); + request.setAttribute("contentFolderID", contentFolderID); + + // set language xml + request.setAttribute("languageXML", videoRecorderService.getLanguageXML()); + + // set red5 server url + String red5ServerUrl = Configuration.get(ConfigurationKeys.RED5_SERVER_URL); + request.setAttribute("red5ServerUrl", red5ServerUrl); + + // set LAMS server url + String serverUrl = Configuration.get(ConfigurationKeys.SERVER_URL); + request.setAttribute("serverUrl", serverUrl); + + return mapping.findForward("videoRecorder_openInstance"); + } + /** * set up videoRecorderService */ Index: lams_tool_videorecorder/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/web/WEB-INF/Attic/web.xml,v diff -u -r1.3.4.3 -r1.3.4.4 --- lams_tool_videorecorder/web/WEB-INF/web.xml 24 Apr 2009 03:06:16 -0000 1.3.4.3 +++ lams_tool_videorecorder/web/WEB-INF/web.xml 15 May 2009 09:24:14 -0000 1.3.4.4 @@ -10,16 +10,16 @@ contextConfigLocation - - classpath:/org/lamsfoundation/lams/applicationContext.xml - classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml - classpath:/org/lamsfoundation/lams/toolApplicationContext.xml - classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml - classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml - classpath:/org/lamsfoundation/lams/tool/videoRecorder/videoRecorderApplicationContext.xml - classpath:/org/lamsfoundation/lams/tool/videoRecorder/dbupdates/autopatchContext.xml - + classpath:/org/lamsfoundation/lams/tool/videoRecorder/dbupdates/autopatchContext.xml + + locatorFactorySelector + classpath*:/org/lamsfoundation/lams/**/beanRefContext.xml + + + parentContextKey + context.central + SystemSessionFilter @@ -34,7 +34,7 @@ sessionFactoryBeanName - videoRecorderSessionFactory + coreSessionFactory Index: lams_tool_videorecorder/web/WEB-INF/struts/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/web/WEB-INF/struts/Attic/struts-config.xml,v diff -u -r1.1.4.2 -r1.1.4.3 --- lams_tool_videorecorder/web/WEB-INF/struts/struts-config.xml 17 Apr 2009 08:21:46 -0000 1.1.4.2 +++ lams_tool_videorecorder/web/WEB-INF/struts/struts-config.xml 15 May 2009 09:24:15 -0000 1.1.4.3 @@ -18,16 +18,16 @@ type="org.lamsfoundation.lams.tool.videoRecorder.web.forms.VideoRecorderConditionForm" /> @@ -46,11 +46,29 @@ + + + - - - @@ -116,10 +116,15 @@ path="tiles:/monitoring/videoRecorder_display" redirect="false" /> + - + Index: lams_tool_videorecorder/web/common/header.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/web/common/header.jsp,v diff -u -r1.1.4.2 -r1.1.4.3 --- lams_tool_videorecorder/web/common/header.jsp 17 Apr 2009 08:21:23 -0000 1.1.4.2 +++ lams_tool_videorecorder/web/common/header.jsp 15 May 2009 09:24:17 -0000 1.1.4.3 @@ -11,7 +11,7 @@ <fmt:message key="activity.title" /> - + Index: lams_tool_videorecorder/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/web/pages/monitoring/summary.jsp,v diff -u -r1.5.2.4 -r1.5.2.5 --- lams_tool_videorecorder/web/pages/monitoring/summary.jsp 13 May 2009 08:14:09 -0000 1.5.2.4 +++ lams_tool_videorecorder/web/pages/monitoring/summary.jsp 15 May 2009 09:24:15 -0000 1.5.2.5 @@ -2,19 +2,42 @@ <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> <%@ include file="/common/taglibs.jsp"%> + - -

@@ -169,109 +192,44 @@ - +

-
- - -
+ + + + + + + + + + +
+

+ ${session.sessionName} +

+
+ + /monitoring.do?method=openVideoRecorderInstance&toolContentID=&toolSessionID=&contentFolderID= + + + + + + + + + +
+
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_videorecorder/web/pages/monitoring/videoRecorderOpenInstance.jsp'. Fisheye: No comparison available. Pass `N' to diff?