| <?xml version="1.0" encoding="ISO-8859-1" ?> |
| <!-- |
| 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. |
| |
| --> |
| <document> |
| <properties> |
| <title>Installation</title> |
| </properties> |
| |
| <body> |
| <section name="Navigation Top"> |
| <a href="index.html"><<Back to the Start Page</a> |
| or |
| |
| <a href="using_general.html">On to the General Users Guide>></a> |
| </section> |
| |
| <section name="General information"> |
| This section applies to setting up Ext-Scripting from the latest codebase if you want |
| to set it up from one of the beta or alpha builds please follow following instructions: |
| <ul> |
| <li> |
| <a href="install_beta_1.html">Installation Instructions for Beta-1</a> |
| </li> |
| <li> |
| <a href="install_alpha_1.html">Installation Instructions for Alpha-1</a> |
| </li> |
| </ul> |
| </section> |
| |
| |
| <section name="Setup overview"> |
| <subsection name="General Setup Information" > |
| <p> |
| |
| Ext-Scripting has a complete appendix list over all configuration and setup options |
| for a quick overview please visit the following links. If you need detailed |
| setup information, then read further on. |
| </p> |
| </subsection> |
| <subsection name="Links"> |
| <p> |
| <ul><a href="setup_steps.html">Appendix: Configuration Setup Steps</a> </ul> |
| <ul><a href="exampleconfig.html">Appendix: Example Configurations</a> </ul> |
| <ul><a href="configentries.html">Appendix: List of Configuration Options</a> </ul> |
| </p> |
| </subsection> |
| </section> |
| |
| |
| <section name="Checklist"> |
| <p> |
| |
| For a short checklist of setup steps please follow <b><a href="setup_steps.html"> this link</a></b>. For a detailed |
| setup guide, please continue reading. |
| </p> |
| </section> |
| |
| |
| <section name="Checkout and Build"> |
| <p> |
| While Ext-Scripting is already in beta stage, the best way to get started |
| is probably to checkout and build ext-scripting yourself from the latest codebase. |
| All other installation steps will have this step as prerequisite if you want to |
| use the latest codebase instead of one of the beta releases! |
| First you have to check out the latest codebase from |
| |
| <a href="http://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk"> |
| http://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk |
| </a> |
| |
| via a subversion client. |
| </p> |
| <p> |
| Make sure you have following requirements fulfilled before checking out: |
| </p> |
| <ul> |
| <li>A valid Subversion client</li> |
| <li>Java 5 or higher</li> |
| <li>Maven 2.0.9 or higher</li> |
| </ul> |
| <p> |
| After checkout, a full build can be obtained from the root directory of your checkout via <b>mvn |
| clean install</b>. |
| </p> |
| <p> |
| Once finished, a valid build is installed, which can be used further on. Additionally you can find |
| two blueprint projects which you can use as starting points for your own projects under |
| <b><checkoutDir>/examples</b> |
| , which can be started via<b>mvn jetty:run-exploded</b>. |
| The now generated files either can be used to be included in a maven install or be included manually |
| (please go to the next section for detailed setup instructions) |
| |
| </p> |
| |
| </section> |
| |
| <section name="Setup of Ext-Scripting"> |
| |
| <subsection name="Requirements"> |
| <p> |
| Before setting up Ext-Scripting for your project make sure following requirements are met. |
| </p> |
| <ul> |
| <li>JAVA_HOME points towards a valid Java SDK (JRE is not sufficient)</li> |
| <li>You know how to create and deploy a web application within your preferred setup (command line, |
| ide) |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Setup"> |
| <p> |
| While one of the aims of Ext-Scripting was to enable an easy setup, for now it was not entirely |
| possible for now to get a plug and play configuration. Several configuration steps have to be |
| performed. |
| </p> |
| <ul> |
| <li>A valid |
| <b>MyFaces</b> |
| installation has to be present |
| </li> |
| <li>Ext-Scripting and its dependencies has to be added to the MyFaces installation</li> |
| <li>The paths to the scripts have to be present (see also below)</li> |
| </ul> |
| |
| </subsection> |
| |
| |
| <subsection name="Preparations via Apache Maven 2"> |
| <p>The easiest way once Extension scripting is compiled is probably a setup via Apache Maven 2 |
| </p> |
| <p> |
| Depending on your configuration and preferred JDK version you can add following entries to your |
| Maven pom.xml to enable Ext-Scripting |
| </p> |
| |
| <p/> |
| <h4>MyFaces 1.2.8+</h4> |
| <source><![CDATA[ |
| <dependency> |
| <groupId>org.apache.myfaces.extensions.scripting</groupId> |
| <artifactId>extscript-myfaces12-bundle</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| </dependency>]]></source> |
| |
| <h4>MyFaces 2.+</h4> |
| <source><![CDATA[ |
| <dependency> |
| <groupId>org.apache.myfaces.extensions.scripting</groupId> |
| <artifactId>extscript-myfaces20-bundle</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| </dependency>]]></source> |
| </subsection> |
| |
| |
| <subsection name="Manual Setup"> |
| <p>If you do not like Maven or you prefer a manual setup, Ext-Scripting provides convenient meta bundles. |
| A manual setup |
| comes down to the task of adding the appropriate meta bundle (extscript-myfaces12-bundle or |
| extscript-myfaces20-bundle) |
| to your WEB-INF/lib directory and adding a groovy-all.jar as additional dependency. |
| </p> |
| <p>you can obtain both jars after the build from: |
| <ul> |
| <li><yourbuilderoot>/extscript-bundles/xtscript-myfaces12-bundle/target/extscript-myfaces12-bundle-1.0-SNAPSHOT.jar</li> |
| <li><yourbuilderoot>/extscript-bundles/xtscript-myfaces12-bundle/target/extscript-myfaces20-bundle-1.0-SNAPSHOT.jar</li> |
| </ul> |
| </p> |
| <p>After having done that you are ready to setup the rest of the Ext-Scripting configuration manually as |
| described in the section blow |
| </p> |
| </subsection> |
| |
| |
| <subsection name="Preparing the Necessary web.xml Entries"> |
| <h4>First Step</h4> |
| <p>To enable Ext-Scripting you also have to add several entries to your web.xml file.</p> |
| |
| <p>First a context param has to be set which attaches the Ext-Scripting plugins to MyFaces</p> |
| <source><![CDATA[ |
| <context-param> |
| <description> |
| Enables our scripting engine support plugins |
| </description> |
| <param-name>org.apache.myfaces.FACES_INIT_PLUGINS</param-name> |
| <param-value> |
| org.apache.myfaces.extensions.scripting.servlet.StartupServletContextPluginChainLoader |
| </param-value> |
| </context-param>]]></source> |
| <h4>Second Step</h4> |
| <p>Add Ext-Scriptings servlet filter to your servlet configuration</p> |
| <source><![CDATA[ |
| <filter> |
| <filter-name>scriptingFilter</filter-name> |
| <filter-class>org.apache.myfaces.extensions.scripting.servlet.ScriptingServletFilter</filter-class> |
| </filter> |
| <filter-mapping> |
| <filter-name>scriptingFilter</filter-name> |
| <url-pattern>/*.jsf</url-pattern> |
| <dispatcher>REQUEST</dispatcher> |
| <dispatcher>FORWARD</dispatcher> |
| <dispatcher>INCLUDE</dispatcher> |
| <dispatcher>ERROR</dispatcher> |
| </filter-mapping>]]></source> |
| <p>The init parameter and the servlet filter |
| <b>MUST</b> |
| be set otherwise Ext-Scripting will not be enabled! |
| </p> |
| <p> For the filter pattern you can use every pattern which enables your web pages, |
| the standard cases are, either <b>*.jsf</b> or <b>/faces/*</b> |
| Note you <b>must</b> use the same pattern as described in the configuration |
| part of your Faces Servlet.</p> |
| <h4>Additional Optional Steps</h4> |
| <p>Ext-Scripting exposes a number configuration parameters which can be set via context parameters in |
| your web.xml |
| </p> |
| |
| <h4>Adjust the web.xml Root source paths.</h4> |
| <p>Since the goal of Ext-Scripting is to provide scriptability to a running web application, it has to |
| know where to find the sources. For this, a default location has been chosen |
| according to the standards set by the Mojarra Groovy Extension. |
| </p> |
| <p> |
| The location looks like: |
| </p> |
| <source><![CDATA[ |
| <webapp>/WEB-INF/groovy |
| ]]></source> |
| <p> |
| as root location for Groovy files |
| </p> |
| <source><![CDATA[ |
| <webapp>/WEB-INF/java |
| ]]></source> |
| <p> |
| as root location for java files. |
| </p> |
| <p> |
| Following image displays the default locations: |
| <img src="images/ext_default_file.jpg"/> |
| </p> |
| <p>However in a normal development scenario, it is often undesirable to have the files located in a |
| deployment location, and a pointer mechanism towards the actual source locations would be more |
| desirable. |
| |
| To provide such a mechanism, Ext-Scripting allows two optional web.xml context parameters, which |
| allow the rerouting of source locations of the supported languages! |
| </p> |
| <source><![CDATA[ |
| <context-param> |
| <description>Additional comma separated loader paths to allow direct editing on the sources directory instead |
| of the deployment dir |
| </description> |
| <param-name>org.apache.myfaces.extensions.scripting.groovy.LOADER_PATHS</param-name> |
| <param-value> |
| <some project path>/src/main/webapp/WEB-INF/groovy |
| </param-value> |
| </context-param> |
| <context-param> |
| <description>Additional comma separated loader paths to allow direct editing on the sources directory instead |
| of the deployment dir |
| </description> |
| <param-name>org.apache.myfaces.extensions.scripting.java.LOADER_PATHS</param-name> |
| <param-value> |
| <some project path>/src/main/webapp/WEB-INF/java |
| </param-value> |
| </context-param> |
| ]]></source> |
| <ul> |
| <li> |
| <b>org.apache.myfaces.extensions.scripting.groovy.LOADER_PATHS</b> |
| can be a comma separated list of paths which point to the actual Groovy sources. |
| </li> |
| <li> |
| <b>org.apache.myfaces.extensions.scripting.java.LOADER_PATHS</b> |
| does the same for Java sources.. |
| </li> |
| </ul> |
| |
| </subsection> |
| </section> |
| |
| <section name="Navigation Bottom"> |
| <a href="index.html"><<Back to the Start Page</a> |
| or |
| |
| <a href="using_general.html">On to the General Users Guide>></a> |
| </section> |
| |
| </body> |
| </document> |
| |