Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/ActivityPortfolio.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/export/ActivityPortfolio.java,v diff -u -r1.2 -r1.3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/ActivityPortfolio.java 17 Sep 2006 06:17:57 -0000 1.2 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/ActivityPortfolio.java 17 Jul 2007 05:36:29 -0000 1.3 @@ -40,6 +40,7 @@ private List childPortfolios; /* The link to the tool page from the main export page */ private String toolLink; + private boolean headingNoPage; /** * @return Returns the toolLink. @@ -62,6 +63,7 @@ this.exportUrl = null; this.toolLink = null; this.childPortfolios = null; + this.headingNoPage = false; } @@ -124,6 +126,17 @@ public void setChildPortfolios(List childPortfolios) { this.childPortfolios = childPortfolios; } + /** Generate just a heading for this portfolio, don't try to link to a page. This is + * used for Parallel and Sequence activities in both learner and teacher modes, + * and for Branching in learner mode. + * @return + */ + public boolean isHeadingNoPage() { + return headingNoPage; + } + public void setHeadingNoPage(boolean headingNoPage) { + this.headingNoPage = headingNoPage; + } } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java,v diff -u -r1.30 -r1.31 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java 17 Jul 2007 01:31:41 -0000 1.30 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java 17 Jul 2007 05:36:29 -0000 1.31 @@ -338,7 +338,7 @@ String relativePath = activitySubDirectory.substring(FileUtil.TEMP_DIR.length()+1, activitySubDirectory.length()); // Some activities (parallel, optional, sequence) don't have export urls. - if ( activityPortfolio.getExportUrl() != null ) { + if ( ! activityPortfolio.isHeadingNoPage() ) { activityPortfolio.setExportUrl( ExportPortfolioConstants.HOST + activityPortfolio.getExportUrl() ); activityPortfolio.setExportUrl( WebUtil.appendParameterToURL(activityPortfolio.getExportUrl(), AttributeNames.PARAM_DIRECTORY_NAME, relativePath) ); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java,v diff -u -r1.8 -r1.9 --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java 17 Jul 2007 01:31:41 -0000 1.8 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/PortfolioBuilder.java 17 Jul 2007 05:36:29 -0000 1.9 @@ -127,6 +127,11 @@ String exportURL = getExportURLForSystemTool(activity); complexPortfolio = complexPortfolio == null ? createActivityPortfolio(activity) : complexPortfolio; complexPortfolio.setExportUrl(exportURL); + // if there isn't a url, we assume we just want a heading + complexPortfolio.setHeadingNoPage(exportURL == null); + } else { + // sequence, parallel, etc + complexPortfolio.setHeadingNoPage(true); } currentPortfolioList = (ArrayList) activityListStack.pop(); @@ -147,12 +152,12 @@ return; } - ActivityPortfolio p = createActivityPortfolio(activity); String exportUrlForTool = null; if ( activity.isToolActivity() ) { - /* if the tool does not have an export url, use the url that points to the servlet that generates a page saying that the export is not supported */ + // if the tool does not have an export url, then the processor will include an "not supported" error page + ToolActivity toolActivity = (ToolActivity) activity; Tool tool = toolActivity.getTool(); if (accessMode == ToolAccessMode.LEARNER) @@ -179,15 +184,22 @@ exportUrlForTool = WebUtil.appendParameterToURL(exportUrlForTool, AttributeNames.PARAM_TOOL_CONTENT_ID, toolActivity.getToolContentId().toString()); } } + + ActivityPortfolio p = createActivityPortfolio(activity); + p.setExportUrl(exportUrlForTool); + currentPortfolioList.add(p); } else if ( activity.isSystemToolActivity() ) { + exportUrlForTool = getExportURLForSystemTool(activity); + if ( exportUrlForTool != null ) { + ActivityPortfolio p = createActivityPortfolio(activity); + p.setExportUrl(exportUrlForTool); + currentPortfolioList.add(p); + } } + - p.setExportUrl(exportUrlForTool); - - currentPortfolioList.add(p); - } /**