Index: lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java =================================================================== diff -u -rc7ac3a070c6c8bc41ded5abe307df2e05b2c39d7 -rb29fcc0fc241926bdbf411c89c0e1a6e16c559fe --- lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java (.../LamsSecurityUtil.java) (revision c7ac3a070c6c8bc41ded5abe307df2e05b2c39d7) +++ lams_bb_integration/src/org/lamsfoundation/ld/integration/blackboard/LamsSecurityUtil.java (.../LamsSecurityUtil.java) (revision b29fcc0fc241926bdbf411c89c0e1a6e16c559fe) @@ -291,10 +291,13 @@ Document document = db.parse(is); // get the lesson id from the response - return Long.parseLong(document.getElementsByTagName("Lesson").item(0).getAttributes().getNamedItem("lessonId").getTextContent()); - - + /* + * The getTextContext is not a java 1.4 method, so Blackboard 7.1 comes up with errors + * using getNodeValue() instead + */ + //return Long.parseLong(document.getElementsByTagName("Lesson").item(0).getAttributes().getNamedItem("lessonId").getTextContent()); + return Long.parseLong(document.getElementsByTagName("Lesson").item(0).getAttributes().getNamedItem("lessonId").getNodeValue()); } catch (MalformedURLException e) { logger.error("Unable to start LAMS lesson, bad URL: '" + serverAddr @@ -374,11 +377,12 @@ if (node.getNodeName().equals(Constants.ELEM_FOLDER)) { sb.append("['"); - sb.append( - node.getAttributes().getNamedItem( - Constants.ATTR_NAME).getNodeValue()).append( - "',").append("null").append(','); - + + StringBuilder attribute= new StringBuilder(node.getAttributes().getNamedItem( + Constants.ATTR_NAME).getNodeValue().replace("'", "\\'")); + + sb.append(attribute.append("',").append("null").append(',')); + NodeList children = node.getChildNodes(); if (children.getLength() == 0) { sb.append("['',null]"); @@ -393,13 +397,19 @@ } else if (node.getNodeName().equals( Constants.ELEM_LEARNING_DESIGN)) { sb.append('['); - sb.append('\'').append( - node.getAttributes().getNamedItem( - Constants.ATTR_NAME).getNodeValue()).append( - '\'').append(',').append('\'').append( - node.getAttributes().getNamedItem( - Constants.ATTR_RESOURCE_ID).getNodeValue()) - .append('\''); + + StringBuilder attrName = new StringBuilder(node.getAttributes().getNamedItem( + Constants.ATTR_NAME).getNodeValue().replace("'", "\\'")); + StringBuilder attrResId = new StringBuilder(node.getAttributes().getNamedItem( + Constants.ATTR_RESOURCE_ID).getNodeValue().replace("'", "\\'")); + + sb.append('\'') + .append(attrName + .append('\'') + .append(',') + .append('\'') + .append(attrResId.append('\''))); + sb.append(']'); } return sb.toString(); Index: lams_bb_integration/web/modules/learnermonitor.jsp =================================================================== diff -u -r3e68e8512e6cbb370750299b1f60dc56c41ec8a7 -rb29fcc0fc241926bdbf411c89c0e1a6e16c559fe --- lams_bb_integration/web/modules/learnermonitor.jsp (.../learnermonitor.jsp) (revision 3e68e8512e6cbb370750299b1f60dc56c41ec8a7) +++ lams_bb_integration/web/modules/learnermonitor.jsp (.../learnermonitor.jsp) (revision b29fcc0fc241926bdbf411c89c0e1a6e16c559fe) @@ -24,7 +24,9 @@ String lsid = request.getParameter("lsid"); String learnerUrl = LamsSecurityUtil.generateRequestURL(ctx, "learner") + "&lsid=" + lsid; String monitorUrl = LamsSecurityUtil.generateRequestURL(ctx, "monitor") + "&lsid=" + lsid; + String liveEditUrl = LamsSecurityUtil.generateRequestURL(ctx, "author"); + String course_idstr = request.getParameter("course_id"); BbPersistenceManager bbPm = BbServiceManager.getPersistenceService().getDbPersistenceManager(); @@ -77,6 +79,7 @@