You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by wo...@apache.org on 2009/09/17 12:22:07 UTC

svn commit: r816126 [2/2] - in /portals/applications/webcontent/trunk: webcontent-jar/ webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/ webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/proxy/ webco...

Modified: portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml?rev=816126&r1=816125&r2=816126&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml (original)
+++ portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml Thu Sep 17 10:22:06 2009
@@ -1,120 +1,205 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version
+    2.0 (the "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
 
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
+    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+    applicable law or agreed to in writing, software distributed under
+    the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
+    OR CONDITIONS OF ANY KIND, either express or implied. See the
+    License for the specific language governing permissions and
+    limitations under the License.
+  -->
 <portlet-app id='webcontent'
-              xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" 
-              version="2.0" 
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-              xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
-
-    <portlet>
-        <description>Places an HTML IFrame inside a portlet for easily hosting other web application within a portlet. Sizes of both normal and maximized modes are configurable in edit mode.</description>
-        <portlet-name>IFramePortlet</portlet-name>
-        <display-name>IFrame Portlet</display-name>
-        <portlet-class>org.apache.portals.applications.webcontent.portlet.IFrameGenericPortlet</portlet-class>        
-        <init-param>
-            <name>EditPage</name>
-            <value>/WEB-INF/view/edit-prefs.vm</value>
-        </init-param>
-        <init-param>
-            <name>HelpPage</name>
-            <value>/WEB-INF/view/iframe-help.html</value>
-        </init-param>
-        <init-param>
-            <name>portlet-icon</name>
-            <value>applications-internet.png</value>
-        </init-param>        
-        <expiration-cache>300</expiration-cache>
-        <supports>
-            <mime-type>text/html</mime-type>
-            <portlet-mode>EDIT</portlet-mode>
-            <portlet-mode>VIEW</portlet-mode>
-            <portlet-mode>HELP</portlet-mode>
-        </supports>
-        <supported-locale>en</supported-locale>        
-        <portlet-info>
-            <title>IFrame</title>
-            <short-title>IFrame</short-title>
-            <keywords>tool,iframe,web,frame,content,host</keywords>
-        </portlet-info>
-        <portlet-preferences>
-            <preference>
-                <name>SRC</name>
-                <value>http://portals.apache.org</value>
-            </preference>
-            <!-- Don't specify a HEIGHT if you want a normal filled out layout
-            because percentage values result in the content not to be displayed on IE6.
-            Specific values are ok though. 
-            -->
-            <preference>
-                <name>HEIGHT</name>
-                <value>300</value>
-            </preference>
-            <preference>
-                <name>WIDTH</name>
-                <value>100%</value>
-            </preference>
-            <preference>
-                <name>MAX-HEIGHT</name>
-                <value>800</value>
-            </preference>
-            <preference>
-                <name>MAX-WIDTH</name>
-                <value>100%</value>
-            </preference>
-            <preference>
-                <name>SCROLLING</name>
-                <value>AUTO</value>
-            </preference>
-        </portlet-preferences>
-    </portlet>
-
-    <portlet>
-        <description>Includes the content of another website inside the portal without using frames. All links are rewritten back to the portal to attempt to proxy all content through the portal.</description>        
-        <portlet-name>WebContentPortlet</portlet-name>
-        <display-name>WebContent Portlet</display-name>
-        <portlet-class>org.apache.portals.applications.webcontent.portlet.WebContentPortlet</portlet-class>        
-        <init-param>
-            <name>EditPage</name>
-            <value>/WEB-INF/view/edit-wcprefs.vm</value>
-        </init-param>
-        <init-param>
-            <name>portlet-icon</name>
-            <value>preferences-system-network-proxy.png</value>
-        </init-param>                        
-        <expiration-cache>-1</expiration-cache>
-        <supports>
-            <mime-type>text/html</mime-type>
-            <portlet-mode>EDIT</portlet-mode>
-            <portlet-mode>VIEW</portlet-mode>
-        </supports>
-        <supported-locale>en</supported-locale>        
-        <portlet-info>
-            <title>WebContent Prototype</title>
-            <short-title>WebContent</short-title>
-            <keywords>web,content,webnav,bridge,proxy,rewrite</keywords>
-        </portlet-info>
-        <portlet-preferences>
-            <preference>
-                <name>SRC</name>
-                <value>http://www.google.com</value>
-            </preference>
-        </portlet-preferences>        
-    </portlet>
-    
+  xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+  version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+  
+  <portlet>
+    <description>Places an HTML IFrame inside a portlet for easily
+      hosting other web application within a portlet. Sizes of both
+      normal and maximized modes are configurable in edit mode.</description>
+    <portlet-name>IFramePortlet</portlet-name>
+    <display-name>IFrame Portlet</display-name>
+    <portlet-class>
+      org.apache.portals.applications.webcontent.portlet.IFrameGenericPortlet</portlet-class>
+    <init-param>
+      <name>EditPage</name>
+      <value>/WEB-INF/view/edit-prefs.vm</value>
+    </init-param>
+    <init-param>
+      <name>HelpPage</name>
+      <value>/WEB-INF/view/iframe-help.html</value>
+    </init-param>
+    <init-param>
+      <name>portlet-icon</name>
+      <value>applications-internet.png</value>
+    </init-param>
+    <expiration-cache>300</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>EDIT</portlet-mode>
+      <portlet-mode>VIEW</portlet-mode>
+      <portlet-mode>HELP</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <portlet-info>
+      <title>IFrame</title>
+      <short-title>IFrame</short-title>
+      <keywords>tool,iframe,web,frame,content,host</keywords>
+    </portlet-info>
+    <portlet-preferences>
+      <preference>
+        <name>SRC</name>
+        <value>http://portals.apache.org/</value>
+      </preference>
+      <!-- You can set AUTORESIZE to true when the SRC is in the same domain of the portal web pages. -->
+      <preference>
+        <name>AUTORESIZE</name>
+        <value>false</value>
+      </preference>
+      <!--
+        Don't specify a HEIGHT if you want a normal filled out layout
+        because percentage values result in the content not to be
+        displayed on IE6. Specific values are ok though.
+      -->
+      <preference>
+        <name>HEIGHT</name>
+        <value>300</value>
+      </preference>
+      <preference>
+        <name>WIDTH</name>
+        <value>100%</value>
+      </preference>
+      <preference>
+        <name>MAX-HEIGHT</name>
+        <value>800</value>
+      </preference>
+      <preference>
+        <name>MAX-WIDTH</name>
+        <value>100%</value>
+      </preference>
+      <preference>
+        <name>SCROLLING</name>
+        <value>AUTO</value>
+      </preference>
+    </portlet-preferences>
+  </portlet>
+  
+  <portlet>
+    <description>Places an HTML IFrame with reverse proxied url inside a portlet for easily
+      hosting other web application within a portlet. Sizes of both
+      normal and maximized modes are configurable in edit mode.</description>
+    <portlet-name>ReverseProxyIFramePortlet</portlet-name>
+    <display-name>ReverseProxy IFrame Portlet</display-name>
+    <portlet-class>
+      org.apache.portals.applications.webcontent.portlet.IFrameGenericPortlet</portlet-class>
+    <init-param>
+      <name>EditPage</name>
+      <value>/WEB-INF/view/edit-prefs.vm</value>
+    </init-param>
+    <init-param>
+      <name>HelpPage</name>
+      <value>/WEB-INF/view/iframe-help.html</value>
+    </init-param>
+    <init-param>
+      <name>portlet-icon</name>
+      <value>applications-internet.png</value>
+    </init-param>
+    <expiration-cache>300</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>EDIT</portlet-mode>
+      <portlet-mode>VIEW</portlet-mode>
+      <portlet-mode>HELP</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <portlet-info>
+      <title>ReverseProxyIFrame</title>
+      <short-title>ReverseProxyIFrame</short-title>
+      <keywords>tool,reverse,proxy,iframe,web,frame,content,host</keywords>
+    </portlet-info>
+    <portlet-preferences>
+      <preference>
+        <name>SRC</name>
+        <value>http://portals.apache.org/</value>
+      </preference>
+      <preference>
+        <name>PROXYREMOTEURL</name>
+        <value>http://portals.apache.org/</value>
+      </preference>
+      <preference>
+        <name>PROXYLOCALPATH</name>
+        <value>rproxy/portals/</value>
+      </preference>
+      <preference>
+        <name>AUTORESIZE</name>
+        <value>true</value>
+      </preference>
+      <!--
+        Don't specify a HEIGHT if you want a normal filled out layout
+        because percentage values result in the content not to be
+        displayed on IE6. Specific values are ok though.
+      -->
+      <preference>
+        <name>HEIGHT</name>
+        <value>300</value>
+      </preference>
+      <preference>
+        <name>WIDTH</name>
+        <value>100%</value>
+      </preference>
+      <preference>
+        <name>MAX-HEIGHT</name>
+        <value>800</value>
+      </preference>
+      <preference>
+        <name>MAX-WIDTH</name>
+        <value>100%</value>
+      </preference>
+      <preference>
+        <name>SCROLLING</name>
+        <value>AUTO</value>
+      </preference>
+    </portlet-preferences>
+  </portlet>
+  
+  <portlet>
+    <description>Includes the content of another website inside the portal without using frames. All links are rewritten back to the portal to attempt to proxy all content through the portal.</description>        
+    <portlet-name>WebContentPortlet</portlet-name>
+    <display-name>WebContent Portlet</display-name>
+    <portlet-class>org.apache.portals.applications.webcontent.portlet.WebContentPortlet</portlet-class>        
+    <init-param>
+      <name>EditPage</name>
+      <value>/WEB-INF/view/edit-wcprefs.vm</value>
+    </init-param>
+    <init-param>
+      <name>portlet-icon</name>
+      <value>preferences-system-network-proxy.png</value>
+    </init-param>                        
+    <expiration-cache>-1</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>EDIT</portlet-mode>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>        
+    <portlet-info>
+      <title>WebContent Prototype</title>
+      <short-title>WebContent</short-title>
+      <keywords>web,content,webnav,bridge,proxy,rewrite</keywords>
+    </portlet-info>
+    <portlet-preferences>
+      <preference>
+        <name>SRC</name>
+        <value>http://www.google.com</value>
+      </preference>
+    </portlet-preferences>        
+  </portlet>
+  
 </portlet-app>
 

Modified: portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/web.xml?rev=816126&r1=816125&r2=816126&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/web.xml (original)
+++ portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/web.xml Thu Sep 17 10:22:06 2009
@@ -1,51 +1,74 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version
+    2.0 (the "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
 
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-    
+    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+    applicable law or agreed to in writing, software distributed under
+    the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
+    OR CONDITIONS OF ANY KIND, either express or implied. See the
+    License for the specific language governing permissions and
+    limitations under the License.
+  -->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  version="2.4"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+  
   <display-name>Webcontent Portlet Application</display-name>
   <description>Apache Portals Applications: Webcontent PA</description>
   
-    <!-- for deploying on Websphere: disable Websphere default portletcontainer -->
-    <context-param>
-        <param-name>com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name>
-        <param-value>false</param-value>
-    </context-param>
-
-    <!-- Define Velocity Servlet -->
-	<servlet>
-		<servlet-name>velocity</servlet-name>
-		<servlet-class>org.apache.portals.bridges.velocity.BridgesVelocityViewServlet</servlet-class>
-		<init-param>
-			<param-name>org.apache.velocity.toolbox</param-name>
-			<param-value>/WEB-INF/velocity/toolbox.xml</param-value>
-		</init-param>
-		<init-param>
-			<param-name>org.apache.velocity.properties</param-name>
-			<param-value>/WEB-INF/velocity/velocity.properties</param-value>
-		</init-param>
-		<load-on-startup>10</load-on-startup>
-	</servlet>	
-	
-    <!-- Map *.vm files to Velocity  -->
-	<servlet-mapping>
-		<servlet-name>velocity</servlet-name>
-		<url-pattern>*.vm</url-pattern>
-	</servlet-mapping>	
-
+  <!--
+    for deploying on Websphere: disable Websphere default
+    portletcontainer
+  -->
+  <context-param>
+    <param-name>
+      com.ibm.websphere.portletcontainer.PortletDeploymentEnabled</param-name>
+    <param-value>false</param-value>
+  </context-param>
+  
+  <!-- Define Velocity Servlet -->
+  <servlet>
+    <servlet-name>velocity</servlet-name>
+    <servlet-class>
+      org.apache.portals.bridges.velocity.BridgesVelocityViewServlet</servlet-class>
+    <init-param>
+      <param-name>org.apache.velocity.toolbox</param-name>
+      <param-value>/WEB-INF/velocity/toolbox.xml</param-value>
+    </init-param>
+    <init-param>
+      <param-name>org.apache.velocity.properties</param-name>
+      <param-value>/WEB-INF/velocity/velocity.properties</param-value>
+    </init-param>
+    <load-on-startup>10</load-on-startup>
+  </servlet>
+  
+  <!-- Default Reverse Proxy Servlet -->
+  <servlet>
+    <servlet-name>ReverseProxyServlet</servlet-name>
+    <servlet-class>
+      org.apache.portals.applications.webcontent.proxy.impl.DefaultHttpReverseProxyServlet</servlet-class>
+    <init-param>
+      <param-name>reverseproxy.urlmappings</param-name>
+      <param-value>/WEB-INF/conf/reverseproxy-urlmappings.properties</param-value>
+    </init-param>
+    <load-on-startup>10</load-on-startup>
+  </servlet>
+  
+  <!-- Map *.vm files to Velocity  -->
+  <servlet-mapping>
+    <servlet-name>velocity</servlet-name>
+    <url-pattern>*.vm</url-pattern>
+  </servlet-mapping>
+  
+  <!-- Map /rproxy path to the Default Reverse Proxy Servlet -->
+  <servlet-mapping>
+    <servlet-name>ReverseProxyServlet</servlet-name>
+    <url-pattern>/rproxy/*</url-pattern>
+  </servlet-mapping>
+  
 </web-app>

Modified: portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/javascript/iframe_autoresize.js
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/javascript/iframe_autoresize.js?rev=816126&r1=816125&r2=816126&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/javascript/iframe_autoresize.js (original)
+++ portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/javascript/iframe_autoresize.js Thu Sep 17 10:22:06 2009
@@ -15,41 +15,44 @@
   limitations under the License.
 */
 function iframePortlet_resetHeight(iframe, bindEvent) {
+  try {
     if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight) {
-        iframe.height = iframe.contentDocument.body.offsetHeight + 16;
+      iframe.height = iframe.contentDocument.body.offsetHeight + 16;
     } else if (iframe.Document && iframe.Document.body.scrollHeight) {
-        iframe.height = iframe.Document.body.scrollHeight;
+      iframe.height = iframe.Document.body.scrollHeight;
     }
     if (bindEvent) {
-        if (window.addEventListener) {
-            iframe.addEventListener("load", iframePortlet_iframeOnLoad, false);
-        } else if (window.attachEvent) {
-            iframe.detachEvent("onload", iframePortlet_iframeOnLoad);;
-            iframe.attachEvent("onload", iframePortlet_iframeOnLoad);
-        }
+      if (window.addEventListener) {
+        iframe.addEventListener("load", iframePortlet_iframeOnLoad, false);
+      } else if (window.attachEvent) {
+        iframe.detachEvent("onload", iframePortlet_iframeOnLoad);;
+        iframe.attachEvent("onload", iframePortlet_iframeOnLoad);
+      }
     }
+  } catch (e) {
+  }
 }
 function iframePortlet_iframeOnLoad(evt) {
-    var iframe = (window.event ? window.event.srcElement : evt.currentTarget);
-    if (iframe) {
-        iframePortlet_resetHeight(iframe, false);
-    }
+  var iframe = (window.event ? window.event.srcElement : evt.currentTarget);
+  if (iframe) {
+    iframePortlet_resetHeight(iframe, false);
+  }
 }
 var iframePortlet_iframesContainerOnLoad_working = false;
 function iframePortlet_iframesContainerOnLoad() {
-    if (iframePortlet_iframesContainerOnLoad_working) return;
-    iframePortlet_iframesContainerOnLoad_working = true;
-    var iframes = document.getElementsByTagName("IFRAME");
-    for (var i = 0; i < iframes.length; i++) {
-        var autoResize = "" + iframes[i].getAttribute("autoresize");
-        if (autoResize.match(/^(true)|(yes)|(on)$/i)) {
-            iframePortlet_resetHeight(iframes[i], true);
-        }
+  if (iframePortlet_iframesContainerOnLoad_working) return;
+  iframePortlet_iframesContainerOnLoad_working = true;
+  var iframes = document.getElementsByTagName("IFRAME");
+  for (var i = 0; i < iframes.length; i++) {
+    var autoResize = "" + iframes[i].getAttribute("autoresize");
+    if (autoResize.match(/^(true)|(yes)|(on)$/i)) {
+      iframePortlet_resetHeight(iframes[i], true);
     }
-    iframePortlet_iframesContainerOnLoad_working = false;
+  }
+  iframePortlet_iframesContainerOnLoad_working = false;
 }
 if (window.addEventListener) {
-    window.addEventListener("load", iframePortlet_iframesContainerOnLoad, false);
+  window.addEventListener("load", iframePortlet_iframesContainerOnLoad, false);
 } else if (window.attachEvent) {
-    window.attachEvent("onload", iframePortlet_iframesContainerOnLoad)
+  window.attachEvent("onload", iframePortlet_iframesContainerOnLoad)
 }