Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java =================================================================== diff -u -r2579fb9a7e2c8581699bca77eb894f25e06eb249 -r8373eb78b0931c5c0a21634563b759cab8299e7e --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java (.../ExportPortfolioConstants.java) (revision 2579fb9a7e2c8581699bca77eb894f25e06eb249) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/ExportPortfolioConstants.java (.../ExportPortfolioConstants.java) (revision 8373eb78b0931c5c0a21634563b759cab8299e7e) @@ -26,7 +26,6 @@ import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; -import org.lamsfoundation.lams.util.FileUtil; /** * @author mtruong @@ -41,7 +40,8 @@ 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 EXPORT_LEARNER_PREFIX = "Portfolio"; + public static final String EXPORT_TEACHER_PREFIX = "Class Portfolio"; 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"; Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/ExportDownloadServlet.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r8373eb78b0931c5c0a21634563b759cab8299e7e --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/ExportDownloadServlet.java (.../ExportDownloadServlet.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/ExportDownloadServlet.java (.../ExportDownloadServlet.java) (revision 8373eb78b0931c5c0a21634563b759cab8299e7e) @@ -64,7 +64,7 @@ /* Extract taken from org.lamsfoundation.lams.contentrepository.client.Download servlet */ response.setContentType("application/zip"); - response.setHeader("Content-Disposition","attachment;filename=" + ExportPortfolioConstants.ZIP_FILENAME); + response.setHeader("Content-Disposition","attachment;filename=" + getFilename(zipFilename)); InputStream in = new BufferedInputStream(new FileInputStream(new File(constructAbsolutePath(zipFilename)))); OutputStream out = response.getOutputStream(); @@ -101,4 +101,14 @@ return FileUtil.TEMP_DIR + File.separator + relativePath; } + private String getFilename(String path) + { + int index = path.lastIndexOf(File.separator); + if (index > 0) { + return path.substring(index+1); + } else { + return path; + } + } + } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java =================================================================== diff -u -r8bd9b88a431c50cf5b0f64a8e48a9d2ccc748fda -r8373eb78b0931c5c0a21634563b759cab8299e7e --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java (.../MainExportServlet.java) (revision 8bd9b88a431c50cf5b0f64a8e48a9d2ccc748fda) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/web/action/MainExportServlet.java (.../MainExportServlet.java) (revision 8373eb78b0931c5c0a21634563b759cab8299e7e) @@ -98,6 +98,7 @@ Long lessonID = null; String role = null; ToolAccessMode accessMode = null; + String exportFilename = ""; /** Get the cookies that were sent along with this request, then pass it onto export service */ Cookie[] cookies = request.getCookies(); @@ -116,12 +117,14 @@ } portfolios = exportService.exportPortfolioForStudent(userId, lessonID, true, accessMode, cookies); + exportFilename = ExportPortfolioConstants.EXPORT_LEARNER_PREFIX + " " + portfolios.getLessonName() + ".zip"; } else if(mode.equals(ToolAccessMode.TEACHER.toString())) { //done in the monitoring environment lessonID = new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_LESSON_ID)); portfolios = exportService.exportPortfolioForTeacher(lessonID, cookies); + exportFilename = ExportPortfolioConstants.EXPORT_TEACHER_PREFIX + " " + portfolios.getLessonName() + ".zip"; } if (portfolios!= null) @@ -141,8 +144,7 @@ bundler.bundleStylesheet(); // zip up the contents of the temp export folder - String zipFilename = exportService.zipPortfolio(ExportPortfolioConstants.ZIP_FILENAME, exportTmpDir); - + String zipFilename = exportService.zipPortfolio(exportFilename, exportTmpDir); /* -- Used for testing timeout change the export url in exportWaitingPage to -- String exportUrl = learning_root + "portfolioExport?" + request.getQueryString()+"&sleep=1800000"; -- to pause for 30 mins.