blob: c85389566a5ff2f2478cea906cb6542148284ae1 [file] [log] [blame]
<?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">&lt;&lt;Back to the Start Page</a>
or
<a href="using_general.html">On to the General Users Guide&gt;&gt;</a>
</section>
<section name="Checkout and Build">
<p>
A manual build for beta-1 is not necessary you always can obtain the needed files
via Maven(see below) or you can download them manually and have the integrated
manually (also see below), however if you prefer a build from source
you can follow the explanations presented here:
You can download the sources of the Ext-Scripting Beta-1 from:
The beta 1 tag <a href="http://svn.apache.org/repos/asf/myfaces/extensions/scripting/tags/1_0_beta_1">
http://svn.apache.org/repos/asf/myfaces/extensions/scripting/tags/1_0_beta_1
</a>
</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>&lt;checkoutDir&gt;/examples</b>
, which can be started via<b>mvn jetty:run-exploded</b>.
</p>
</section>
<section name="Setup of Ext-Scripting">
<subsection name="Requirements">
<p>
Before setting up Ext-Scripting 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>
TODO add the ALPHA 1 Installation here as separate link!
<subsection name="Preparations via Apache Maven 2">
<p>The easiest way is probably to use Ext-Scripting via Apache Maven 2
</p>
<p>(note a compile is not necessary since all needed files are hosted on the apache infrastructure)</p>
<p>
As a prerequisite make sure you have added following entry to your pom.xml so that
the appropriate jars can be loaded from our beta build repository:
<source><![CDATA[
<repositories>
<repository>
<id>extscript-beta-1</id>
<url>http://people.apache.org/~lu4242/extscript10beta1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
]]>
</source>
</p>
<p>This will enable Maven to download the beta-1 build jars from the internet.</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.extension-scripting</groupId>
<artifactId>extscript-myfaces12-bundle</artifactId>
<version>1.0-beta-1</version>
</dependency>]]></source>
<h4>MyFaces 2.+</h4>
<source><![CDATA[
<dependency>
<groupId>org.apache.myfaces.extension-scripting</groupId>
<artifactId>extscript-myfaces20-bundle</artifactId>
<version>1.0-beta-1</version>
</dependency>]]></source>
</subsection>
<!-- TODO add download information here -->
<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.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.scripting.servlet.ScriptingServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>scriptingFilter</filter-name>
<url-pattern>/*</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>
<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.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.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.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.scripting.java.LOADER_PATHS</b>
does the same for Java sources..
</li>
</ul>
</subsection>
</section>
<section name="Navigation Bottom">
<a href="index.html">&lt;&lt;Back to the Start Page</a>
or
<a href="using_general.html">On to the General Users Guide&gt;&gt;</a>
</section>
</body>
</document>