Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java =================================================================== diff -u -rf282bc57e46b420b718aa9d8b88711e246070a9b -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision f282bc57e46b420b718aa9d8b88711e246070a9b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaAppConstants.java (.../QaAppConstants.java) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -40,6 +40,8 @@ public static final String AUTHORING_STARTER ="starter"; public static final String LEARNING_STARTER ="learningStarter"; public static final String MONITORING_STARTER ="monitoringStarter"; + public static final String COPY_TOOL_CONTENT ="copyToolContent"; + public static final String ERROR_LIST ="errorList"; /* * Mock constants below are temporary until the tool gets a User object from the container. Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaResources.properties =================================================================== diff -u -r2ed80d3b7bc85a25e8a2925a25a1dcddf673831e -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaResources.properties (.../QaResources.properties) (revision 2ed80d3b7bc85a25e8a2925a25a1dcddf673831e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaResources.properties (.../QaResources.properties) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -81,6 +81,7 @@ error.userId.existing =Tool Activity Error! Can't continue. The user id passed to the Tool Activity refers to a student that has already used the activity.
Each learner activity should be associated with a unique userId. error.defaultContent.notSetup =Tool Activity Error! Can't continue. The default content for the tool has not been setup properly. error.mode.required =Tool Activity Error! Can't continue
URL is not complete. The Tool Activity requires a mode. +error.toolSession.notAvailable =Tool Activity Error! Can't continue. Tool session is not ready in the tool's database yet.
Please verify the API method: public void createToolSession(Long toolSessionId, Long toolContentId) has already been executed. #Monitoring mode resources button.startLesson =Start Lesson Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -r5dcca6320036cabb17b0fefd636ce5a80e43780b -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 5dcca6320036cabb17b0fefd636ce5a80e43780b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -1209,7 +1209,9 @@ */ protected boolean existsSession(long toolSessionId) { + logger.debug("toolSessionId: " + toolSessionId); QaSession qaSession=retrieveQaSessionOrNullById(toolSessionId); + logger.debug("qaSession: " + qaSession); if (qaSession == null) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== diff -u -reb93f71e881a5ad5898410942a429c4a14841735 -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision eb93f71e881a5ad5898410942a429c4a14841735) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -23,6 +23,7 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.tool.exception.ToolException; + import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaApplicationException; import org.lamsfoundation.lams.tool.qa.QaComparator; @@ -136,7 +137,6 @@ IQaService qaService = QaServiceProxy.getQaService(getServlet().getServletContext()); logger.debug("retrieving qaService: " + qaService); -// request.getSession().setAttribute(TOOL_SERVICE, qaService); /* * mark the http session as a learning activity @@ -184,7 +184,7 @@ { toolSessionId=new Long(strToolSessionId).longValue(); logger.debug("passed TOOL_SESSION_ID : " + new Long(toolSessionId)); - request.getSession().setAttribute(AttributeNames.PARAM_TOOL_SESSION_ID,new Long(toolSessionId)); + request.getSession().setAttribute(AttributeNames.PARAM_TOOL_SESSION_ID,new Long(toolSessionId)); } catch(NumberFormatException e) { @@ -196,6 +196,24 @@ } } + /* API test code */ + String createToolSession=request.getParameter("createToolSession"); + logger.debug("createToolSession: " + createToolSession); + if ((createToolSession != null) && createToolSession.equals("1")) + { try + { + logger.debug("creating test session with toolSessionId:" + toolSessionId); + qaService.createToolSession(new Long(toolSessionId), "toolSessionName", new Long(9876)); + return (mapping.findForward(LEARNING_STARTER)); + } + catch(ToolException e) + { + logger.debug("tool exception: " + e); + } + } + + + /* * By now, the passed tool session id MUST exist in the db through the calling of: * public void createToolSession(Long toolSessionId, Long toolContentId) by the container. @@ -205,25 +223,11 @@ if (!QaUtils.existsSession(toolSessionId, qaService)) { - logger.debug("tool session does not exist" + toolSessionId); - /* - *for testing only, remove this line in development - */ - Long currentToolContentId= new Long(1234); - logger.debug("simulating container behaviour: calling createToolSession with toolSessionId : " + - new Long(toolSessionId) + " and toolContentId: " + currentToolContentId); - //Comment: can not create toolSession from tool. -// try -// { -// qaService.createToolSession(new Long(toolSessionId), currentToolContentId); -// logger.debug("simulated container behaviour."); -// } -// catch(ToolException e) -// { -// logger.debug("we should never come here."); -// } - + logger.debug("error: The tool expects mcSession."); + persistError(request,"error.toolSession.notAvailable"); + return (mapping.findForward(ERROR_LIST)); } + /* * by now, we made sure that the passed tool session id exists in the db as a new record @@ -246,13 +250,11 @@ request.getSession().setAttribute(AttributeNames.PARAM_TOOL_CONTENT_ID, qaContent.getQaContentId()); logger.debug("using TOOL_CONTENT_ID: " + qaContent.getQaContentId()); - /* * The content we retrieved above must have been created before in Authoring time. * And the passed tool session id already refers to it. */ - logger.debug("ACTIVITY_TITLE: " + qaContent.getTitle()); request.getSession().setAttribute(ACTIVITY_TITLE,qaContent.getTitle()); @@ -331,16 +333,27 @@ * If it does exist, that means, that user already responded to the content and * his answers must be displayed read-only * + * NEW: if the user's tool session id AND user id exists in the tool tables go to learner's report. */ QaQueUsr qaQueUsr=qaService.loadQaQueUsr(new Long(userId)); logger.debug("QaQueUsr:" + qaQueUsr); if (qaQueUsr != null) { - logger.debug("the learner has already responsed to this content, just generate a read-only report."); - LearningUtil learningUtil= new LearningUtil(); - learningUtil.buidLearnerReport(request,1, qaService); - logger.debug("buidLearnerReport called successfully, forwarding to: " + LEARNER_REPORT); - return (mapping.findForward(LEARNER_REPORT)); + String localToolSession=qaQueUsr.getQaSessionId().toString(); + logger.debug("localToolSession: " + localToolSession); + + Long incomingToolSessionId=(Long)request.getSession().getAttribute(AttributeNames.PARAM_TOOL_SESSION_ID); + logger.debug("incomingToolSessionId: " + incomingToolSessionId); + + /* now we know that this user has already responsed before*/ + if (localToolSession.equals(incomingToolSessionId.toString())) + { + logger.debug("the learner has already responsed to this content, just generate a read-only report."); + LearningUtil learningUtil= new LearningUtil(); + learningUtil.buidLearnerReport(request,1, qaService); + logger.debug("buidLearnerReport called successfully, forwarding to: " + LEARNER_REPORT); + return (mapping.findForward(LEARNER_REPORT)); + } } /* * present user with the questions. Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java =================================================================== diff -u -rf282bc57e46b420b718aa9d8b88711e246070a9b -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision f282bc57e46b420b718aa9d8b88711e246070a9b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java (.../QaStarterAction.java) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -56,21 +56,12 @@ * The format of the serialization for export is XML. Tool will define extra namespace inside the element to add a new data element (type). Inside the data element, it can further define more structures and types as it seems fit. * The data elements must be "version" aware. The data elements must be "type" aware if they are to be shared between Tools. * -* LAMS Xpress (Ernie, could you put something in here. You explain it better than I do!) -* Data Exchange At present, there is no data exchange format between tools. Therefore if a tool needs to work with another tool, they will need to be combined in a new tool. We plan to have a data exchange method in a future version of LAMS. -* */ -/* - * check back QaUtils.configureContentRepository(request); - */ package org.lamsfoundation.lams.tool.qa.web; import java.io.IOException; -import java.util.ArrayList; import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -87,6 +78,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaApplicationException; import org.lamsfoundation.lams.tool.qa.QaComparator; @@ -117,39 +109,23 @@ throws IOException, ServletException, QaApplicationException { Map mapQuestionContent= new TreeMap(new QaComparator()); - /* these two are for repository access */ - /* holds the final offline files list */ -// LinkedList listUploadedOfflineFiles= new LinkedList(); -// LinkedList listUploadedOnlineFiles= new LinkedList(); -// -// /* these two are for jsp */ -// LinkedList listUploadedOfflineFileNames= new LinkedList(); -// LinkedList listUploadedOnlineFileNames= new LinkedList(); QaAuthoringForm qaAuthoringForm = (QaAuthoringForm) form; qaAuthoringForm.resetRadioBoxes(); request.getSession().setAttribute(IS_DEFINE_LATER,"false"); request.getSession().setAttribute(DISABLE_TOOL,""); -// request.getSession().setAttribute(LIST_UPLOADED_OFFLINE_FILES,listUploadedOfflineFiles); -// request.getSession().setAttribute(LIST_UPLOADED_ONLINE_FILES,listUploadedOnlineFiles); -// -// request.getSession().setAttribute(LIST_UPLOADED_OFFLINE_FILENAMES,listUploadedOfflineFileNames); -// request.getSession().setAttribute(LIST_UPLOADED_ONLINE_FILENAMES,listUploadedOnlineFileNames); - - IQaService qaService = QaServiceProxy.getQaService(getServlet().getServletContext()); + + IQaService qaService = QaServiceProxy.getQaService(getServlet().getServletContext()); logger.debug("retrieving qaService from session: " + qaService); - /* double check if this is a good place to call */ /* needs to be called only once. */ /* QaUtils.configureContentRepository(request); */ /* * obtain and setup the current user's data - */ - - /* get session from shared session. */ + * get session from shared session. */ HttpSession ss = SessionManager.getSession(); /* get back login user DTO */ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); @@ -219,23 +195,43 @@ */ request.getSession().setAttribute(TARGET_MODE,TARGET_MODE_AUTHORING); + /* * define tab controllers for jsp */ -// request.getSession().setAttribute(CHOICE_TYPE_BASIC,CHOICE_TYPE_BASIC); -// request.getSession().setAttribute(CHOICE_TYPE_ADVANCED,CHOICE_TYPE_ADVANCED); -// request.getSession().setAttribute(CHOICE_TYPE_INSTRUCTIONS,CHOICE_TYPE_INSTRUCTIONS); - request.getSession().setAttribute(EDITACTIVITY_EDITMODE, new Boolean(false)); -// request.getSession().setAttribute(FORM_INDEX, "0"); -// logger.debug("FORM_INDEX set to: " + request.getSession().getAttribute(FORM_INDEX)); /* * find out whether the request is coming from monitoring module for EditActivity tab or from authoring environment url */ String strToolContentId=""; Long contentID =new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_TOOL_CONTENT_ID)); + + /* API test code for copying the content*/ + String copyToolContent= (String) request.getParameter(COPY_TOOL_CONTENT); + logger.debug("copyToolContent: " + copyToolContent); + + if ((copyToolContent != null) && (copyToolContent.equals("1"))) + { + logger.debug("user request to copy the content"); + Long fromContentId=contentID; + logger.debug("fromContentId: " + fromContentId); + + Long toContentId=new Long(9876); + logger.debug("toContentId: " + toContentId); + + try + { + qaService.copyToolContent(fromContentId, toContentId); + } + catch(ToolException e) + { + logger.debug("error copying the content: " + e); + } + } + + qaAuthoringForm.setToolContentId(contentID.toString()); Boolean isMonitoringEditActivityVisited=(Boolean)request.getSession().getAttribute(MONITORING_EDITACTIVITY_VISITED); logger.debug("isMonitoringEditActivityVisited: " + isMonitoringEditActivityVisited); @@ -271,26 +267,6 @@ } logger.debug("usable strToolContentId: " + strToolContentId); -// /* -// * Process incoming tool content id -// * Either exists or not exists in the db yet, a toolContentId must be passed to the tool from the container -// */ -// long toolContentId=0; -// try -// { -// toolContentId=new Long(strToolContentId).longValue(); -// logger.debug("passed TOOL_CONTENT_ID : " + toolContentId); -// request.getSession().setAttribute(AttributeNames.PARAM_TOOL_CONTENT_ID,strToolContentId); -// } -// catch(NumberFormatException e) -// { -// persistError(request,"error.numberFormatException"); -// request.setAttribute(USER_EXCEPTION_NUMBERFORMAT, new Boolean(true)); -// logger.debug("forwarding to: " + LOAD_QUESTIONS); -// return (mapping.findForward(LOAD_QUESTIONS)); -// } - - /* * find out if the passed tool content id exists in the db * present user either a first timer screen with default content data or fetch the existing content. @@ -308,67 +284,6 @@ } } -// /** -// * returns the default content to jsp -// * ActionForward retrieveDefaultContent(HttpServletRequest request, ActionMapping mapping, QaAuthoringForm qaAuthoringForm, Map mapQuestionContent) -// * -// * @param request -// * @param mapping -// * @param qaAuthoringForm -// * @param mapQuestionContent -// * @return ActionForward -// */ -// protected ActionForward retrieveDefaultContent(HttpServletRequest request, ActionMapping mapping, QaAuthoringForm qaAuthoringForm, Map mapQuestionContent) -// { -// logger.debug("starting retrieveDefaultContent for toolContentId:"); -// IQaService qaService =QaUtils.getToolService(request); -// -// long contentId=qaService.getToolDefaultContentIdBySignature(MY_SIGNATURE); -// logger.debug("getting default content with id:" + contentId); -// -// QaContent defaultQaContent = qaService.retrieveQa(contentId); -// logger.debug("defaultQaContent: " + defaultQaContent); -// -// /* -// * this is a new content creation, the content must always be unlocked -// * CONTENT_LOCKED means CONTENT_IN_USE -// */ -// request.getSession().setAttribute(CONTENT_LOCKED, new Boolean(false)); -// logger.debug("CONTENT_LOCKED: " + request.getSession().getAttribute(CONTENT_LOCKED)); -// -// if (defaultQaContent == null) -// { -// logger.debug("Exception occured: No default content"); -// request.setAttribute(USER_EXCEPTION_DEFAULTCONTENT_NOT_AVAILABLE, new Boolean(true)); -// persistError(request,"error.defaultContent.notAvailable"); -// return (mapping.findForward(LOAD_QUESTIONS)); -// } -// -// QaUtils.setDefaultSessionAttributes(request, defaultQaContent, qaAuthoringForm); -// qaAuthoringForm.setUsernameVisible(OFF); -// logger.debug("UsernameVisible: " + qaAuthoringForm.getUsernameVisible()); -// qaAuthoringForm.setQuestionsSequenced(OFF); -// qaAuthoringForm.setSynchInMonitor(OFF); -// -// mapQuestionContent.clear(); -// /* -// * place the default question as the first entry in the Map -// */ -// mapQuestionContent.put(INITIAL_QUESTION_COUNT,request.getSession().getAttribute(DEFAULT_QUESTION_CONTENT)); -// logger.debug("Map initialized with default contentid to: " + mapQuestionContent); -// -//// /* set uploaded offline file names to empty list*/ -//// List listOfflineFileNames=new LinkedList(); -//// -//// /* set uploaded online file names to empty list*/ -//// List listOnlineFileNames=new LinkedList(); -// -// -// request.getSession().setAttribute(ATTACHMENT_LIST, new ArrayList()); -// -// logger.debug("callling presentInitialUserInterface for the default content."); -// return presentInitialUserInterface(request, mapping, qaAuthoringForm, mapQuestionContent); -// } /** @@ -409,30 +324,9 @@ QaUtils.setDefaultSessionAttributes(request, qaContent, qaAuthoringForm); QaUtils.populateUploadedFilesData(request, qaContent, qaService); - -// request.getSession().setAttribute(IS_USERNAME_VISIBLE_MONITORING, new Boolean(defaultQaContent.isUsernameVisible())); -// request.getSession().setAttribute(IS_SYNCH_INMONITOR_MONITORING, new Boolean(defaultQaContent.isSynchInMonitor())); -// request.getSession().setAttribute(IS_QUESTIONS_SEQUENCED_MONITORING,new Boolean(defaultQaContent.isQuestionsSequenced())); request.getSession().setAttribute(IS_DEFINE_LATER, new Boolean(qaContent.isDefineLater())); -// request.getSession().setAttribute(REPORT_TITLE, defaultQaContent.getReportTitle()); -// request.getSession().setAttribute(MONITORING_REPORT_TITLE, defaultQaContent.getMonitoringReportTitle()); -// request.getSession().setAttribute(OFFLINE_INSTRUCTIONS, defaultQaContent.getOfflineInstructions()); -// request.getSession().setAttribute(ONLINE_INSTRUCTIONS, defaultQaContent.getOnlineInstructions()); -// request.getSession().setAttribute(RICHTEXT_OFFLINEINSTRUCTIONS, defaultQaContent.getOfflineInstructions()); -// request.getSession().setAttribute(RICHTEXT_ONLINEINSTRUCTIONS, defaultQaContent.getOnlineInstructions()); -// request.getSession().setAttribute(RICHTEXT_TITLE, defaultQaContent.getTitle()); -// request.getSession().setAttribute(RICHTEXT_INSTRUCTIONS, defaultQaContent.getInstructions()); -// logger.debug("QaStarter set all 4 rich text properties"); -// -// request.getSession().setAttribute(END_LEARNING_MESSSAGE, defaultQaContent.getEndLearningMessage()); -// request.getSession().setAttribute(CREATION_DATE, defaultQaContent.getCreationDate()); -// -// logger.debug("IS_QUESTIONS_SEQUENCED_MONITORING: " + request.getSession().getAttribute(IS_QUESTIONS_SEQUENCED_MONITORING)); -// logger.debug("IS_DEFINE_LATER: " + request.getSession().getAttribute(IS_DEFINE_LATER)); -// - /* * get the existing question content */ @@ -482,7 +376,6 @@ /* * load questions page */ - logger.debug("START_MONITORING_SUMMARY_REQUEST: " + request.getAttribute(START_MONITORING_SUMMARY_REQUEST)); logger.debug("RENDER_MONITORING_EDITACTIVITY: " + request.getAttribute(RENDER_MONITORING_EDITACTIVITY)); qaAuthoringForm.resetUserAction(); @@ -505,19 +398,6 @@ return true; } -// /** -// * find out if the content is locked or not. If it is a locked content, the author can not modify it. -// * The idea of content being locked is, once any one learner starts using a particular content -// * that content should become unmodifiable. -// * boolean isContentLocked(QaContent qaContent) -// * @param qaContent -// * @return boolean -// */ -// protected boolean isContentLocked(QaContent qaContent) -// { -// logger.debug("is content locked: " + qaContent.isContentLocked()); -// return qaContent.isContentLocked(); -// } /** * mark the request scope to generate monitoring summary screen Index: lams_tool_laqa/web/QaErrorBox.jsp =================================================================== diff -u --- lams_tool_laqa/web/QaErrorBox.jsp (revision 0) +++ lams_tool_laqa/web/QaErrorBox.jsp (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -0,0 +1,45 @@ + + + +<%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %> +<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> +<%@ taglib uri="/WEB-INF/struts-logic-el.tld" prefix="logic-el" %> +<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> +<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %> + + +
+ + + + + + + + + Index: lams_tool_laqa/web/WEB-INF/struts-config.xml =================================================================== diff -u -rf282bc57e46b420b718aa9d8b88711e246070a9b -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision f282bc57e46b420b718aa9d8b88711e246070a9b) +++ lams_tool_laqa/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -14,8 +14,8 @@ - - + + @@ -57,11 +57,6 @@ unknown="false" validate="false" > - + - + - - + + + + + + + + + + + Index: lams_tool_laqa/web/index.jsp =================================================================== diff -u -r16e844de3f7c34b44baee1b28e67e708f42d00bf -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/web/index.jsp (.../index.jsp) (revision 16e844de3f7c34b44baee1b28e67e708f42d00bf) +++ lams_tool_laqa/web/index.jsp (.../index.jsp) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -1,4 +1,3 @@ -<%@ page import="org.lamsfoundation.lams.tool.qa.QaUtils" %> <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic-el.tld" prefix="logic-el" %> @@ -7,9 +6,11 @@ <% - String userContentId="1234"; + String toolContentId="1234"; String userId="1111"; - String toolUrl="/authoringStarter?userId=" + userId + "&toolContentId=" + userContentId; + String toolUrl="/authoringStarter?userId=" + userId + "&toolContentID=" + toolContentId; + + String strCopyToolContent="/authoringStarter?toolContentID=" + toolContentId + "©ToolContent=1"; %> @@ -20,5 +21,12 @@ + +
+ Error occured + + +
+
+
+

+ + + + Index: lams_tool_laqa/web/learningIndex.jsp =================================================================== diff -u -r16e844de3f7c34b44baee1b28e67e708f42d00bf -r6b23705da47d357c71585779cf61f68cbab7b3d1 --- lams_tool_laqa/web/learningIndex.jsp (.../learningIndex.jsp) (revision 16e844de3f7c34b44baee1b28e67e708f42d00bf) +++ lams_tool_laqa/web/learningIndex.jsp (.../learningIndex.jsp) (revision 6b23705da47d357c71585779cf61f68cbab7b3d1) @@ -9,18 +9,41 @@ <% String userId="222"; - String toolContentId="6666"; - String toolSessionId="88888888"; - String toolUrl="/learningStarter?userId=" + userId + "&toolSessionId=" + toolSessionId + "&toolContentId=" + toolContentId; + String toolSessionID="88888888"; + String toolSessionID2="55555555"; + + String toolUrl="/learningStarter?toolSessionID=" + toolSessionID; + String toolUrl2="/learningStarter?&toolSessionID=" + toolSessionID2; + + String strCreateToolSession="/learningStarter?toolSessionID=" + toolSessionID + "&createToolSession=1"; + String strCreateToolSession2="/learningStarter?toolSessionID=" + toolSessionID2 + "&createToolSession=1"; %> + + +


+ +
+ + +


+ +
+ +


- +
+ + +


+ +
+