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!!