You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2010/03/04 09:41:43 UTC

svn commit: r918893 - /myfaces/core/trunk/src/site/apt/googleappenginesupport.apt

Author: matzew
Date: Thu Mar  4 08:41:43 2010
New Revision: 918893

URL: http://svn.apache.org/viewvc?rev=918893&view=rev
Log:
added doc file for MYFACES-2559

Added:
    myfaces/core/trunk/src/site/apt/googleappenginesupport.apt

Added: myfaces/core/trunk/src/site/apt/googleappenginesupport.apt
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/src/site/apt/googleappenginesupport.apt?rev=918893&view=auto
==============================================================================
--- myfaces/core/trunk/src/site/apt/googleappenginesupport.apt (added)
+++ myfaces/core/trunk/src/site/apt/googleappenginesupport.apt Thu Mar  4 08:41:43 2010
@@ -0,0 +1,130 @@
+ ------
+ Myfaces Core 2.0 on Google App Engine
+ ------
+
+Myfaces Core 2.0 on Google App Engine
+
+  In order to run Myfaces on Google App Engine, you need to complete the steps below. Configuration explained in this document is tested with
+  Google App Engine 1.3.0.
+
+   * Download Myfaces Core 2.0.0(OR THE VERSION THE PATCH WILL BE RELEASED) or later. Google App Engine support is not available for older versions.
+     Extract and put following files into war/WEB-INF/lib:
+       
+       * myfaces-api-2.0.x.jar
+       
+       * myfaces-impl-2.0.x.jar
+       
+       * commons-beanutils-1.x.x.jar
+       
+       * commons-codec-1.x.jar
+       
+       * commons-collections-3.x.jar
+       
+       * commons-digester-x.x.jar
+       
+       * commons-discovery-0.x.jar
+       
+       * commons-logging-1.x.x.jar
+        
+      ~~ or the version this change will be accepted
+      ~~ or should we reference snapshots?
+
+   * We need Facelets to run Myfaces on Google App Engine. So, download Facelets from {{{https://facelets.dev.java.net/}here}} 
+     and put jsf-facelets.jar into war/WEB-INF/lib.
+   
+   * Add following lines into your web.xml.
+
++------------------------------------------------------------------------+
+      <web-app>
+        ...
+        <!-- 
+           Since Google App Engine is treated as a JSP 2.0 environment, we need to provide EL implementation ourselves.
+           (I assume that you put EL RI jars into your WEb-INF/lib folder. You can use any implementation, but you have to 
+           set this context parameter to your implementation's ExpressionFactory)
+        -->
+        <context-param>
+            <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
+            <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
+        </context-param>
+                
+        <!-- 
+           We need to set annotation lifecycyle provider manually as org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider.
+           Other providers use some classes that are restricted on Google App Engine. 	
+        -->  
+        <context-param>
+            <param-name>org.apache.myfaces.config.annotation.LifecycleProvider</param-name>
+            <param-value>org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider</param-value>
+        </context-param>
+        
+        <!--
+           Facelets configuration fragment
+        -->
+        <context-param>
+          <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+          <param-value>.xhtml</param-value>
+        </context-param>
+        
+        <servlet>
+          <servlet-name>Faces Servlet</servlet-name>
+          <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        </servlet>
+        
+        <servlet-mapping>
+          <servlet-name>Faces Servlet</servlet-name>
+          <url-pattern>*.jsf</url-pattern>
+        </servlet-mapping>
+        ...      
+      </web-app>
++------------------------------------------------------------------------+
+
+   * Enable sessions on App Engine. To do this, add line below to war/WEB-INF/appengine-web.xml.
+   
++------------------------------------------------------------------------+
+      <sessions-enabled>true</sessions-enabled>
++------------------------------------------------------------------------+
+
+   
+   * Although Google App Engine is said to support JSP 2.1, JSP implementation version(2.0) 
+     does not match JSP API version(2.1). So, we need to supply Unified Expression Language 
+     implementation jars. You can find them {{{https://uel.dev.java.net/}here}}.
+     Put el-api-1.x.jar and el-impl-1.x.jar into war/WEB-INF/lib.  
+
+   * Here is the sample directory structure:
+   
++------------------------------------------------------------------------+
+   +<Your Google App Engine Project Folder>
+     + src
+       + META-INF
+         - jdoconfig.xml
+     + war
+       - somepage.xhtml
+       + WEB-INF
+         - appengine-web.xml
+         - faces-config.xml
+         - logging.properties
+         - web.xml
+         + lib
+           - appengine-api-1.0-sdk-1.3.0.jar
+           - appengine-api-labs-1.3.0.jar
+           - commons-beanutils-1.7.0.jar
+           - commons-codec-1.3.jar
+           - commons-collections-3.2.jar
+           - commons-digester-1.8.jar
+           - commons-discovery-0.4.jar
+           - commons-logging-1.1.1.jar
+           - datanucleus-appengine-1.0.4.1.final.jar
+           - datanucleus-core-1.1.5.jar
+           - datanucleus-jpa-1.1.5.jar
+           - el-api-1.1.jar
+           - el-impl-1.1.jar
+           - geronimo-jpa_3.0_spec-1.1.1.jar
+           - geronimo-jta_1.1_spec-1.1.1.jar
+           - jdo2-api-2.3-eb.jar
+           - jsf-facelets.jar
+           - myfaces-api-2.0.0.jar 
+           ~~ or some other version
+           - myfaces-impl-2.0.0.jar 
+           ~~ or some other version
++------------------------------------------------------------------------+
+
+  ~~ put the link of the kickstart zip file including structure above!!