Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java =================================================================== diff -u -r0e7d403e91b0916fd3842d8d3098b1c466d28ece -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision 0e7d403e91b0916fd3842d8d3098b1c466d28ece) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/client/Download.java (.../Download.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -163,7 +163,7 @@ // update versionId in case it was null and we got the latest version... version = node.getVersion(); - if (node.isNodeType(NodeType.PACKAGENODE)) { + if (!saveFile && node.isNodeType(NodeType.PACKAGENODE)) { // now get the path of the initial page in the package IValue value = node.getProperty(PropertyName.INITIALPATH); @@ -182,7 +182,7 @@ Download.log.debug("Attempting to redirect to initial page " + initialPage); response.sendRedirect(initialPage); - } else if (node.isNodeType(NodeType.FILENODE)) { + } else if (saveFile || node.isNodeType(NodeType.FILENODE)) { handleFileNode(response, request, node, saveFile); @@ -214,7 +214,7 @@ // check if it is plain numeric UUID or complex portrait UUID IVersionedNode node = uuid.contains("-") ? getRepositoryService().getFileItem(ticket, uuid, version) - : getRepositoryService().getFileItem(ticket, Long.valueOf(uuid), version); + : getRepositoryService().getFileItem(ticket, Long.valueOf(uuid), version, relPathString); if (!node.isNodeType(NodeType.FILENODE)) { throw new RepositoryCheckedException( "Unexpected type of node " + node.getNodeType() + " Expected File node. Data is " + node); Index: lams_tool_larsrc/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r3ba014b62a527d852888ef46df8386441decf1d2 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 3ba014b62a527d852888ef46df8386441decf1d2) +++ lams_tool_larsrc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -14,9 +14,11 @@ label.authoring.basic.instruction = Instructions label.authoring.basic.add.url = Add URL label.authoring.basic.add.file = Add file +label.authoring.basic.add.website = Add zipped website label.authoring.basic.resource.list.title = Resource list label.authoring.basic.resource.url = URL label.authoring.basic.resource.file = File +label.authoring.basic.resource.website = Website label.authoring.basic.resource.preview = Preview label.authoring.basic.resource.edit = Edit label.authoring.basic.resource.delete = Delete @@ -45,6 +47,7 @@ error.msg.upload.file.not.found = Could not find upload file {0}. error.msg.zip.file.exception = Could not handle zip file when uploading file. error.msg.file.not.found = File not found exception occurs when uploading file. +error.msg.website.no.initial.file = Website zip can not find out initial file (index.htm/html or default.htm/html). error.msg.io.exception = There has been a problem when uploading your file. error.msg.invaid.param.upload = InvalidParameterException occured while trying to upload File. error.msg.repository = A repository error occurred while trying to upload the file. @@ -149,6 +152,7 @@ label.authoring.basic.resource.url.placeholder = include http:// or https:// event.file.upload = {0} uploaded a file \"{1}\" label.upload.info = Uploaded file must not be executable and not exceed size of {0} +error.file.type.zip = File must be a zip file. label.enable.rating = Enable Rating label.rating = Rating label.average.rating = Average rating {0}/{1} votes Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java =================================================================== diff -u -r4523deca1760ed41f945862418e72f18a6f68700 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java (.../ResourceConstants.java) (revision 4523deca1760ed41f945862418e72f18a6f68700) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java (.../ResourceConstants.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -37,6 +37,8 @@ public static final short RESOURCE_TYPE_FILE = 2; + public static final short RESOURCE_TYPE_WEBSITE = 3; + // for action forward name public static final String SUCCESS = "success"; @@ -79,12 +81,14 @@ public static final String ATTR_RESOURCE_REVIEW_URL = "resourceItemReviewUrl"; public static final String ATTR_IS_DOWNLOAD = "isDownload"; - + public static final String ATTR_IS_DISPLAYABLE_IMAGE = "isDisplayableImage"; - public static final String ATTR_IS_DISPLAYABLE_MEDIA = "isDisplayableMedia"; - + public static final String ATTR_IS_DISPLAYABLE_MEDIA = "isDisplayableMedia"; + public static final String ATTR_IS_DISPLAYABLE_EMBED = "isDisplayableEmbed"; + + public static final String ATTR_IS_DISPLAYABLE_PAGE = "isDisplayablePage"; public static final String ATTR_RESOURCE = "resource"; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20221212.sql =================================================================== diff -u --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20221212.sql (revision 0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20221212.sql (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -0,0 +1,14 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +-- Put all sql statements below here + +-- reintroduce zipped website item types +ALTER TABLE tl_larsrc11_resource_item ADD COLUMN init_item VARCHAR(255) AFTER item_type; + +-- Put all sql statements above here + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java =================================================================== diff -u -r326782acda142b33013dcb8a4b57ef62a5669914 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java (.../ResourceItem.java) (revision 326782acda142b33013dcb8a4b57ef62a5669914) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/model/ResourceItem.java (.../ResourceItem.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -55,7 +55,7 @@ @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; - // Resource Type:1=URL,2=File + // Resource Type:1=URL,2=File,3=Website @Column(name = "item_type") private short type; @@ -68,6 +68,9 @@ @Column private String url; + @Column(name = "init_item") + private String initialItem; + @Column(name = "file_uuid") private Long fileUuid; @@ -154,6 +157,14 @@ this.fileVersionId = crVersionId; } + public String getInitialItem() { + return initialItem; + } + + public void setInitialItem(String initialItem) { + this.initialItem = initialItem; + } + public String getInstructions() { return instructions; } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java =================================================================== diff -u -r326782acda142b33013dcb8a4b57ef62a5669914 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java (.../IResourceService.java) (revision 326782acda142b33013dcb8a4b57ef62a5669914) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/IResourceService.java (.../IResourceService.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -77,7 +77,7 @@ List getAuthoredItems(Long resourceUid); /** - * Upload resource item file to repository. i.e., single file + * Upload resource item file to repository. i.e., single file, website zip * */ void uploadResourceItemFile(ResourceItem item, File file) throws UploadResourceFileException; Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -r694dd2c529990a94c17576dce6c98e5b821532e0 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision 694dd2c529990a94c17576dce6c98e5b821532e0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -24,9 +24,11 @@ package org.lamsfoundation.lams.tool.rsrc.service; import java.io.File; +import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; @@ -95,6 +97,8 @@ import org.lamsfoundation.lams.util.JsonUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.util.zipfile.ZipFileUtil; +import org.lamsfoundation.lams.util.zipfile.ZipFileUtilException; import org.lamsfoundation.lams.web.util.AttributeNames; import com.fasterxml.jackson.databind.JsonNode; @@ -641,11 +645,72 @@ item.setFileUuid(nodeKey.getUuid()); item.setFileVersionId(nodeKey.getVersion()); } + // need unzip upload, and check the initial item :default.htm/html or index.htm/html + if (item.getType() == ResourceConstants.RESOURCE_TYPE_WEBSITE) { + try { + InputStream is = new FileInputStream(file); + String packageDirectory = ZipFileUtil.expandZip(is, fileName); + String initFile = findWebsiteInitialItem(packageDirectory); + if (initFile == null) { + throw new UploadResourceFileException( + messageService.getMessage("error.msg.website.no.initial.file")); + } + item.setInitialItem(initFile); + // upload package + NodeKey nodeKey = processPackage(packageDirectory, initFile); + item.setFileUuid(nodeKey.getUuid()); + item.setFileVersionId(nodeKey.getVersion()); + } catch (ZipFileUtilException e) { + log.error(messageService.getMessage("error.msg.zip.file.exception") + " : " + e.toString()); + throw new UploadResourceFileException(messageService.getMessage("error.msg.zip.file.exception")); + } catch (FileNotFoundException e) { + log.error(messageService.getMessage("error.msg.file.not.found") + ":" + e.toString()); + throw new UploadResourceFileException(messageService.getMessage("error.msg.file.not.found")); + } + } + // create the package from the directory contents item.setFileName(fileName); } + private NodeKey processPackage(String packageDirectory, String initFile) throws UploadResourceFileException { + NodeKey node = null; + try { + node = resourceToolContentHandler.uploadPackage(packageDirectory, initFile); + } catch (InvalidParameterException e) { + throw new UploadResourceFileException(messageService.getMessage("error.msg.invaid.param.upload")); + } catch (RepositoryCheckedException e) { + throw new UploadResourceFileException(messageService.getMessage("error.msg.repository")); + } + return node; + } + /** + * Find out default.htm/html or index.htm/html in the given directory folder + * + * @param packageDirectory + */ + private String findWebsiteInitialItem(String packageDirectory) { + File file = new File(packageDirectory); + if (!file.isDirectory()) { + return null; + } + + File[] initFiles = file.listFiles(new FileFilter() { + @Override + public boolean accept(File pathname) { + if (pathname == null || pathname.getName() == null) { + return false; + } + String name = pathname.getName(); + return name.endsWith("default.html") || name.endsWith("default.htm") || name.endsWith("index.html") + || name.endsWith("index.htm"); + } + }); + return initFiles.length > 0 ? initFiles[0].getName() : null; + } + + /** * Gets a message from resource bundle. Same as in JSP pages. * * @param key Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java =================================================================== diff -u -r326782acda142b33013dcb8a4b57ef62a5669914 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 326782acda142b33013dcb8a4b57ef62a5669914) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java (.../AuthoringController.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -157,6 +157,9 @@ resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); } return "pages/authoring/parts/addfile"; + case 3: + resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); + return "pages/authoring/parts/addwebsite"; default: throw new IllegalArgumentException("Unknown item type" + item.getType()); } @@ -178,6 +181,9 @@ case 2: resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); return "pages/authoring/parts/addfile"; + case 3: + resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); + return "pages/authoring/parts/addwebsite"; default: throw new IllegalArgumentException("Unknown item type" + type); } @@ -205,6 +211,9 @@ case 2: resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); return "pages/authoring/parts/addfile"; + case 3: + resourceItemForm.setTmpFileUploadId(FileUtil.generateTmpFileUploadId()); + return "pages/authoring/parts/addwebsite"; default: throw new IllegalArgumentException("Unknown item type" + resourceItemForm.getItemType()); } @@ -225,6 +234,8 @@ return "pages/authoring/parts/addurl"; case 2: return "pages/authoring/parts/addfile"; + case 3: + return "pages/authoring/parts/addwebsite"; default: throw new IllegalArgumentException("Unknown item type" + resourceItemForm.getItemType()); } @@ -611,7 +622,8 @@ short type = itemForm.getItemType(); item.setType(itemForm.getItemType()); - if (type == ResourceConstants.RESOURCE_TYPE_FILE & !itemForm.isHasFile()) { + if ((type == ResourceConstants.RESOURCE_TYPE_FILE || type == ResourceConstants.RESOURCE_TYPE_WEBSITE) + && !itemForm.isHasFile()) { File uploadDir = FileUtil.getTmpFileUploadDir(itemForm.getTmpFileUploadId()); if (uploadDir.canRead()) { File[] files = uploadDir.listFiles(); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java =================================================================== diff -u -r53f4a7bfa1d8d27ed32727c581a18b53eb5334f5 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision 53f4a7bfa1d8d27ed32727c581a18b53eb5334f5) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -574,7 +574,8 @@ errorMap.add("GLOBAL", messageService.getMessage(ResourceConstants.ERROR_MSG_URL_BLANK)); } } - if (resourceItemForm.getItemType() == ResourceConstants.RESOURCE_TYPE_FILE) { + if (resourceItemForm.getItemType() == ResourceConstants.RESOURCE_TYPE_FILE + || resourceItemForm.getItemType() == ResourceConstants.RESOURCE_TYPE_WEBSITE) { File uploadDir = FileUtil.getTmpFileUploadDir(resourceItemForm.getTmpFileUploadId()); if (uploadDir.canRead()) { File[] files = uploadDir.listFiles(); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/ViewItemController.java =================================================================== diff -u -r4523deca1760ed41f945862418e72f18a6f68700 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/ViewItemController.java (.../ViewItemController.java) (revision 4523deca1760ed41f945862418e72f18a6f68700) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/ViewItemController.java (.../ViewItemController.java) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -56,8 +56,10 @@ @Autowired private IResourceService resourceService; - private static final Set DISPLAYABLE_IMAGE_EXTENSIONS = Set.of(".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg"); - private static final Set DISPLAYABLE_MEDIA_EXTENSIONS = Set.of(".mov", ".mp4", ".webm", ".ogg", ".mp3", ".wav"); + private static final Set DISPLAYABLE_IMAGE_EXTENSIONS = Set.of(".jpg", ".jpeg", ".png", ".gif", ".bmp", + ".webp", ".svg"); + private static final Set DISPLAYABLE_MEDIA_EXTENSIONS = Set.of(".mov", ".mp4", ".webm", ".ogg", ".mp3", + ".wav"); private static final Set DISPLAYABLE_EMBED_EXTENSIONS = Set.of(".pdf"); /** @@ -134,7 +136,6 @@ if (item == null) { return "error"; } - boolean isDownload = item.getType() == ResourceConstants.RESOURCE_TYPE_FILE; request.setAttribute(ResourceConstants.ATTR_IS_DOWNLOAD, isDownload); String lowercaseFileName = isDownload && StringUtils.isNotBlank(item.getFileName()) @@ -147,11 +148,14 @@ boolean isDisplayableMedia = lowercaseFileName != null && DISPLAYABLE_MEDIA_EXTENSIONS.stream().anyMatch(ext -> lowercaseFileName.endsWith(ext)); request.setAttribute(ResourceConstants.ATTR_IS_DISPLAYABLE_MEDIA, isDisplayableMedia); - + boolean isDisplayableEmbed = lowercaseFileName != null && DISPLAYABLE_EMBED_EXTENSIONS.stream().anyMatch(ext -> lowercaseFileName.endsWith(ext)); request.setAttribute(ResourceConstants.ATTR_IS_DISPLAYABLE_EMBED, isDisplayableEmbed); + request.setAttribute(ResourceConstants.ATTR_IS_DISPLAYABLE_PAGE, + item.getType() == ResourceConstants.RESOURCE_TYPE_WEBSITE); + String reviewUrl = getReviewUrl(item, sessionMapID); request.setAttribute(ResourceConstants.ATTR_RESOURCE_REVIEW_URL, reviewUrl); @@ -248,6 +252,7 @@ } break; case ResourceConstants.RESOURCE_TYPE_FILE: + case ResourceConstants.RESOURCE_TYPE_WEBSITE: url = "/download/?uuid=" + item.getFileUuid(); break; } Index: lams_tool_larsrc/web/pages/authoring/basic.jsp =================================================================== diff -u -rb7664a161ad9c68675e399093f6c25b513d820b8 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/authoring/basic.jsp (.../basic.jsp) (revision b7664a161ad9c68675e399093f6c25b513d820b8) +++ lams_tool_larsrc/web/pages/authoring/basic.jsp (.../basic.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -19,7 +19,7 @@ } function previewItem(type,idx,sessionMapID){ - //1:url, 2:file + //1:url, 2:file, 3:website //This mode is special for unsaved author page. It is different with the author mode in preview var myUrl = ""+idx+"&sessionMapID="+sessionMapID; launchPopup(myUrl,"Review"); @@ -99,6 +99,8 @@   +
Index: lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp =================================================================== diff -u --- lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp (revision 0) +++ lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -0,0 +1,108 @@ + +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> +<%@ page import="org.lamsfoundation.lams.util.FileValidatorUtil" %> +<%=Configuration.get(ConfigurationKeys.UPLOAD_FILE_LARGE_MAX_SIZE)%> + + + + <%@ include file="addheader.jsp"%> + + + + + + +
+
+ +
+ +
+ + + + + + + + +
+ : + +
+
+ : + +
+ +
+ + <%@ include file="/pages/authoring/parts/itemattachment.jsp"%> + + +
+ + +
+ <%@ include file="ratings.jsp"%> +
+ +
+ +
+ + +
+
+
+ +
Index: lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp =================================================================== diff -u -rfb8a194c2472662c8c431fe382073938c9720427 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp (.../itemlist.jsp) (revision fb8a194c2472662c8c431fe382073938c9720427) +++ lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp (.../itemlist.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -40,7 +40,18 @@ - + + + : + + + + " + onclick="previewItem(3, ${status.index},'${sessionMapID}')"> + + + Index: lams_tool_larsrc/web/pages/itemreview/itemContent.jsp =================================================================== diff -u -rf6744774b93b61f2dd2b6c15b5b53d4f10e0060c -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/itemreview/itemContent.jsp (.../itemContent.jsp) (revision f6744774b93b61f2dd2b6c15b5b53d4f10e0060c) +++ lams_tool_larsrc/web/pages/itemreview/itemContent.jsp (.../itemContent.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -35,12 +35,17 @@ var isDownload = ${isDownload}, + isPage = ${isDisplayablePage}, panel = $('#item-content-${itemUid}'); if (isDownload) { $('.download-button', panel).removeClass('hidden'); return; } + if (isPage) { + $('.iframe-open-button', panel).removeClass('hidden'); + return; + } $.ajax({ url: "https://ckeditor.iframe.ly/api/oembed?url=" + encodeURIComponent("${resourceItemReviewUrl}"), @@ -59,7 +64,6 @@ function iframelyCallback${itemUid}(response) { iframelyCallback(${itemUid}, response); } -
@@ -76,8 +80,13 @@ +
   @@ -100,7 +109,9 @@ - + + + Index: lams_tool_larsrc/web/pages/itemreview/mainframe.jsp =================================================================== diff -u -rf6744774b93b61f2dd2b6c15b5b53d4f10e0060c -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/itemreview/mainframe.jsp (.../mainframe.jsp) (revision f6744774b93b61f2dd2b6c15b5b53d4f10e0060c) +++ lams_tool_larsrc/web/pages/itemreview/mainframe.jsp (.../mainframe.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -44,6 +44,13 @@ width: 100%; min-height: 500px; } + + .embedded-content iframe { + border: 0; + width: 100%; + height: 100%; + min-height: 500px; + } Index: lams_tool_larsrc/web/pages/learning/learning.jsp =================================================================== diff -u -r51902e5ec7e5e92493bdd4c6e58e211142b5f42e -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision 51902e5ec7e5e92493bdd4c6e58e211142b5f42e) +++ lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -54,6 +54,13 @@ width: 100%; min-height: 500px; } + + .embedded-content iframe { + border: 0; + width: 100%; + height: 100%; + min-height: 500px; + } .delete-item-button { margin-left: 5px; Index: lams_tool_larsrc/web/pages/monitoring/statistic.jsp =================================================================== diff -u -r326782acda142b33013dcb8a4b57ef62a5669914 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/monitoring/statistic.jsp (.../statistic.jsp) (revision 326782acda142b33013dcb8a4b57ef62a5669914) +++ lams_tool_larsrc/web/pages/monitoring/statistic.jsp (.../statistic.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -53,6 +53,9 @@ + + + Index: lams_tool_larsrc/web/pages/monitoring/summary.jsp =================================================================== diff -u -r326782acda142b33013dcb8a4b57ef62a5669914 -rf007d7e87e33de37ad35d279b1da1d59c9f42055 --- lams_tool_larsrc/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 326782acda142b33013dcb8a4b57ef62a5669914) +++ lams_tool_larsrc/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision f007d7e87e33de37ad35d279b1da1d59c9f42055) @@ -138,6 +138,9 @@ + + +