<?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>
    <section name="Navigation Top">
        <a href="configentries.html">&lt;&lt;appendix Configuration Entries</a>
    </section>
    <section name="Appendix: Example Configuration">
        <subsection name="General Information">
            <p>
                This page gives a detailed example configuration for
                Ext-Scripting for installation
                details please visit the<a href="installation.html">setup guide</a>.
            </p>
        </subsection>
        <subsection name="Simple Configuration">

            <source><![CDATA[
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


    <description>MyProject web.xml</description>

    <!-- ======================================================================================
            Plugin Init Parameter
            First Step to enable Ext-Scripting
         ====================================================================================== -->
    <context-param>
        <description>
            Initializes the plugins for our scripting support
        </description>
        <param-name>org.apache.myfaces.FACES_INIT_PLUGINS</param-name>
        <param-value>org.apache.myfaces.extensions.scripting.servlet.StartupServletContextPluginChainLoader</param-value>
    </context-param>

    <!-- Faces Servlet -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

</web-app>
        ]]></source>
        </subsection>
        <subsection name="Full Configuration">
            <source><![CDATA[
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


    <description>MyProject web.xml</description>

    <!-- ======================================================================================
            Plugin Init Parameter
            First Step to enable Ext-Scripting
         ====================================================================================== -->

    <context-param>
        <description>
            Initializes the plugins for our groovy handlers
        </description>
        <param-name>org.apache.myfaces.FACES_INIT_PLUGINS</param-name>
        <param-value>org.apache.myfaces.extensions.scripting.servlet.StartupServletContextPluginChainLoader</param-value>
    </context-param>


    <!-- ======================================================================================
            Loader path for Groovy files
         ====================================================================================== -->
    <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>
            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/groovy
        </param-value>
    </context-param>

    <!-- ======================================================================================
            Optional Loader Paths for Java Source Files
         ====================================================================================== -->
    <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>
            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp/WEB-INF/java
        </param-value>
    </context-param>

    <!-- ======================================================================================
            Optional Loader Paths for resource files
         ====================================================================================== -->
    <context-param>
        <description>resource paths for our custom JSF2 resource resolver</description>
        <param-name>org.apache.myfaces.extensions.scripting.resources.LOADER_PATHS</param-name>
        <param-value>
            /Users/werpu2/development/workspace/extensions-scripting3/examples/myfaces20-example/src/main/webapp
        </param-value>
    </context-param>

    <!-- ======================================================================================
            Optional: Tell Facelets to load the resources from your source dir
         ====================================================================================== -->
    <context-param>
        <description>a redirecting Facelet resource resolver which allows to pick up templates and resources from our
            source dir
        </description>
        <param-name>facelets.RESOURCE_RESOLVER</param-name>
        <param-value>org.apache.myfaces.extensions.scripting.facelet.ReroutingResourceResolver</param-value>
    </context-param>

    <!-- ======================================================================================
            Optional: Whitelist of root packages where your sources should come from
         ====================================================================================== -->
    <context-param>
        <description>a comma separated whitelist of root packages which are compiled those and nothing else
            will be compiled during all compile stages, all other files stay permanently as they are
        </description>
        <param-name>org.apache.myfaces.extensions.scripting.PGK_WHITELIST</param-name>
        <param-value>org.apache.myfaces.groovyloader.blog,org.apache.myfaces.javaloader.blog</param-value>
    </context-param>

    <!-- ======================================================================================
            Optional Additional Classpath
         ====================================================================================== -->
    <context-param>
        <description>
            Additional Classpaths which will be added to the compilers classpath
        </description>
        <param-name>org.apache.myfaces.extensions.scripting.PGK_ADDITIONAL_CLASSPATH</param-name>
        <param-value>/usr/lib/java/myjar.jar,/usr/lib/java/myjar2.jar</param-value>
    </context-param>

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>



    <!-- Listener, to allow Jetty serving MyFaces apps -->
    <listener>
        <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
    </listener>

    <!-- Faces Servlet -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>



</web-app>

        ]]></source>
        </subsection>
    </section>
    <section name="Navigation Bottom">
        <a href="configentries.html">&lt;&lt;appendix Configuration Entries</a>
    </section>
</document>    