forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rgard...@apache.org
Subject cvs commit: xml-forrest/src/core/var webapp-local-generated-message.txt webapp-generated-message.txt
Date Sat, 17 Jan 2004 02:20:30 GMT
rgardler    2004/01/16 18:20:30

  Modified:    src/core forrest.build.xml
               src/core/context/WEB-INF cocoon.xconf
               src/core/var webapp-generated-message.txt
  Added:       src/core/context/WEB-INF cocoon-live.xconf
               src/core/var webapp-local-generated-message.txt
  Log:
  Create a WAR that can be deployed. "run" target still builds a war allowing in place editing of docs, "war" target now includes those items. Fixes FOR-89
  
  Revision  Changes    Path
  1.16      +184 -10   xml-forrest/src/core/forrest.build.xml
  
  Index: forrest.build.xml
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/core/forrest.build.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- forrest.build.xml	21 Dec 2003 00:31:56 -0000	1.15
  +++ forrest.build.xml	17 Jan 2004 02:20:30 -0000	1.16
  @@ -41,7 +41,7 @@
   <!-- ***************************************************************** -->
   
     <!-- ===============================================================
  -       Loads user defined settings.
  +       Loads user defined settings for local deployment.
          Steps back to defaults when they are not set.
          Echo's the settings if requested.
          =============================================================== -->
  @@ -105,7 +105,7 @@
       <!-- echo settings in -Dforrest.echo=true mode -->
       <antcall target="echo-settings" />
     </target>
  -
  +  
     <target name="examine-proj" depends="init-props">
       <available property="conf.present" file="${conf-dir}" type="dir"/>
       <available property="raw-content.present" file="${raw-content-dir}" type="dir"/>
  @@ -275,7 +275,7 @@
   
   
     <!-- ===============================================================
  -       Fills the Cocoon context dir to work in 
  +       Fills the Cocoon context dir for local execution 
          with the forrest-predefines.
          param: name of the skin to use ${project.skin} (now)
          param: location to make temporary context-dir ${project.webapp} 
  @@ -304,6 +304,7 @@
         <fileset dir="${forrest.home}/context" >
           <include name="*.xmap" />
           <include name="WEB-INF/*.xconf" />
  +        <exclude name="WEB-INF/cocoon-live.xconf"/>
         </fileset>
       </copy>
   
  @@ -313,7 +314,6 @@
       <mkdir dir="${project.webapp}/WEB-INF/classes"/>
     </target>
   
  -
     <!-- ===============================================================
          Fills the Cocoon context dir to work in 
          with the project-content-parts 
  @@ -618,12 +618,17 @@
     </target>
   
     <!-- ===============================================================
  -       Builds a cocoon webapp for your project.
  +       Builds a cocoon webapp for local execution.
  +       Note, this webapp is not suitable for deploying remotely as it
  +       is configured to allow editing of files in the ${project.home} 
  +       directory.
          param: location to put generated webapp ${project.webapp}
          =============================================================== -->
  -  <target name="webapp" depends="init, validate, project.webapp.defined, ensure-content, prepare-context,
  +  <target name="webapp-local" depends="init, validate, project.webapp.defined, ensure-content, prepare-context,
            load-project-props"
  -   description="Generates a dynamic servlet-based website (an unpackaged webapp)">
  +   description="Generates a dynamic servlet-based website (an unpackaged webapp).
  +   Note this webapp is suitable for local execution only, use the 'webapp'
  +   target if you wish to deploy remotely.">
       <!-- this will need revisions in the case of the siteplan
       extra project-custom classes then will need to be warred in as well. -->
       <mkdir dir="${project.webapp}/WEB-INF"/>
  @@ -660,7 +665,176 @@
       </condition>
       <antcall target="lucene-index"/>
   
  -    <loadfile  property="webapp-generated-message" srcFile="${forrest.home}/var/webapp-generated-message.txt">
  +    <loadfile  property="webapp-local-generated-message" srcFile="${forrest.home}/var/webapp-local-generated-message.txt">
  +        <filterchain><expandproperties/></filterchain>
  +    </loadfile>
  +    <echo>${webapp-local-generated-message}</echo>
  +  </target>
  +
  +  <!-- ===============================================================
  +       Builds a cocoon webapp of your project for remote deployment.
  +       param: location to put generated webapp ${project.webapp}
  +       =============================================================== -->
  +  <target name="webapp" depends="webapp-local, copy-xdocs, copy-content"
  +   description="Generates a dynamic servlet-based website (an unpackaged webapp).">
  +   
  +   <!-- 
  +    | Copy all non-xdocs content across to the webapp
  +   -->
  +   <copy toDir="${project.webapp}" 
  +     overwrite="true" failonerror="false">
  +     <fileset dir="${content-dir}/content">
  +       <exclude name="xdocs/**"/>
  +     </fileset>
  +   </copy>
  +   <copy toDir="${project.webapp}/resources" 
  +     overwrite="true" failonerror="false">
  +     <fileset dir="${content-dir}/resources"/>
  +   </copy>
  +
  +   <!-- Copy Skins -->
  +   <!-- Copy forrest skin images -->
  +   <copy toDir="${project.webapp}/skin/common/images" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/common/images"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/images" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/${project.skin}/images"/>
  +   </copy>
  +   <!-- Copy project skin images -->
  +   <copy toDir="${project.webapp}/skin/common/images" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/common/images"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/images" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/${project.skin}/images"/>
  +   </copy>
  + 
  +   <!-- Copy forrest skin XSLT files -->
  +   <copy toDir="${project.webapp}/skin/common/xslt" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/common/xslt"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/xslt" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/${project.skin}/xslt"/>
  +   </copy>
  +   <!-- Copy project skin XSLT files -->
  +   <copy toDir="${project.webapp}/skin/common/xslt" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/common/xslt"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/xslt" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/${project.skin}/xslt"/>
  +   </copy>
  + 
  +   <!-- Copy forrest skin CSS files -->
  +   <copy toDir="${project.webapp}/skin/common/css" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/common/css"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/css" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/${project.skin}/css"/>
  +   </copy>
  +   <!-- Copy project skin CSS files -->
  +   <copy toDir="${project.webapp}/skin/common/css" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/common/css"/>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}/css" overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${project.skins-dir}/${project.skin}/css"/>
  +   </copy>
  + 
  +   <!-- Copy all other non-resource files from Forrest skins -->
  +   <copy toDir="${project.webapp}/skin/common" 
  +     overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/common">
  +       <exclude name="images/**"/>
  +       <exclude name="xslt/**"/>
  +       <exclude name="css/**"/>
  +     </fileset>
  +   </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}" 
  +     overwrite="true"
  +     failonerror="false">
  +     <fileset dir="${forrest.skins-dir}/${project.skin}">
  +       <exclude name="images/**"/>
  +       <exclude name="xslt/**"/>
  +       <exclude name="css/**"/>
  +     </fileset>
  +   </copy>
  +        
  +   <!-- Copy all other non-resource files from project skins-->
  +   <copy toDir="${project.webapp}/skin/common" 
  +      overwrite="true"
  +      failonerror="false">
  +      <fileset dir="${project.skins-dir}/common">
  +        <exclude name="images/**"/>
  +        <exclude name="xslt/**"/>
  +        <exclude name="css/**"/>
  +      </fileset>
  +    </copy>
  +   <copy toDir="${project.webapp}/skin/${project.skin}" 
  +      overwrite="true"
  +      failonerror="false">
  +      <fileset dir="${project.skins-dir}/${project.skin}">
  +        <exclude name="images/**"/>
  +        <exclude name="xslt/**"/>
  +        <exclude name="css/**"/>
  +      </fileset>
  +    </copy>
  +   
  +    <!-- copy custom xmaps -->
  +    <copy toDir="${project.webapp}" 
  +      overwrite="true"
  +      failonerror="false">
  +      <fileset dir="${project.content-dir}">
  +        <include name="*.xmap"/>
  +      </fileset>
  +    </copy>
  +    
  +    <!-- copy skinconf -->
  +    <copy toDir="${project.webapp}" 
  +      overwrite="true"
  +      failonerror="false"
  +      file="${skinconf}"/>
  +    
  +    <!-- copy Schemas -->
  +    <copy toDir="${project.webapp}/resources"
  +      overwrite="true"
  +      failonerror="false">
  +      <fileset dir="${forrest.home}/context/resources"/>
  +    </copy>
  +    
  +    <!-- Change the filter tokens for cocoon.xconf.
  +         Note that we don't need to change the
  +         forrest filters since either these are the same as for the local
  +         webapp or their values can be fixed in the cocoon.xconf template. -->
  +    <!-- FIXME: Do these tokens need to be customisable via forrest.properties? -->
  +    <filter token="project.home" value="."/>
  +    <filter token="project.skins-dir" value="skin"/>
  +    <filter token="project.skinconf" value="../../../../skinconf.xml"/>
  +    <filter token="project.content-dir" value="."/>
  +    <filter token="project.raw-content-dir" value="content"/>
  +    <filter token="project.xdocs-dir" value="content/xdocs"/>
  +    <filter token="project.translations-dir" value="translations"/>
  +    <filter token="project.stylesheets-dir" value="resources/stylesheets"/>
  +    <filter token="project.images-dir" value="resources/images"/>
  +    <filter token="local-catalog" value="resources/schema/catalog.xcat"/>
  +      
  +    <copy tofile="${project.webapp}/WEB-INF/cocoon.xconf" 
  +      filtering="true" 
  +      overwrite="true"
  +      file="${forrest.home}/context/WEB-INF/cocoon-live.xconf" />
  +    
  +    <loadfile  property="webapp-generated-message" 
  +      srcFile="${forrest.home}/var/webapp-generated-message.txt">
           <filterchain><expandproperties/></filterchain>
       </loadfile>
       <echo>${webapp-generated-message}</echo>
  @@ -670,7 +844,7 @@
          Builds a cocoon .war for your project based on the siteplan.
          param: location to put generated war ${project.war}
          =============================================================== -->
  - <target name="war" depends="webapp, copy-xdocs,copy-content "
  + <target name="war" depends="webapp"
      description="Generates a dynamic servlet-based website (an packaged .war file)">
   
      <jar destfile="${project.war}" basedir="${project.webapp}"/>
  @@ -869,7 +1043,7 @@
   
     <target name="run" 
      description="Run Jetty with configuration set by the jetty.run property"
  -   depends="webapp">
  +   depends="webapp-local">
   
       <java classname="org.mortbay.jetty.Server"
             dir="${project.webapp}"
  
  
  
  1.5       +1 -0      xml-forrest/src/core/context/WEB-INF/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/core/context/WEB-INF/cocoon.xconf,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- cocoon.xconf	13 Jan 2004 14:56:27 -0000	1.4
  +++ cocoon.xconf	17 Jan 2004 02:20:30 -0000	1.5
  @@ -165,6 +165,7 @@
           <bugtracking-url>@bugtracking-url@</bugtracking-url>
           <i18n>@i18n@</i18n>
           <home>@forrest.home@/</home>
  +        <skins-dir>@forrest.home@/context/skins/</skins-dir>
           <stylesheets>@forrest.home@/context/resources/stylesheets</stylesheets>
         </values>
       </component-instance>
  
  
  
  1.1                  xml-forrest/src/core/context/WEB-INF/cocoon-live.xconf
  
  Index: cocoon-live.xconf
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <cocoon version="2.1">
  
  <!--+
      |  This is the Apache Cocoon configuration file. This is the place
      |  where you configure the components that Cocoon uses internally (stuff
      |  like the cache) or handles to the pipeline components
      |  (stuff like XML parsers or XSLT processors).
      +-->
  
  <!-- =========================== Sitemap =============================== -->
  
    <!--+
        | New implementation of the sitemap. It is interpreted, so load times
        | are super-fast, and request processing is slightly faster than with
        | the compiled engine thanks to the HotSpot VM.
        |
        | Reloading of the sitemap:
        |   The check-reload attribute determines if the sitemap is to be
        |   reloaded on change.
        |   Set to "no", the sitemap is generated once at startup.
        |   Set to "yes", the sitemap is regenerated if it changes.
        |
        | For development environment, set the check-reload to yes.
        | For production environment, it is advisable to set check-reload to no.
        +-->
    <sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/>
  
  <!-- ========================= Sitemap Flowscript ========================== -->
  
    <!--+
        |  The <flow-interpreters> element is used to describe the flowscript
        |  engines usedd by the current instance.
        |
        |  The attributes recognized by the <flow-interpreters> element are:
        |
        |    default (string value):
        |
        |       the default interpreted language assumed for <map:script>
        |       elements which do not specify a "language" attribute. If not
        |       present, the first language that's described within the
        |       <flow-interpreters> element is assumed to be the default
        |       language.
        |
        |  Within <flow-interpreters> only <component-instance> elements are
        |  recognized. The attributes recognized by this element are "name"
        |  and "class". "name" specifies the name of a scripting language,
        |  and "class" defines the Java class that implements it. See
        |  org.apache.cocoon.components.flow.Interpreter for the Cocoon
        |  interface with an scripting language interpreter.
        |
        |  A <component-instance> element contains as subelements the
        |  following elements:
        |
        |    reload-scripts (boolean value, default false):
        |
        |       whether to check if the scripts source files are
        |       modified. Checking for modification is an expensive
        |       operation, so leave it disabled in a production
        |       environment. If not present it is assumed to be "false". When
        |       "true" *all* script files are checked for modification on
        |       each function invocation done using <map:call
        |       function="...">, but not more frequent than the value of
        |       "check-time" (see below).
        |
        |    check-time (long value, default 1000):
        |
        |       time in miliseconds between the checks for the last
        |       modification date of script files.
        |
        |    debugger (boolean value, default false):
        |
        |       whether support for the JavaScript debugger should be enabled
        |       in the control flow.
        +-->
    <flow-interpreters default="JavaScript" logger="flow">
      <component-instance class="org.apache.cocoon.components.flow.javascript.JavaScriptInterpreter" name="JavaScript">
        <load-on-startup>resource://org/apache/cocoon/components/flow/javascript/system.js</load-on-startup>
        <reload-scripts>false</reload-scripts>
        <check-time>4000</check-time>
        <!--  <debugger>enabled</debugger> -->  <!-- JavaScript Debugger support -->
      </component-instance>
    </flow-interpreters>
  
    <!--+
        | Configuration for the continuations manager.
        |
        | This section specifies the default time-to-live of continuations
        | in miliseconds using the "time-to-live" attribute of
        | the <continuations-manager> element.
        |
        | The <expirations-check> element specifies different policies for
        | expiring continuations. Currently only the "periodic" type is
        | supported.
        +-->
    <continuations-manager logger="flow" time-to-live="3600000">
      <expirations-check type="periodic">
        <offset>180000</offset>
        <period>180000</period>
      </expirations-check>
    </continuations-manager>
  
  <!-- =================== Sitemap Input/Output Modules ====================== -->
  
    <!--+
        | InputModules are a replacement to reading values directly
        | e.g. from request parameters. By using this abstraction and
        | indirection, other components can be more generic and changes
        | to the application logic are easier.
        |
        | A number of components already use InputModules: the sitemap processor, 
        | flow, some matchers, the linkrewriting transformer, database actions
        | and more.
        |
        | For example the sitemap processor allows to obtain a value
        | named "foo" from an the InputModule for request parameters by
        | writing {request-param:foo} wherever a sitemap variable is
        | allowed. 
        |
        | Some InputModules need the help of other InputModules to
        | obtain values and only apply a function to the obtained value
        | or change the name of the attribute. These modules usually
        | carry "Meta" in their name. An example is the ChainMetaModule
        | which tries several other modules in turn until a non-null
        | value is obtained or all modules are tied.
  	  |
        | For details and optional configuration parameters refer to the
        | accompanying javadocs.
        +-->
    <input-modules>
      <component-instance class="org.apache.cocoon.components.modules.input.GlobalInputModule" logger="core.modules.input" name="global"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RequestModule" logger="core.modules.input" name="request"/>
      <component-instance class="org.apache.cocoon.components.modules.input.BaseLinkModule" logger="core.modules.input" name="baselink"/>
      <component-instance class="org.apache.cocoon.components.modules.input.SessionModule" logger="core.modules.input" name="session"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RequestParameterModule" logger="core.modules.input" name="request-param"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RawRequestParameterModule" logger="core.modules.input" name="raw-request-param"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RequestAttributeModule" logger="core.modules.input" name="request-attr"/>
      <component-instance class="org.apache.cocoon.components.modules.input.HeaderAttributeModule" logger="core.modules.input" name="request-header"/>
      <component-instance class="org.apache.cocoon.components.modules.input.SessionAttributeModule" logger="core.modules.input" name="session-attr"/>
      <component-instance class="org.apache.cocoon.components.modules.input.SystemPropertyModule" logger="core.modules.input" name="system-property"/>
      <component-instance class="org.apache.cocoon.components.modules.input.StringConstantModule" logger="core.modules.input" name="constant"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RandomNumberModule" logger="core.modules.input" name="random"/>
      <component-instance class="org.apache.cocoon.components.modules.input.DigestMetaModule" logger="core.modules.input" name="digest"/>
      <component-instance class="org.apache.cocoon.components.modules.input.DateInputModule" logger="core.modules.input" name="date">
        <!-- <format>EEE, d MMM yyyy HH:mm:ss Z</format> -->
        <!--Eg: Mon, 28 Oct 2002 03:08:49 +1100 -->
      </component-instance>
      <component-instance class="org.apache.cocoon.components.modules.input.NullInputModule" logger="core.modules.input" name="nullinput"/>
      <component-instance class="org.apache.cocoon.components.modules.input.RealPathModule" logger="core.modules.input" name="realpath"/> 
      <component-instance class="org.apache.cocoon.components.modules.input.XMLMetaModule" logger="core.modules.input" name="xmlmeta"/>
      <component-instance class="org.apache.cocoon.components.modules.input.MapMetaModule" logger="core.modules.input" name="mapmeta"/>
      <component-instance class="org.apache.cocoon.components.modules.input.DateMetaInputModule" logger="core.modules.input" name="datemeta"/>
      <component-instance class="org.apache.cocoon.components.modules.input.JXPathMetaModule" logger="core.modules.input" name="jxpath"/>
      <component-instance class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule" logger="core.modules.input" name="simplemap"/>
      <component-instance logger="core.modules.input" name="forrest"    class="org.apache.cocoon.components.modules.input.ChainMetaModule">
        <input-module name="request-param"/>
        <input-module name="request-attr"/>
        <input-module name="session-attr"/>
        <input-module name="defaults"/>
      </component-instance>
      <component-instance name="defaults"       class="org.apache.cocoon.components.modules.input.DefaultsMetaModule">
        <values>
          <skin>@skin@</skin>
          <menu-scheme>@menu-scheme@</menu-scheme>
          <bugtracking-url>@bugtracking-url@</bugtracking-url>
          <i18n>@i18n@</i18n>
          <home>.</home>
          <skins-dir>skin/</skins-dir>
          <stylesheets>resources/stylesheets</stylesheets>
        </values>
      </component-instance>
  
      <component-instance name="project"       class="org.apache.cocoon.components.modules.input.DefaultsMetaModule">
        <values>
          <skin>@skin@</skin>
          <skinconf>@project.skinconf@</skinconf>        
          <doc>@project.content-dir@/</doc>
          <content>@project.raw-content-dir@/</content>
          <content.xdocs>@project.xdocs-dir@/</content.xdocs>
          <translations>@project.translations-dir@</translations>
          <resources.stylesheets>@project.stylesheets-dir@/</resources.stylesheets>
          <resources.images>@project.images-dir@/</resources.images>
          <skins-dir>@project.skins-dir@/</skins-dir>
        </values>
      </component-instance>
  
      <component-instance
        class="org.apache.cocoon.components.modules.input.XMLFileModule"
        logger="core.modules.xml" name="skinconf"/>
  
      <component-instance
        class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
        logger="core.modules.mapper" name="conf">
        <input-module name="skinconf">
          <file src="skinconf.xml" reloadable="true" />
        </input-module>
        <prefix>/skinconfig/</prefix>
      </component-instance>
  
      <!-- For the site: scheme -->
      <component-instance
        class="org.apache.cocoon.components.modules.input.XMLFileModule"
        logger="core.modules.xml" name="linkmap"/>
  
      <!-- Links to URIs within the site -->
      <component-instance
        class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
        logger="core.modules.mapper" name="site"/>
  
      <!-- Links to external URIs, as distinct from 'site' URIs -->
      <component-instance
        class="org.apache.cocoon.components.modules.input.SimpleMappingMetaModule"
        logger="core.modules.mapper" name="ext"/>
  
  </input-modules>
  
  
  <!-- ================================= XML ================================ -->
  
    <!--+
        | Source Factories
        |
        | Each source factory adds a special uri schemes to the system.
        +-->
    <source-factories>
      <component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/>
      <component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/>
      <component-instance class="org.apache.cocoon.components.source.impl.SitemapSourceFactory" name="cocoon"/>
      <!-- the "*" protocol handles all uri schemes that are not explicitely specified. This includes all
           JDK standard protocols, with special handling of the "file:" protocol which is modifiable
           (can be written to) and traversable (directory structures can be crawled). -->
      <component-instance class="org.apache.excalibur.source.impl.URLSourceFactory" name="*"/>
    </source-factories>
    <!--+
        | Entity resolution catalogs
        |
        | The default catalog is distributed at WEB-INF/entities/catalog
        | This is the contextual pathname for Cocoon resources.
        | You can override this path, if necessary, using the "catalog" parameter:
        |
        |    <parameter name="catalog" value="WEB-INF/entities/catalog"/>
        |
        | However, it is probably desirable to leave this default catalog config
        | and declare your own local catalogs, which are loaded in addition to
        | the system catalog.
        |
        | There are various ways to do local configuration (see "Entity Catalogs"
        | documentation). One way is via the CatalogManager.properties file.
        | As an additional method, you can specify the "local-catalog"
        | parameter here.
        |
        | local-catalog:
        |   The full filesystem pathname to a single local catalog file.
        |
        |  <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/>
        |
        | verbosity:
        | The level of messages for status/debug (messages go to standard output)
        | The following messages are provided ...
        |  0 = none
        |  1 = ? (... not sure yet)
        |  2 = 1+, Loading catalog, Resolved public, Resolved system
        |  3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
        |  10 = 3+, List all catalog entries when loading a catalog
        |    (Cocoon also logs the "Resolved public" messages.)
        |
        |     <parameter name="verbosity" value="2"/>
        +-->
    <entity-resolver logger="core.resolver">
      <parameter name="catalog" value="@local-catalog@"/>
      <parameter name="verbosity" value="@catalog-verbosity@"/>
    </entity-resolver>
  
    <!--+
        | XML Parser
        |
        | The default parser used in Apache Cocoon is
        | org.apache.excalibur.xml.impl.JaxpParser. Apache Cocoon requires a
        | JAXP 1.1 parser.
        | If you have problems because your servlet environment uses its own
        | parser not conforming to JAXP 1.1 try using the alternative
        | XercesParser instead of the JaxpParser. To activate the XercesParser,
        | change the class attribute to
        |   class="org.apache.excalibur.xml.impl.XercesParser"
        | You will also need to add a system property to your JVM,
        | probably on the startup of your servlet engine like this:
        | -Dorg.apache.excalibur.xml.sax.SAXParser=org.apache.excalibur.xml.impl.XercesParser
        |
        | Configuration for the JaxpParser (not the XercesParser!):
        | - validate (boolean, default = false): This parameter causes the parser
        |     to be a validating parser.
        |     XML validation is only being used for the documentation build.
        |     (If you are going to use it elsewhere, then do so with caution.)
        |     You really should have validated all of your XML documents already,
        |     according to their proper DTD or schema. Do not expect Cocoon
        |     to do it.
        | - namespace-prefixes (boolean, default = false) : do we want
        |     namespaces declarations also as 'xmlns:' attributes ?
        |     Note : setting this to true confuses some XSL processors
        |     (e.g. Saxon).
        | - stop-on-warning (boolean, default = true) : should the parser
        |     stop parsing if a warning occurs ?
        | - stop-on-recoverable-error (boolean, default = true) : should the
        |     parser stop parsing if a recoverable error occurs ?
        | - reuse-parsers (boolean, default = true) : do we want to reuse
        |     parsers or create a new parser for each parse ?
        |     Note : even if this parameter is true, parsers are not recycled
        |     in case of parsing errors : some parsers (e.g. Xerces) do not like
        |     to be reused after failure.
        | - sax-parser-factory (string) : the name of the SAXParserFactory
        |     implementation class to be used instead of using the standard
        |     JAXP mechanism (SAXParserFactory.newInstance()). This allows to
        |     choose unambiguously the JAXP implementation to be used when
        |     several of them are available in the classpath.
        | - document-builder-factory (string) : the name of the
        |     DocumentBuilderFactory implementation to be used (similar to
        |     sax-parser-factory for DOM).
        +-->
    <xml-parser class="org.apache.excalibur.xml.impl.JaxpParser" logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8">
      <parameter name="validate" value="false"/>
      <parameter name="namespace-prefixes" value="false"/>
      <parameter name="stop-on-warning" value="true"/>
      <parameter name="stop-on-recoverable-error" value="true"/>
      <parameter name="reuse-parsers" value="false"/>
      <!--parameter name="sax-parser-factory" value="???"/-->
      <!--parameter name="document-builder-factory" value="???"/-->
      <!-- drop-dtd-comments: causes all comment events originating from DTD
           comments to be dropped right after parsing -->
      <parameter name="drop-dtd-comments" value="true"/>
    </xml-parser>
  
  
    <!--+
        | XSLT Processor
        |
        | 'incremental-processing' (only works with Xalan) allows the XSLT
        | processor to start the output of the transformation as soon as possible.
        | if set to false, the transforer waits until the end of the
        | transformation to deliver the output.
        | WARNING: * if you enable incremental-processing, you should be aware of
        |            the following bug:
        |            http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13186
        |          * incremental-processing creates an additional, non-pooled thread.
        |          * using incremental-processing does not save memory, the input
        |            tree will still be build completely.
        |          * incremental processing is a 'static' thing in Xalan: if you
        |            enable it on one xslt-processor, enable it on all.
        +-->
    <xslt-processor logger="core.xslt-processor">
       <parameter name="use-store" value="true"/>
       <parameter name="incremental-processing" value="false"/>
    </xslt-processor>
  
    <!--+
        | XSLT Processor using xsltc from Xalan
        | For Interpreted Xalan use:
        | <transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
        +-->
    <component class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl" logger="core.xslt-processor" role="org.apache.excalibur.xml.xslt.XSLTProcessor/xsltc">
       <parameter name="use-store" value="false"/>
       <parameter name="transformer-factory" value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl"/>
    </component>
    
    <!--+
        | Xalan XSLT Processor
        +-->
    <component class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl" logger="core.xslt-processor" role="org.apache.excalibur.xml.xslt.XSLTProcessor/xalan">
       <parameter name="use-store" value="false"/>
       <parameter name="incremental-processing" value="false"/>
       <parameter name="transformer-factory" value="org.apache.xalan.processor.TransformerFactoryImpl"/>
    </component>
  
    <!--+
        | Saxon XSLT Processor
        | For old (6.5.2) Saxon use:
        |  <parameter name="transformer-factory" value="com.icl.saxon.TransformerFactoryImpl"/>
        | For new (7.x?) Saxon use:
        |  <parameter name="transformer-factory" value="net.sf.saxon.TransformerFactoryImpl"/>
    <component logger="core.xslt-processor"
               role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
               class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
       <parameter name="use-store" value="false"/>
       <parameter name="transformer-factory" value="com.icl.saxon.TransformerFactoryImpl"/>
    </component>
    +-->
  
    <!-- Xpath Processor: -->
    <xpath-processor class="org.apache.excalibur.xml.xpath.XPathProcessorImpl" logger="core.xpath-processor"/>
  
    <!-- The XMLizers converts different mime-types to XML -->
    <xmlizer>
        <parser mime-type="text/xml" role="org.apache.excalibur.xml.sax.SAXParser"/>
    <!--..... Start configuration from 'tidy' -->
  
  
        <parser mime-type="text/html" role="org.apache.excalibur.xml.sax.SAXParser/HTML"/>
  
  <!--..... End configuration from 'tidy' -->
  </xmlizer>
  
  <!-- ============================ Object Stores =========================== -->
  
    <!--+
        | Transient Store: holds objects that don't have to survive shutdown
        +-->
    <transient-store logger="core.store.transient">
  
       <!--+
           | Indicates how many objects will be hold in the cache.
           | When the number of maxobjects has been reached. The last object
           | in the cache will be thrown out.
           +-->
       <parameter name="maxobjects" value="100"/>
  
       <!-- Turns swapping of the objects into persistent cache on and off. -->
       <parameter name="use-persistent-cache" value="false"/>
    </transient-store>
  
    <!--+
        | Persistent Store: holds objects that have to survive shutdown.
        | WARNING: FilesystemStore is broken. Cocoon uses DefaultStore based
        | on the Avalon Excalibur JispStore instead.
        |
        | Common configuration parameters:
        |  use-cache-directory: Indicates that cache directory specified in
        |                       web.xml should be used.
        |  use-work-directory: Indicates that work directory specified in
        |                      web.xml should be used.
        |  directory: Specifies directory to use. Absolute or relative to the
        |             work directory.
        |
        | DefaultStore configuration parameters:
        |  datafile: Name of the store file to use. Defaults to cocoon.dat
        |  indexfile: Name of the index file to use. Defaults to cocoon.idx
        |  order: FIXME: put description here.
        +-->
    <persistent-store class="org.apache.cocoon.components.store.impl.DefaultStore" logger="core.store.persistent">
      <parameter name="use-cache-directory" value="true"/>
      <parameter name="order" value="2701"/>
    </persistent-store>
  
    <!--+
        | Store Janitor: the store garbage collector and memory usage controller.
        |
        | Be careful with the heapsize and freememory parameters. Wrong values
        | can cause high cpu usage. Example configuration:
        | Jvm settings:
        |    -Xmx200000000
        | store-janitor settings:
        |    <parameter name="freememory" value="5000000"/>
        |    <parameter name="heapsize" value="150000000"/>
        |
        | It is recommended to have heapsize equal to -Xmx, especially on Sun's
        | JVM which are unable to shrink its heap once it grows above minimum.
        | Freememory should be greater than amount of memory necessary for normal
        | application operation.
        +-->
    <store-janitor logger="core.store.janitor">
       <!-- How much free memory shall be available in the jvm -->
       <parameter name="freememory" value="1000000"/>
       <!-- Indicates the limit of the jvm memory consumption. The default max
            heapsize for Sun's JVM is 64Mb -->
       <parameter name="heapsize" value="67108864"/>
       <!-- How often shall the cleanup thread check memory -->
       <parameter name="cleanupthreadinterval" value="10"/>
       <!-- Indicates the thread priority of the cleanup thread -->
       <parameter name="threadpriority" value="5"/>
       <!-- How much percent of the elements of each registered Store
            shall be removed when low on memory. Default 10% -->
       <parameter name="percent_to_free" value="10"/>
    </store-janitor>
  
  <!-- ========================= Protocol Handlers =========================== -->
  
  
  <!-- ================ Internationalization Catalogs =================== -->
  
    <!--+
        | I18n Bundle Factory
        |
        | BundleFactory loads Bundles with i18n resources for the given locale.
        | Bundles are loaded from the 'catalogue_location'. Bundle base name is
        | 'catalogue_name' value.
        | If 'cache-at-startup' is true then BundleFactory preloads bundles.
        +-->
    <i18n-bundles logger="core.i18n-bundles">
      <catalogue-name>messages</catalogue-name>
      <catalogue-location>i18n/translations</catalogue-location>
      <cache-at-startup>true</cache-at-startup>
    </i18n-bundles>
  
  <!-- ================ XSP (eXtensible Server Pages) ===================== -->
  
    <!--+
        | Program Generator
        |
        | The ProgamGenerator builds programs from a XML document written in a
        | MarkupLanguage.
        |
        |    auto-reload: whether the system should check if the source was
        |                 modified and reload of consequence.
        |    root-package: the java package to use for the generated classes
        |    preload: whether the system should preload the necessary components
        +-->
    <program-generator logger="core.program-generator">
      <parameter name="auto-reload" value="true"/>
      <parameter name="root-package" value="org.apache.cocoon.www"/>
      <parameter name="preload" value="true"/>
    </program-generator>
  
    <!--+
        | Programming Languages for the XSP pages
        +-->
    <programming-languages>
      <java-language logger="core.language.java" name="java">
  
        <!-- Specifies which formatter to use to format source code.
             This parameter is optional.
             It is commented out because of bug #5689: Java "code-formatter"
             incorrectly formats double values -->
        <!--parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/-->
  
        <!-- A singleton-like implementation of a ClassLoader -->
        <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
  
        <!--+
            | Specifies which Java compiler to use. Possible variants are:
            |
            |  - Javac: the java compiler that comes with JDK
            |  - Pizza: the Pizza java compiler
            |  - Jikes: the Jikes java compiler
            |  - EclipseJavaCompiler: the Eclipse JTD java compiler
            |
            | NOTE: the Eclipse JTD is the only java compiler that is capable
            |       of imports classes thru the context classloader. All other
            |       compilers import classes from the JVM classpath and might
            |       normally result in ClassNotFound problems at compilation
            |       time. It is *HIGHLY* suggested that you use this compiler
            |       or you might experience problems in some servlet containers.
            +-->
        <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/-->
        <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Pizza"/-->
        <!--parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Jikes"/-->
        <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.EclipseJavaCompiler"/>
  
      </java-language>
  
      <!-- Interpreted JavaScript language -->
      <js-language logger="core.language.js" name="js"/>
    </programming-languages>
  
    <!--+
        | Logisheets
        |
        | This section defines the XSP logicsheets. A logicsheet is a special
        | XSLT stylesheet used to translate user-defined dynamic markup into
        | equivalent XSP markup that embeds directives for a given markup
        | language.
        |
        | Logicsheets are the XSP equivalent of taglibs. For info about
        | the tags included in the default taglibs, please, refer to the
        | documentation.
        +-->
    <markup-languages>
      <xsp-language logger="core.markup.xsp" name="xsp">
        <parameter name="prefix" value="xsp"/>
        <parameter name="uri" value="http://apache.org/xsp"/>
  
        <!--+
            | Properties for the java language
            +-->
        <target-language name="java">
          <!-- Defines the XSP Core logicsheet for the Java language -->
          <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
  
          <!-- The Request logicsheet: access request parameters -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-request"/>
            <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Response logicsheet: access response parameters -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-response"/>
            <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Session logicsheet: manages and access the session -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-session"/>
            <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Cookie logicsheet: manages and access cookies  -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-cookie"/>
            <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Log logicsheet: access the cocoon logs from an xsp page  -->
          <builtin-logicsheet>
            <parameter name="prefix" value="log"/>
            <parameter name="uri" value="http://apache.org/xsp/log/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Utility logicsheet -->
          <builtin-logicsheet>
            <parameter name="prefix" value="util"/>
            <parameter name="uri" value="http://apache.org/xsp/util/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/>
          </builtin-logicsheet>
  
          <!-- The xsp-formval taglib serves as interface to retrieve
               validation results from a request attribute -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-formval"/>
            <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/>
          </builtin-logicsheet>
  
          <!-- The sel taglib allows to put multiple pages / view into
               one xsp. While in general it is good style to put
               different views into different xsp because they're more
               easily maintained, this is a useful feature with
               e.g. with long forms that are broken into parts -->
          <builtin-logicsheet>
            <parameter name="prefix" value="sel"/>
            <parameter name="uri" value="http://apache.org/xsp/sel/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/>
          </builtin-logicsheet>
  
          <!-- The Action logicsheet -->
          <builtin-logicsheet>
            <parameter name="prefix" value="action"/>
            <parameter name="uri" value="http://apache.org/cocoon/action/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/action.xsl"/>
          </builtin-logicsheet>
  
          <!-- The capture taglib is for capturing parts of the XSP-generated
               XML as XML fragments or DOM nodes -->
          <builtin-logicsheet>
            <parameter name="prefix" value="capture"/>
            <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/>
          </builtin-logicsheet>
  
          <!-- The XScript logicsheet -->
          <builtin-logicsheet>
            <parameter name="prefix" value="xscript"/>
            <parameter name="uri" value="http://apache.org/xsp/xscript/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xscript.xsl"/>
          </builtin-logicsheet>
  
          <!-- The SOAP logicsheet -->
          <builtin-logicsheet>
            <parameter name="prefix" value="soap"/>
            <parameter name="uri" value="http://apache.org/xsp/soap/3.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/>
          </builtin-logicsheet>
  
          <!-- The JPath logicsheet -->
          <builtin-logicsheet>
            <parameter name="prefix" value="jpath"/>
            <parameter name="uri" value="http://apache.org/xsp/jpath/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/jpath.xsl"/>
          </builtin-logicsheet>
  
          <!-- The input logicsheet allows easy access to InputModules -->
          <builtin-logicsheet>
            <parameter name="prefix" value="input"/>
            <parameter name="uri" value="http://apache.org/cocoon/xsp/input/1.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/input.xsl"/>
          </builtin-logicsheet>
        </target-language>
  
        <!--+
            | Properties for the javascript language
            +-->
        <target-language name="js">
          <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/xsp.xsl"/>
  
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-request"/>
            <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/request.xsl"/>
          </builtin-logicsheet>
  
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-response"/>
            <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/response.xsl"/>
          </builtin-logicsheet>
  
          <builtin-logicsheet>
            <parameter name="prefix" value="xsp-session"/>
            <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
            <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/session.xsl"/>
          </builtin-logicsheet>
        </target-language>
      </xsp-language>
    </markup-languages>
  
    <!-- Xscript -->
    <xscript logger="core.xscript">
      <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/>
      <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/>
    </xscript>
  
  <!-- ====================== System Components =========================== -->
  
    <!--+
        | The core classloader implementation
        +-->
    <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/>
  
    <!--+
        | XML compiler/decompiler
        |
        | these components are used to process SAX events and produce a binary
        | representation that is much more compact and efficient for
        | subsequent parsing. These are used by the cache system to save
        | the intermediate results of the pipeline stages reducing the overhead
        | of xml parsing/serialization.
        +-->
    <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer" pool-grow="4" pool-max="32" pool-min="8"/>
    <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/>
  
    <!--+
        | The Monitor keeps track on changes to a Resource.
        +-->
    <monitor logger="core.monitor">
      <thread frequency="10000" priority="5"/>
    </monitor>
  
    <!--+
        | The Cache Manager is a component that can be used to cache content.
        | It is currently used by the cinclude transformer
        +-->
    <component class="org.apache.cocoon.transformation.helpers.DefaultIncludeCacheManager" role="org.apache.cocoon.transformation.helpers.IncludeCacheManager">
      <!-- Set the preemptive-loader-url to a pipeline inside Cocoon that
           contains the preemptive loader action. The URL must be absolute! 
      <parameter name="preemptive-loader-url" 
                 value="http://localhost:8080/cocoon/samples/cinclude/loader"/>
      -->
   </component>
  
  
    <!-- Profiler:
      The profiler facilitates the gathering of statistics about timings of
      different steps of pipelines. Profiler consists of several components:
       profiling pipeline and profiler generator
      which are used to generate the profile report. You need to enable all of
      these components to use profiler.
      -->
    <profiler results="10"/>
  <!--..... End configuration from 'profiler' -->
  <!--..... Start configuration from 'deprecated' -->
  
  
    <!--+
        | URL Factory
        |
        | The url factory adds special url protocols to the system, they are then
        | available inside Cocoon, e.g. as a source argument for one of the sitemap
        | components.
        |
        | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
        +-->
    <url-factory logger="core.url-factory">
      <!-- Allows access to resources available from the ClassLoader, using getResource() method. -->
      <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" name="resource"/>
    </url-factory>
  
    <!--+
        | Source Handler
        |
        | The source handler adds special url protocols to the system, they are
        | then available inside Cocoon, e.g. as a source argument for one of the
        | sitemap components.
        |
        | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
        +-->
    <source-handler logger="core.source-handler">
      <!-- file protocol : this is a WriteableSource -->
      <protocol class="org.apache.cocoon.components.source.FileSourceFactory" name="file"/>
      <!-- Allows access to resources available from the servlet context, using getResource() method. -->
      <protocol class="org.apache.cocoon.components.source.ContextSourceFactory" name="context"/>
    </source-handler>
    
  <!--..... End configuration from 'deprecated' -->
  </cocoon>
  
  
  
  1.2       +7 -0      xml-forrest/src/core/var/webapp-generated-message.txt
  
  Index: webapp-generated-message.txt
  ===================================================================
  RCS file: /home/cvs/xml-forrest/src/core/var/webapp-generated-message.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- webapp-generated-message.txt	23 Oct 2003 10:47:02 -0000	1.1
  +++ webapp-generated-message.txt	17 Jan 2004 02:20:30 -0000	1.2
  @@ -1,6 +1,13 @@
   ---------------------------------
   Webapp generated in ${project.webapp}
   
  +NOTE
  +This webapp is suitable for deployment to a remote machine, however, it
  +does not allow editing in the project src directory. For local testing
  +of your project files you should use "forrest run" or "forrest webapp-local".
  +These create a webapp, only suitable for local deployment, but that allow
  +editing of your project files in the src directory.
  +
   To run in Tomcat, add this to the config file (usu. server.xml):
   
   &lt;Context path='/${skinconfig.project-name}'
  
  
  
  1.1                  xml-forrest/src/core/var/webapp-local-generated-message.txt
  
  Index: webapp-local-generated-message.txt
  ===================================================================
  ---------------------------------
  Webapp generated in ${project.webapp}
  
  NOTE
  This webapp can only be run on the local system as it is
  configured to allow editing of files in the project src directory.
  Use "forrest webapp" or "forrest war" to generate a webapp
  for deployment.
  
  To run in Tomcat, add this to the config file (usu. server.xml):
  
  &lt;Context path='/${skinconfig.project-name}'
              docBase='${project.webapp}'
              reloadable='true'/&gt;
  
  If using JDK 1.4 or above, make sure to set the Java environment variable
  -Djava.endorsed.dirs=${forrest.home}${/}lib${/}endorsed
  Eg, in the TOMCAT_OPTS (3.3.x) or CATALINA_OPTS (4.x) env variable.
  ---------------------------------
  
  
  

Mime
View raw message