Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r303b0ea001edc09db33d3acf55a7d5be0295c257 -r2579fb9a7e2c8581699bca77eb894f25e06eb249 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java (.../StoreNBEntryServlet.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java (.../StoreNBEntryServlet.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -24,6 +24,7 @@ package org.lamsfoundation.lams.notebook.web; import java.util.Hashtable; +import java.util.Date; import javax.servlet.http.HttpServletRequest; @@ -89,6 +90,12 @@ notebookEntry.setEntry(WDDXProcessor.convertToString(table, WDDXTAGS.ENTRY)); } + // set date fields + Date createDate = new Date(); + notebookEntry.setCreateDate(createDate); + notebookEntry.setLastModified(createDate); + + notebookService.saveOrUpdateNotebookEntry(notebookEntry); } catch ( Exception e ) { Index: lams_learning/conf/language/ApplicationResources.properties =================================================================== diff -u -rf65ab959f38a2c569a3b9afd4f6491eac5c50a73 -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision f65ab959f38a2c569a3b9afd4f6491eac5c50a73) +++ lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -49,6 +49,10 @@ export.portfolio.window.title =Generating portfolio - please wait. export.portfolio.generating.message =Portfolio generated. Your browser should be downloading the file now. When the file is saved please close this window. export.portfolio.generation.complete.message =Export Portfolio +export.portfolio.notebook.title = {0} - Notebook +export.portfolio.notebook.link.label = View Notebook +export.portfolio.notebook.created.label = created: {0} +export.portfolio.notebook.modified.label = last modified: {0} #======= End labels: Exported 42 labels for en AU ===== Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java (.../ExportPortfolioConstants.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java (.../ExportPortfolioConstants.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -40,9 +40,11 @@ public static final String DIR_SUFFIX_EXPORT = "export"; //will appear as the name of the tmp directory created. For eg. lamstmp_1129615396387_export public static final String DIR_SUFFIX_ZIP = "exportZipFile"; //suffix for the tmp directory. For eg. lamstmp_1129615396387_exportZipFile public static final String MAIN_EXPORT_FILENAME = "export_main.html"; + public static final String MAIN_NOTEBOOK_FILENAME = "notebook_main.html"; public static final String ZIP_FILENAME = "export.zip"; public static final String HOST = getServerURL(); public static final String SUBDIRECTORY_BASENAME = "Activity"; //subdirectory for each activity is ActivityXX where XX is the activity Id + public static final String SUBDIRECTORY_NOTEBOOK_BASENAME = "Notebook"; public static final String PARAM_FILE_LOCATION = "fileLocation"; public static final String URL_FOR_UNSUPPORTED_EXPORT = "learning/exportPortfolio/notSupported.jsp"; public static final String EXPORT_ERROR_FILENAME = "export_error.html"; Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/NotebookPortfolio.java =================================================================== diff -u --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/NotebookPortfolio.java (revision 0) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/NotebookPortfolio.java (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -0,0 +1,102 @@ +/**************************************************************** + * 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.learning.export; + +import java.util.Date; + +/** + * Models the portfolio for any type of notebook entry + * @author mseaton + * + */ +public class NotebookPortfolio { + + private String entry; + private String title; + private Date created; + private Date modified; + + public NotebookPortfolio() + { + this.entry = null; + this.title = null; + this.created = null; + this.modified = null; + } + + /** + * @return Returns the entry. + */ + public String getEntry() { + return entry; + } + /** + * @param entry The entry name to set. + */ + public void setEntry(String entry) { + this.entry = entry; + } + + /** + * @return Returns the title. + */ + public String getTitle() { + return title; + } + /** + * @param title The title to set. + */ + public void setTitle(String title) { + this.title = title; + } + /** + * + * @return Returns the date/time the entry was created. + */ + public Date getCreated() { + return created; + } + /** + * + * @param created The date/time to set + */ + public void setCreated(Date created) { + this.created = created; + } + /** + * + * @return Returns the date/time the entry was last modified. + */ + public Date getModified() { + return modified; + } + /** + * + * @param modified The date/time to set + */ + public void setModified(Date modified) { + this.modified = modified; + } +} Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/Portfolio.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/Portfolio.java (.../Portfolio.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/Portfolio.java (.../Portfolio.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -38,16 +38,21 @@ private String lessonName; private String lessonDescription; private ActivityPortfolio[] activityPortfolios; + private NotebookPortfolio[] notebookPortfolios; private String learnerName; private Date lessonStartDate; private Date portfolioCreatedDate; + private String notebookLink; + private String notebookDir; public Portfolio(String exportID) { this.exportTmpDir = null; this.activityPortfolios = null; this.exportID = exportID; this.portfolioCreatedDate = new Date(); + this.notebookLink = null; + this.notebookDir = null; } /** @@ -62,6 +67,12 @@ public void setExportTmpDir(String exportTmpDir) { this.exportTmpDir = exportTmpDir; } + public String getNotebookDir() { + return notebookDir; + } + public void setNotebookDir(String notebookDir) { + this.notebookDir = notebookDir; + } /** * @return Returns the toolPortfolios. */ @@ -74,7 +85,15 @@ public void setActivityPortfolios(ActivityPortfolio[] activityPortfolios) { this.activityPortfolios = activityPortfolios; } - + + public NotebookPortfolio[] getNotebookPortfolios() { + return notebookPortfolios; + } + + public void setNotebookPortfolios(NotebookPortfolio[] notebookPortfolios) { + this.notebookPortfolios = notebookPortfolios; + } + public String getLessonName() { return lessonName; } @@ -123,4 +142,12 @@ public void setPortfolioCreatedDate(Date portfolioCreatedDate) { this.portfolioCreatedDate = portfolioCreatedDate; } + + public String getNotebookLink() { + return notebookLink; + } + + public void setNotebookLink(String notebookLink) { + this.notebookLink = notebookLink; + } } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -41,6 +41,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.learning.export.ActivityPortfolio; +import org.lamsfoundation.lams.learning.export.NotebookPortfolio; import org.lamsfoundation.lams.learning.export.ExportPortfolioConstants; import org.lamsfoundation.lams.learning.export.ExportPortfolioException; import org.lamsfoundation.lams.learning.export.Portfolio; @@ -49,6 +50,7 @@ import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; +import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; @@ -80,6 +82,7 @@ private static Logger log = Logger.getLogger(ExportPortfolioService.class); private ILamsCoreToolService lamsCoreToolService; + private ICoreNotebookService coreNotebookService; private IActivityDAO activityDAO; private ICoreLearnerService learnerService; private IBaseDAO baseDAO; @@ -95,6 +98,13 @@ } /** + * @param learnerService The learnerService to set. + */ + public void setCoreNotebookService(ICoreNotebookService coreNotebookService) { + this.coreNotebookService = coreNotebookService; + } + + /** * @param activityDAO The activityDAO to set. */ public void setActivityDAO(IActivityDAO activityDAO) { @@ -135,11 +145,11 @@ { try { - PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.TEACHER, lesson, null, null); + PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, coreNotebookService, ToolAccessMode.TEACHER, lesson, null, null); builder.parseLearningDesign(); portfolios = builder.getPortfolioList(); - exports = doExport(portfolios, cookies,lesson); + exports = doExport(portfolios, null, cookies,lesson); } catch (LamsToolServiceException e) @@ -171,6 +181,7 @@ public Portfolio exportPortfolioForStudent(Integer userId, Long lessonID, boolean anonymity, Cookie[] cookies) { ArrayList portfolios = null; + ArrayList notes = null; Portfolio exports = null; User learner = (User)baseDAO.find(User.class,userId); @@ -185,12 +196,16 @@ try { - PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, ToolAccessMode.LEARNER, lesson, learnerProgress, learner); + PortfolioBuilder builder = new PortfolioBuilder(lesson.getLearningDesign(), activityDAO, lamsCoreToolService, coreNotebookService, ToolAccessMode.LEARNER, lesson, learnerProgress, learner); + builder.parseLearningDesign(); + builder.processNotebook(); + portfolios = builder.getPortfolioList(); + notes = builder.getNotebookList(); if ( portfolios.size() >= 0 ) { - exports = doExport(portfolios, cookies,lesson); + exports = doExport(portfolios, notes, cookies,lesson); exports.setLearnerName(learner.getFirstName()+" "+learner.getLastName()+" ("+learner.getLogin()+")"); } else { log.error("The learner has not completed or attempted any activities"); @@ -201,6 +216,7 @@ { log.error("An exception has occurred while generating portfolios.",e); } + } else { @@ -257,7 +273,7 @@ } /** @see org.lamsfoundation.lams.learning.export.service.IExportPortfolioService#doExport(Vector, Cookie[]) */ - public Portfolio doExport(ArrayList portfolios, Cookie[] cookies, Lesson lesson) + public Portfolio doExport(ArrayList portfolios, ArrayList notes, Cookie[] cookies, Lesson lesson) { String tempDirectoryName; @@ -274,6 +290,11 @@ processPortfolios(portfolios, cookies, tempDirectoryName); portfolio.setActivityPortfolios((ActivityPortfolio[])portfolios.toArray(new ActivityPortfolio[portfolios.size()])); + + processNotes(notes, tempDirectoryName, portfolio); + portfolio.setNotebookPortfolios((NotebookPortfolio[])notes.toArray(new NotebookPortfolio[notes.size()])); + + return portfolio; @@ -321,6 +342,38 @@ } + private void processNotes(List portfolios, String tempDirectoryName, Portfolio portfolio) { + // create a subdirectory with the name Notebook + String subDirectoryName = ExportPortfolioConstants.SUBDIRECTORY_NOTEBOOK_BASENAME; + + if(!createSubDirectory(tempDirectoryName, subDirectoryName)) + { + throw new ExportPortfolioException("The subdirectory " + subDirectoryName + " could not be created."); + } else { + File dir = new File(tempDirectoryName, subDirectoryName); + portfolio.setNotebookDir(dir.getAbsolutePath()); + } + + if(portfolios.size() > 0) { + + Iterator i = portfolios.iterator(); + + //iterate through the list of portfolios + while(i.hasNext()) + { + NotebookPortfolio notebookPortfolio = (NotebookPortfolio)i.next(); + + } + + String mainFileName = ExportPortfolioConstants.MAIN_NOTEBOOK_FILENAME; + + //notebookLink is used in main page, so that it can link with the tools export pages. + String notebookLink = subDirectoryName + "/" + mainFileName; + portfolio.setNotebookLink(notebookLink); + + } + } + /** * Helper method which calls the FileUtil to create a subdirectory. This method might not be needed, * can be used why calling the FileUtil directly. @@ -431,6 +484,33 @@ } } + /** Generate the main page, given this portfolio */ + public void generateNotebookPage(HttpServletRequest request, Portfolio portfolio, Cookie[] cookies) { + + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); + String url = basePath + "/exportPortfolio/notebook.jsp"; + + String filename = ExportPortfolioConstants.MAIN_NOTEBOOK_FILENAME; + try + { + request.getSession().setAttribute("portfolio", portfolio); + HttpUrlConnectionUtil.writeResponseToFile(url, portfolio.getNotebookDir(), filename, cookies); + request.getSession().removeAttribute("portfolio"); + } + catch(MalformedURLException e) + { + log.error("The URL given is invalid. Exception Message was: " +e); + } + catch(FileNotFoundException e) + { + log.error("The directory or file may not exist. Exception Message was: " +e); + } + catch(IOException e) + { + log.error("A problem has occurred while writing the contents of " + url + " to file. Exception Message was: " +e); + } + } + private void writeErrorMessageToFile(String directoryToStoreFile, String activityTitle) { try Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/IExportPortfolioService.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/IExportPortfolioService.java (.../IExportPortfolioService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/IExportPortfolioService.java (.../IExportPortfolioService.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -103,6 +103,8 @@ /** Generate the main page, given this portfolio */ public void generateMainPage(HttpServletRequest request, Portfolio portfolio, Cookie[] cookies); + /** Generate the main notebook page, given this portfolio */ + public void generateNotebookPage(HttpServletRequest request, Portfolio portfolio, Cookie[] cookies); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java (.../PortfolioBuilder.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java (.../PortfolioBuilder.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -24,11 +24,14 @@ package org.lamsfoundation.lams.learning.export.service; +import java.util.List; import java.util.ArrayList; +import java.util.Iterator; import org.apache.commons.collections.ArrayStack; import org.apache.log4j.Logger; import org.lamsfoundation.lams.learning.export.ActivityPortfolio; +import org.lamsfoundation.lams.learning.export.NotebookPortfolio; import org.lamsfoundation.lams.learning.export.ExportPortfolioConstants; import org.lamsfoundation.lams.learning.export.ExportPortfolioException; import org.lamsfoundation.lams.learningdesign.Activity; @@ -47,6 +50,8 @@ import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; +import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -56,10 +61,13 @@ private static Logger log = Logger.getLogger(PortfolioBuilder.class); ArrayList mainPortfolioList; + ArrayList mainNotebookList; ArrayStack activityListStack; ArrayList currentPortfolioList; + ArrayList currentNotebookList; ToolAccessMode accessMode; ILamsCoreToolService lamsCoreToolService; + ICoreNotebookService coreNotebookService; User user; LearnerProgress progress; Lesson lesson; @@ -81,14 +89,17 @@ * @param user */ public PortfolioBuilder(LearningDesign design, IActivityDAO activityDAO, - ILamsCoreToolService lamsCoreToolService, ToolAccessMode accessMode, + ILamsCoreToolService lamsCoreToolService, ICoreNotebookService coreNotebookService, ToolAccessMode accessMode, Lesson lesson, LearnerProgress progress, User user) { super(design, activityDAO); this.mainPortfolioList = new ArrayList(); + this.mainNotebookList = new ArrayList(); this.currentPortfolioList = mainPortfolioList; + this.currentNotebookList = mainNotebookList; this.activityListStack = new ArrayStack(5); this.accessMode = accessMode; this.lamsCoreToolService = lamsCoreToolService; + this.coreNotebookService = coreNotebookService; this.user = user; this.lesson = lesson; @@ -203,6 +214,20 @@ currentPortfolioList.add(p); } + + /** + * Process all Notebook (Scratchpad) entries into portfolio objects. + */ + public void processNotebook() { + + List entries = coreNotebookService.getEntry(new Long(1),new Integer(1),"SCRATCHPAD", user.getUserId()); + Iterator it = entries.iterator(); + while(it.hasNext()) { + NotebookEntry entry = (NotebookEntry) it.next(); + NotebookPortfolio portfolio = createNotebookPortfolio(entry); + currentNotebookList.add(portfolio); + } + } /** * Obtains the Tool from the ToolActivity and creates a portfolio object with properties activityId, activityName, @@ -226,10 +251,40 @@ p.setActivityDescription(activity.getDescription()); return p; } + + /** + * Creates a portfolio object with properties title and entry from the NotebookEntry. + * @param entry The Notebook Entry + * @return a Portfolio object + */ + protected NotebookPortfolio createNotebookPortfolio(NotebookEntry entry) + { + if (entry == null) + { + String error="Cannot create portfolio for this notebook entry as the entry is null."; + log.error(error); + throw new ExportPortfolioException(error); + } + + NotebookPortfolio p = new NotebookPortfolio(); + p.setEntry(entry.getEntry()); + p.setTitle(entry.getTitle()); + p.setCreated(entry.getCreateDate()); + p.setModified(entry.getLastModified()); + return p; + } /** Get the list of all the activity portfolios, which in turn may contain other activity portfolios */ public ArrayList getPortfolioList() { return mainPortfolioList; } + /** + * Get the list of notebook entries + * @return + */ + public ArrayList getNotebookList() { + return mainNotebookList; + } + } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java (.../MainExportServlet.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java (.../MainExportServlet.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -125,6 +125,10 @@ exportService.generateMainPage(request, portfolios, cookies); + if(portfolios.getNotebookPortfolios().length > 0) { + exportService.generateNotebookPage(request, portfolios, cookies); + } + //bundle the stylesheet with the package CSSBundler bundler = new CSSBundler(request, cookies, exportTmpDir); bundler.bundleStylesheet(); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml =================================================================== diff -u -rf0bf73ab180670fb0051e6550d604e99ddab7520 -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision f0bf73ab180670fb0051e6550d604e99ddab7520) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -59,6 +59,7 @@ + Index: lams_learning/web/exportPortfolio/main.jsp =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r2579fb9a7e2c8581699bca77eb894f25e06eb249 --- lams_learning/web/exportPortfolio/main.jsp (.../main.jsp) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/web/exportPortfolio/main.jsp (.../main.jsp) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -72,6 +72,14 @@

+ +

+ + + +

+
+

@@ -88,7 +96,7 @@ - + Index: lams_learning/web/exportPortfolio/notebook.jsp =================================================================== diff -u --- lams_learning/web/exportPortfolio/notebook.jsp (revision 0) +++ lams_learning/web/exportPortfolio/notebook.jsp (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) @@ -0,0 +1,81 @@ +<%-- +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 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 +--%> + +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> + +<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + + + + + + + + + + + + + + <c:out value="${pageTitle}"/> + + + + + + + +
+

+ +

+
+
+
+ +

 

+ +
+ +

+ +
+ + +
+ + +

+

+
+
+
+ +
+ +
+ + + +
\ No newline at end of file