Index: lams_bb_integration/WEB-INF/bb-manifest.xml
===================================================================
diff -u -rd3e34164d824f21be08f1d26e4b991eacfa82b32 -r615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1
--- lams_bb_integration/WEB-INF/bb-manifest.xml (.../bb-manifest.xml) (revision d3e34164d824f21be08f1d26e4b991eacfa82b32)
+++ lams_bb_integration/WEB-INF/bb-manifest.xml (.../bb-manifest.xml) (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -25,9 +25,9 @@
-
-
-
+
+
+
Index: lams_bb_integration/WEB-INF/tlds/c.tld
===================================================================
diff -u
--- lams_bb_integration/WEB-INF/tlds/c.tld (revision 0)
+++ lams_bb_integration/WEB-INF/tlds/c.tld (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -0,0 +1,563 @@
+
+
+
+
+ JSTL 1.1 core library
+ JSTL core
+ 1.1
+ c
+ http://java.sun.com/jsp/jstl/core
+
+
+
+ Provides core validation features for JSTL tags.
+
+
+ org.apache.taglibs.standard.tlv.JstlCoreTLV
+
+
+
+
+
+ Catches any Throwable that occurs in its body and optionally
+ exposes it.
+
+ catch
+ org.apache.taglibs.standard.tag.common.core.CatchTag
+ JSP
+
+
+Name of the exported scoped variable for the
+exception thrown from a nested action. The type of the
+scoped variable is the type of the exception thrown.
+
+ var
+ false
+ false
+
+
+
+
+
+ Simple conditional tag that establishes a context for
+ mutually exclusive conditional operations, marked by
+ <when> and <otherwise>
+
+ choose
+ org.apache.taglibs.standard.tag.common.core.ChooseTag
+ JSP
+
+
+
+
+ Simple conditional tag, which evalutes its body if the
+ supplied condition is true and optionally exposes a Boolean
+ scripting variable representing the evaluation of this condition
+
+ if
+ org.apache.taglibs.standard.tag.rt.core.IfTag
+ JSP
+
+
+The test condition that determines whether or
+not the body content should be processed.
+
+ test
+ true
+ true
+ boolean
+
+
+
+Name of the exported scoped variable for the
+resulting value of the test condition. The type
+of the scoped variable is Boolean.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Retrieves an absolute or relative URL and exposes its contents
+ to either the page, a String in 'var', or a Reader in 'varReader'.
+
+ import
+ org.apache.taglibs.standard.tag.rt.core.ImportTag
+ org.apache.taglibs.standard.tei.ImportTEI
+ JSP
+
+
+The URL of the assessment to import.
+
+ url
+ true
+ true
+
+
+
+Name of the exported scoped variable for the
+assessment's content. The type of the scoped
+variable is String.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+assessment's content. The type of the scoped
+variable is Reader.
+
+ varReader
+ false
+ false
+
+
+
+Name of the context when accessing a relative
+URL assessment that belongs to a foreign
+context.
+
+ context
+ false
+ true
+
+
+
+Character encoding of the content at the input
+assessment.
+
+ charEncoding
+ false
+ true
+
+
+
+
+
+ The basic iteration tag, accepting many different
+ collection types and supporting subsetting and other
+ functionality
+
+ forEach
+ org.apache.taglibs.standard.tag.rt.core.ForEachTag
+ org.apache.taglibs.standard.tei.ForEachTEI
+ JSP
+
+
+Collection of items to iterate over.
+
+ items
+ false
+ true
+ java.lang.Object
+
+
+
+If items specified:
+Iteration begins at the item located at the
+specified index. First item of the collection has
+index 0.
+If items not specified:
+Iteration begins with index set at the value
+specified.
+
+ begin
+ false
+ true
+ int
+
+
+
+If items specified:
+Iteration ends at the item located at the
+specified index (inclusive).
+If items not specified:
+Iteration ends when index reaches the value
+specified.
+
+ end
+ false
+ true
+ int
+
+
+
+Iteration will only process every step items of
+the collection, starting with the first one.
+
+ step
+ false
+ true
+ int
+
+
+
+Name of the exported scoped variable for the
+current item of the iteration. This scoped
+variable has nested visibility. Its type depends
+on the object of the underlying collection.
+
+ var
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+status of the iteration. Object exported is of type
+javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested
+visibility.
+
+ varStatus
+ false
+ false
+
+
+
+
+
+ Iterates over tokens, separated by the supplied delimeters
+
+ forTokens
+ org.apache.taglibs.standard.tag.rt.core.ForTokensTag
+ JSP
+
+
+String of tokens to iterate over.
+
+ items
+ true
+ true
+ java.lang.String
+
+
+
+The set of delimiters (the characters that
+separate the tokens in the string).
+
+ delims
+ true
+ true
+ java.lang.String
+
+
+
+Iteration begins at the token located at the
+specified index. First token has index 0.
+
+ begin
+ false
+ true
+ int
+
+
+
+Iteration ends at the token located at the
+specified index (inclusive).
+
+ end
+ false
+ true
+ int
+
+
+
+Iteration will only process every step tokens
+of the string, starting with the first one.
+
+ step
+ false
+ true
+ int
+
+
+
+Name of the exported scoped variable for the
+current item of the iteration. This scoped
+variable has nested visibility.
+
+ var
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+status of the iteration. Object exported is of
+type
+javax.servlet.jsp.jstl.core.LoopTag
+Status. This scoped variable has nested
+visibility.
+
+ varStatus
+ false
+ false
+
+
+
+
+
+ Like <%= ... >, but for expressions.
+
+ out
+ org.apache.taglibs.standard.tag.rt.core.OutTag
+ JSP
+
+
+Expression to be evaluated.
+
+ value
+ true
+ true
+
+
+
+Default value if the resulting value is null.
+
+ default
+ false
+ true
+
+
+
+Determines whether characters <,>,&,'," in the
+resulting string should be converted to their
+corresponding character entity codes. Default value is
+true.
+
+ escapeXml
+ false
+ true
+
+
+
+
+
+
+ Subtag of <choose> that follows <when> tags
+ and runs only if all of the prior conditions evaluated to
+ 'false'
+
+ otherwise
+ org.apache.taglibs.standard.tag.common.core.OtherwiseTag
+ JSP
+
+
+
+
+ Adds a parameter to a containing 'import' tag's URL.
+
+ param
+ org.apache.taglibs.standard.tag.rt.core.ParamTag
+ JSP
+
+
+Name of the query string parameter.
+
+ name
+ true
+ true
+
+
+
+Value of the parameter.
+
+ value
+ false
+ true
+
+
+
+
+
+ Redirects to a new URL.
+
+ redirect
+ org.apache.taglibs.standard.tag.rt.core.RedirectTag
+ JSP
+
+
+The URL of the assessment to redirect to.
+
+ url
+ false
+ true
+
+
+
+Name of the context when redirecting to a relative URL
+assessment that belongs to a foreign context.
+
+ context
+ false
+ true
+
+
+
+
+
+ Removes a scoped variable (from a particular scope, if specified).
+
+ remove
+ org.apache.taglibs.standard.tag.common.core.RemoveTag
+ empty
+
+
+Name of the scoped variable to be removed.
+
+ var
+ true
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Sets the result of an expression evaluation in a 'scope'
+
+ set
+ org.apache.taglibs.standard.tag.rt.core.SetTag
+ JSP
+
+
+Name of the exported scoped variable to hold the value
+specified in the action. The type of the scoped variable is
+whatever type the value expression evaluates to.
+
+ var
+ false
+ false
+
+
+
+Expression to be evaluated.
+
+ value
+ false
+ true
+
+
+
+Target object whose property will be set. Must evaluate to
+a JavaBeans object with setter property property, or to a
+java.util.Map object.
+
+ target
+ false
+ true
+
+
+
+Name of the property to be set in the target object.
+
+ property
+ false
+ true
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Creates a URL with optional query parameters.
+
+ url
+ org.apache.taglibs.standard.tag.rt.core.UrlTag
+ JSP
+
+
+Name of the exported scoped variable for the
+processed url. The type of the scoped variable is
+String.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+URL to be processed.
+
+ value
+ false
+ true
+
+
+
+Name of the context when specifying a relative URL
+assessment that belongs to a foreign context.
+
+ context
+ false
+ true
+
+
+
+
+
+ Subtag of <choose> that includes its body if its
+ condition evalutes to 'true'
+
+ when
+ org.apache.taglibs.standard.tag.rt.core.WhenTag
+ JSP
+
+
+The test condition that determines whether or not the
+body content should be processed.
+
+ test
+ true
+ true
+ boolean
+
+
+
+
Index: lams_bb_integration/WEB-INF/web.xml
===================================================================
diff -u -rdcd309de058219ef41f76000936b9136eedb0d70 -r615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1
--- lams_bb_integration/WEB-INF/web.xml (.../web.xml) (revision dcd309de058219ef41f76000936b9136eedb0d70)
+++ lams_bb_integration/WEB-INF/web.xml (.../web.xml) (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -1,9 +1,4 @@
-
-
-
-
+
UserDataServlet
@@ -42,6 +37,10 @@
org.lamsfoundation.ld.integration.blackboard.GradebookSyncServlet
+ LessonManagerServlet
+ org.lamsfoundation.ld.integration.blackboard.LessonManagerServlet
+
+
OpenLamsPageServlet
org.lamsfoundation.ld.integration.blackboard.OpenLamsPageServlet
@@ -50,10 +49,6 @@
org.lamsfoundation.ld.integration.blackboard.RenderDesignImageServlet
- StartLessonServlet
- org.lamsfoundation.ld.integration.blackboard.StartLessonServlet
-
-
StartLessonAjaxServlet
org.lamsfoundation.ld.integration.blackboard.StartLessonAjaxServlet
@@ -97,6 +92,10 @@
GradebookSyncServlet
/GradebookSync
+
+
+ LessonManagerServlet
+ /LessonManager
OpenLamsPageServlet
@@ -105,18 +104,21 @@
RenderDesignImageServlet
/RenderImage
-
+
- StartLessonServlet
- /StartLessonServlet
-
-
StartLessonAjaxServlet
/StartLesson
UpdateServerUrlServlet
/UpdateServerUrl
-
+
+
+
+ /tags-core
+ /WEB-INF/tlds/c.tld
+
+
+
Index: lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LessonManagerServlet.java
===================================================================
diff -u
--- lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LessonManagerServlet.java (revision 0)
+++ lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LessonManagerServlet.java (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -0,0 +1,301 @@
+package org.lamsfoundation.ld.integration.blackboard;
+/****************************************************************
+ * 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
+ * ****************************************************************
+ */
+
+import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.ld.integration.util.BlackboardUtil;
+import org.lamsfoundation.ld.integration.util.LamsSecurityUtil;
+import org.lamsfoundation.ld.integration.util.LineitemUtil;
+import org.xml.sax.SAXException;
+
+import blackboard.base.FormattedText;
+import blackboard.base.InitializationException;
+import blackboard.data.ValidationException;
+import blackboard.data.content.Content;
+import blackboard.data.content.CourseDocument;
+import blackboard.data.course.Course;
+import blackboard.data.user.User;
+import blackboard.persist.BbPersistenceManager;
+import blackboard.persist.Container;
+import blackboard.persist.Id;
+import blackboard.persist.PersistenceException;
+import blackboard.persist.PkId;
+import blackboard.persist.content.ContentDbLoader;
+import blackboard.persist.content.ContentDbPersister;
+import blackboard.persist.gradebook.LineitemDbPersister;
+import blackboard.platform.BbServiceException;
+import blackboard.platform.BbServiceManager;
+import blackboard.platform.context.Context;
+import blackboard.platform.context.ContextManager;
+import blackboard.platform.persistence.PersistenceServiceFactory;
+import blackboard.platform.plugin.PlugInException;
+import blackboard.platform.plugin.PlugInUtil;
+import blackboard.portal.data.ExtraInfo;
+import blackboard.portal.data.PortalExtraInfo;
+import blackboard.portal.servlet.PortalUtil;
+
+/**
+ * Launches LAMS pages: author, learner and monitor one.
+ */
+public class LessonManagerServlet extends HttpServlet {
+
+ private static final long serialVersionUID = -351131323404991332L;
+ private static Logger logger = Logger.getLogger(LessonManagerServlet.class);
+
+ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
+ process(request, response);
+ }
+
+ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
+ process(request, response);
+ }
+
+ private void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+ // Authorise current user for Course Control Panel (automatic redirect)
+ try {
+ if (!PlugInUtil.authorizeForCourseControlPanel(request, response))
+ return;
+ } catch (PlugInException e) {
+ throw new RuntimeException(e);
+ }
+
+ ContextManager ctxMgr = null;
+ try {
+ // get Blackboard context
+ ctxMgr = (ContextManager) BbServiceManager.lookupService(ContextManager.class);
+ Context ctx = ctxMgr.getContext();
+
+ String method = request.getParameter("method");
+ // -----------------------Assessment Author functions ---------------------------
+ if (method.equals("configureLessonStart")) {
+ configureLessonStart(request, response, ctx);
+
+ } else if (method.equals("start")) {
+ start(request, response, ctx);
+
+ } else if (method.equals("configureLessonModification")) {
+ configureLessonModification(request, response, ctx);
+
+ } else if (method.equals("modify")) {
+ modify(request, response, ctx);
+
+ } else if (method.equals("delete")) {
+ delete(request, response, ctx);
+ }
+
+ } catch (InitializationException e) {
+ throw new ServletException(e);
+ } catch (BbServiceException e) {
+ throw new ServletException(e);
+ } catch (PersistenceException e) {
+ throw new ServletException(e);
+ } catch (ParseException e) {
+ throw new ServletException(e);
+ } catch (ValidationException e) {
+ throw new ServletException(e);
+ } catch (ParserConfigurationException e) {
+ throw new ServletException(e);
+ } catch (SAXException e) {
+ throw new ServletException(e);
+ }
+
+// // important. make sure context is not released as otherwise tag will throw an exception
+// finally {
+// if (ctxMgr != null) {
+// ctxMgr.releaseContext();
+// }
+// }
+ }
+
+ /**
+ * Shows preparation page with available learning designs. Preview is available.
+ */
+ private void configureLessonStart(HttpServletRequest request, HttpServletResponse response, Context ctx)
+ throws InitializationException, BbServiceException, PersistenceException, IOException, ServletException {
+
+ String lamsServerUrl = LamsSecurityUtil.getServerAddress();
+ request.setAttribute("lamsServerUrl", lamsServerUrl);
+
+ // get all user accessible folders and LD descriptions as JSON
+ String learningDesigns = LamsSecurityUtil.getLearningDesigns(ctx, ctx.getCourse().getCourseId(), null);
+ request.setAttribute("learningDesigns", learningDesigns);
+
+ request.getRequestDispatcher("/modules/create.jsp").forward(request, response);
+ }
+
+ /**
+ * Starts preview lesson on LAMS server. Launches it.
+ */
+ private void start(HttpServletRequest request, HttpServletResponse response, Context ctx) throws IOException, ServletException, PersistenceException, ParseException, ValidationException, ParserConfigurationException, SAXException {
+
+ BbPersistenceManager bbPm = PersistenceServiceFactory.getInstance().getDbPersistenceManager();
+
+ //store newly created LAMS lesson
+ User user = ctx.getUser();
+ BlackboardUtil.storeBlackboardContent(request, response, user);
+
+ // constuct strReturnUrl
+ String courseIdStr = request.getParameter("course_id");
+ String contentIdStr = request.getParameter("content_id");
+ // internal Blackboard IDs for the course and parent content item
+ Id courseId = bbPm.generateId(Course.DATA_TYPE, courseIdStr);
+ Id folderId = bbPm.generateId(CourseDocument.DATA_TYPE, contentIdStr);
+ String returnUrl = PlugInUtil.getEditableContentReturnURL(folderId, courseId);
+ request.setAttribute("returnUrl", returnUrl);
+
+ request.getRequestDispatcher("/modules/startLessonSuccess.jsp").forward(request, response);
+ }
+
+ private void configureLessonModification(HttpServletRequest request, HttpServletResponse response, Context ctx)
+ throws InitializationException, BbServiceException, PersistenceException, IOException, ServletException {
+
+ // retrive the LAMS lesson
+ BbPersistenceManager bbPm = PersistenceServiceFactory.getInstance().getDbPersistenceManager();
+ Container bbContainer = bbPm.getContainer();
+ Id contentId = new PkId(bbContainer, CourseDocument.DATA_TYPE, request.getParameter("content_id"));
+ ContentDbLoader courseDocumentLoader = (ContentDbLoader) bbPm.getLoader(ContentDbLoader.TYPE);
+ Content bbContent = (Content) courseDocumentLoader.loadById(contentId);
+
+ // get LAMS lessons's properties
+ Calendar startDate = bbContent.getStartDate();
+ Calendar endDate = bbContent.getEndDate();
+ FormattedText description = bbContent.getBody();
+
+ request.setAttribute("bbContent", bbContent);
+ request.setAttribute("startDate", startDate);
+ request.setAttribute("endDate", endDate);
+ request.setAttribute("description", description);
+
+ request.getRequestDispatcher("/modules/modify.jsp").forward(request, response);
+ }
+
+ private void modify(HttpServletRequest request, HttpServletResponse response, Context ctx)
+ throws InitializationException, BbServiceException, PersistenceException, IOException, ValidationException,
+ ServletException, ParserConfigurationException, SAXException, ParseException {
+
+ String courseIdStr = request.getParameter("course_id");
+ String contentIdStr = request.getParameter("content_id");
+
+ // Retrieve the Db persistence manager from the persistence service
+ BbPersistenceManager bbPm = PersistenceServiceFactory.getInstance().getDbPersistenceManager();
+ Container bbContainer = bbPm.getContainer();
+
+ // Internal Blackboard IDs for the course and parent content item
+ Id courseId = bbPm.generateId(Course.DATA_TYPE, courseIdStr);
+ Id contentId = new PkId( bbContainer, CourseDocument.DATA_TYPE, contentIdStr);
+
+ // Load the content item
+ ContentDbLoader courseDocumentLoader = (ContentDbLoader) bbPm.getLoader( ContentDbLoader.TYPE );
+ Content bbContent = (Content)courseDocumentLoader.loadById( contentId );
+
+ // Get the form parameters and convert into correct data types
+ // TODO: Use bb text area instead
+ String strTitle = request.getParameter("title").trim();
+ String strDescription = request.getParameter("descriptiontext").trim();
+ FormattedText description = new FormattedText(strDescription, FormattedText.Type.HTML);
+
+ String strIsAvailable = request.getParameter("isAvailable");
+ String strIsGradecenter = request.getParameter("isGradecenter");
+ String strIsTracked = request.getParameter("isTracked");
+ boolean isAvailable = strIsAvailable.equals("true")?true:false;
+ boolean isGradecenter = strIsGradecenter.equals("true")?true:false;
+ boolean isTracked = strIsTracked.equals("true")?true:false;
+
+ String strStartDate = request.getParameter("lessonAvailability_start_datetime");
+ String strEndDate = request.getParameter("lessonAvailability_end_datetime");
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Calendar startDate = Calendar.getInstance();
+ Calendar endDate = Calendar.getInstance();
+ startDate.setTime(formatter.parse(strStartDate));
+ endDate.setTime(formatter.parse(strEndDate));
+
+ String strStartDateCheckbox = request.getParameter("lessonAvailability_start_checkbox");
+ String strEndDateCheckbox = request.getParameter("lessonAvailability_end_checkbox");
+
+ //if teacher turned Gradecenter option ON (and it was OFF previously) - create lineitem
+ if (!bbContent.getIsDescribed() && isGradecenter) {
+
+ String username = ctx.getUser().getUserName();
+ LineitemUtil.createLineitem(bbContent, username);
+
+ //if teacher turned Gradecenter option OFF (and it was ON previously) - remove lineitem
+ } else if (bbContent.getIsDescribed() && !isGradecenter) {
+ LineitemUtil.removeLineitem(contentIdStr, courseIdStr);
+
+ //change existing lineitem's name if lesson name has been changed
+ } else if (isGradecenter && !strTitle.equals(bbContent.getTitle())) {
+ LineitemUtil.changeLineitemName(contentIdStr, courseIdStr, strTitle);
+ }
+
+ // Set LAMS content data in Blackboard
+ bbContent.setTitle(strTitle);
+ bbContent.setIsAvailable(isAvailable);
+ bbContent.setIsDescribed(isGradecenter);//isDescribed field is used for storing isGradecenter parameter
+ bbContent.setIsTracked(isTracked);
+ bbContent.setBody(description);
+
+ // Set Availability Dates
+ // Clear the date (set to null) if the checkbox is unchecked
+ // Start Date
+ if (strStartDateCheckbox != null){
+ if (strStartDateCheckbox.equals("1")){
+ bbContent.setStartDate(startDate);
+ } else {
+ bbContent.setStartDate(null);
+ }
+ } else {
+ bbContent.setStartDate(null);
+ }
+ // End Date
+ if (strEndDateCheckbox != null){
+ if (strEndDateCheckbox.equals("1")){
+ bbContent.setEndDate(endDate);
+ } else {
+ bbContent.setEndDate(null);
+ }
+ } else {
+ bbContent.setEndDate(null);
+ }
+
+ //Persist the Modified Lesson Object in Blackboard
+ ContentDbPersister persister= (ContentDbPersister) bbPm.getPersister( ContentDbPersister.TYPE );
+ persister.persist( bbContent );
+
+ String strReturnUrl = PlugInUtil.getEditableContentReturnURL(bbContent.getParentId(), courseId);
+ request.setAttribute("strReturnUrl", strReturnUrl);
+
+ request.getRequestDispatcher("/modules/modifyLessonSuccess.jsp").forward(request, response);
+ }
+
+}
Fisheye: Tag 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1 refers to a dead (removed) revision in file `lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/StartLessonServlet.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_bb_integration/web/modules/create.jsp
===================================================================
diff -u -rdcd309de058219ef41f76000936b9136eedb0d70 -r615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1
--- lams_bb_integration/web/modules/create.jsp (.../create.jsp) (revision dcd309de058219ef41f76000936b9136eedb0d70)
+++ lams_bb_integration/web/modules/create.jsp (.../create.jsp) (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -1,17 +1,14 @@
-
+<%@ page contentType="text/html; charset=utf-8" language="java"%>
+<%@ page isELIgnored="false" %>
+
+
<%--
- Original Version: 2007 LAMS Foundation
- Updated for Blackboard 9.1 SP6 (including new bbNG tag library) 2011
- Richard Stals (www.stals.com.au)
- Edith Cowan University, Western Australia
---%>
-<%--
Step 1 For Creating a New LAMS Lesson
Allows the user to (optionally) author a new LAMS lesson
Then the user must select a LAMS lesson before proceeding to Step 2.
Step 1 - create.jsp
- Step 2 - /StartLessonServlet (StartLessonServlet.java)
+ Step 2 - /LessonManager?method=start
--%>
<%@ page import="blackboard.platform.plugin.PlugInUtil"%>
<%@ page import="blackboard.platform.plugin.PlugInException"%>
@@ -28,29 +25,14 @@
-<%
- // Authorise current user for Course Control Panel (automatic redirect)
- try{
- if (!PlugInUtil.authorizeForCourseControlPanel(request, response))
- return;
- } catch(PlugInException e) {
- throw new RuntimeException(e);
- }
-
- String lamsServerUrl = LamsSecurityUtil.getServerAddress();
-
- // get all user accessible folders and LD descriptions as JSON
- String learningDesigns = LamsSecurityUtil.getLearningDesigns(ctx, ctx.getCourse().getCourseId(), null);
-%>
-
-
Index: lams_bb_integration/web/modules/modifyLessonSuccess.jsp
===================================================================
diff -u
--- lams_bb_integration/web/modules/modifyLessonSuccess.jsp (revision 0)
+++ lams_bb_integration/web/modules/modifyLessonSuccess.jsp (revision 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1)
@@ -0,0 +1,34 @@
+<%@ page contentType="text/html; charset=utf-8" language="java"%>
+<%@ page isELIgnored="false" %>
+
+
+<%--
+ Step 2 For Modifing an existing LAMS Lesson
+ Process the data and persist to Blackboard
+
+ Step 1 - modify.jsp
+ Step 2 - modify_proc.jsp
+--%>
+<%@ page errorPage="/error.jsp"%>
+<%@ taglib uri="/bbNG" prefix="bbNG"%>
+
+
+ <%-- Breadcrumbs --%>
+
+
+
+
+ <%-- Page Header --%>
+
+
+
+
+ <%-- Receipt --%>
+
+ Content successfully modified.
+
+
+
\ No newline at end of file
Fisheye: Tag 615a2ef7e23ebd72fd36a62324e12a82fe2e1ac1 refers to a dead (removed) revision in file `lams_bb_integration/web/modules/modify_proc.jsp'.
Fisheye: No comparison available. Pass `N' to diff?