Index: lams_build/build.xml =================================================================== diff -u -r48697e2afb09dca30e895ab1ba66b0654e4e1ca5 -re1e2aedca6d43bfae6fda54e9d2623016f256383 --- lams_build/build.xml (.../build.xml) (revision 48697e2afb09dca30e895ab1ba66b0654e4e1ca5) +++ lams_build/build.xml (.../build.xml) (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -154,6 +154,7 @@ + @@ -270,6 +271,9 @@ + + Deploying ROOT.war responsible for launching learner url + Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rff6c2a177e3f332066a0786518de3a7418fa4d6e -re1e2aedca6d43bfae6fda54e9d2623016f256383 Binary files differ Index: lams_build/shared.properties =================================================================== diff -u -ra2be3fd608bc4f871b1cb4722fe36593664ef7e4 -re1e2aedca6d43bfae6fda54e9d2623016f256383 --- lams_build/shared.properties (.../shared.properties) (revision a2be3fd608bc4f871b1cb4722fe36593664ef7e4) +++ lams_build/shared.properties (.../shared.properties) (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -27,16 +27,17 @@ lib=lib app.xml.dir=conf/j2ee app.xml=${app.xml.dir}/${conf.application}.application.xml -lams_common=lams_common lams_admin=lams_admin -lams_learning=lams_learning -lams_monitoring=lams_monitoring lams_central=lams_central +lams_common=lams_common lams_contentrepository=lams_contentrepository -lams_tool_deploy=lams_tool_deploy -lams_www=lams_www lams_gradebook=lams_gradebook +lams_launchlearnerurl=lams_launchlearnerurl +lams_learning=lams_learning +lams_monitoring=lams_monitoring lams_planner=lams_planner +lams_tool_deploy=lams_tool_deploy +lams_www=lams_www lams_mindapp=lams_mindapp sub.build.lib=build/lib sub.build.language=build/lib/language Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java =================================================================== diff -u -raffc66817dcbf5a677c7742c13fb93a9b35ae97a -re1e2aedca6d43bfae6fda54e9d2623016f256383 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision affc66817dcbf5a677c7742c13fb93a9b35ae97a) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -62,6 +62,7 @@ private Boolean learnerImAvailable; private Boolean liveEditEnabled; private Boolean isPreview; + private String encodedLessonID; /** * Create the DTO based on the lesson. Sets up all the fields except @@ -392,4 +393,12 @@ public void setLiveEditEnabled(Boolean liveEditEnabled) { this.liveEditEnabled = liveEditEnabled; } + + public String getEncodedLessonID() { + return encodedLessonID; + } + + public void setEncodedLessonID(String encodedLessonID) { + this.encodedLessonID = encodedLessonID; + } } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringUtils.java =================================================================== diff -u --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringUtils.java (revision 0) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringUtils.java (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -0,0 +1,58 @@ +/**************************************************************** + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.monitoring.service; + +import org.lamsfoundation.lams.util.Configuration; +import org.lamsfoundation.lams.util.ConfigurationKeys; + + +public class MonitoringUtils { + + private static final String CODE = "jbdnuteywk"; + + /** + * Constructs learner URL using API provided by tinyurl.com + * + * @param lessonId + * @param selfsignup + * @return + */ + public static String encodeLessonId(Long lessonId) { + + String encodedLessonId = lessonId.toString(); + encodedLessonId = encodedLessonId.replace('0', CODE.charAt(0)); + encodedLessonId = encodedLessonId.replace('1', CODE.charAt(1)); + encodedLessonId = encodedLessonId.replace('2', CODE.charAt(2)); + encodedLessonId = encodedLessonId.replace('3', CODE.charAt(3)); + encodedLessonId = encodedLessonId.replace('4', CODE.charAt(4)); + encodedLessonId = encodedLessonId.replace('5', CODE.charAt(5)); + encodedLessonId = encodedLessonId.replace('6', CODE.charAt(6)); + encodedLessonId = encodedLessonId.replace('7', CODE.charAt(7)); + encodedLessonId = encodedLessonId.replace('8', CODE.charAt(8)); + encodedLessonId = encodedLessonId.replace('9', CODE.charAt(9)); + + return encodedLessonId; + } + +} Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r84f42f54d7fe6904ff205466a32cdd2a8c196231 -re1e2aedca6d43bfae6fda54e9d2623016f256383 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 84f42f54d7fe6904ff205466a32cdd2a8c196231) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -74,6 +74,7 @@ import org.lamsfoundation.lams.monitoring.dto.ContributeActivityDTO; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.monitoring.service.MonitoringServiceProxy; +import org.lamsfoundation.lams.monitoring.service.MonitoringUtils; import org.lamsfoundation.lams.security.ISecurityService; import org.lamsfoundation.lams.timezone.service.ITimezoneService; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; @@ -901,6 +902,8 @@ DateFormat sfm = new SimpleDateFormat("yyyyMMdd_HHmmss"); lessonDTO.setCreateDateTimeStr(sfm.format(lessonDTO.getCreateDateTime())); } + //prepare encoded lessonId for shortened learner URL + lessonDTO.setEncodedLessonID(MonitoringUtils.encodeLessonId(lessonId)); if (!getSecurityService().isLessonMonitor(lessonId, user.getUserID(), "monitor lesson", false)) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not a monitor in the lesson"); Index: lams_monitoring/web/monitor.jsp =================================================================== diff -u -r85c9bb1cef2a5b0fe0b561d60ecc599280eff310 -re1e2aedca6d43bfae6fda54e9d2623016f256383 --- lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision 85c9bb1cef2a5b0fe0b561d60ecc599280eff310) +++ lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision e1e2aedca6d43bfae6fda54e9d2623016f256383) @@ -3,7 +3,10 @@ <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-function" prefix="fn" %> <%@ page import="org.lamsfoundation.lams.util.Configuration" import="org.lamsfoundation.lams.util.ConfigurationKeys" %> +${pageContext.request.requestURL} + @@ -174,7 +177,7 @@