<?xml version="1.0"?>
<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<!--
    The contents of this file are subject to the Mozilla Public License Version 1.1
    (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.mozilla.org/MPL/>.

    Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
    WARRANTY OF ANY KIND, either express or implied. See the License for the specific
    language governing rights and limitations under the License.

    The Original Code is the Venice Web Communities System.

    The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
    for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
    Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.

    Contributor(s): 
-->
<web-app>

  <display-name>Venice Web Communities System</display-name>
  <description>
    The Venice Web Communities System provides an online conferencing
    environment, including discussions, online services, and other
    things.  Written by Eric J. Bowersox (erbo@silcom.com).
  </description>

  <!-- These context parameters define the location of the Venice configuration files.
       Modify as needed to suit your system. -->
  <context-param>
    <param-name>logging.config</param-name>
    <param-value>WEB-INF/logging-config.xml</param-value>
    <description>
      The path and file name, relative to the application root directory, of the LOG4J configuration file,
      which needs to be loaded into LOG4J's DOMConfigurator at start-up.
    </description>
  </context-param>

  <context-param>
    <param-name>venice.config</param-name>
    <param-value>WEB-INF/venice-config.xml</param-value>
    <description>
      The full path and file name of the Venice engine configuration file, which
      needs to be loaded into the Venice engine at start-up.
    </description>
  </context-param>

  <context-param>
    <param-name>ui.config</param-name>
    <param-value>WEB-INF/ui-config.xml</param-value>
    <description>
      The path and file name, relative to the application root directory, of the Venice user interface
      configuration file, which needs to be loaded into the Venice UI at start-up.
    </description>
  </context-param>

  <!-- Servlet definitions -->

  <servlet>
    <servlet-name>ScriptExec</servlet-name>
    <description>Executes a scripting language file as a servlet.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.ScriptExecServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>StyleSheet</servlet-name>
    <description>Generates the stylesheet included by the frame JSP file.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.StyleSheetServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>Frame</servlet-name>
    <description>Displays static content inside the Venice frame.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.FrameServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>GetImage</servlet-name>
    <description>Retrieves images from the database image store and displays them.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.GetImageServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>User</servlet-name>
    <description>Displays user profiles.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.UserServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>CommunityDispatch</servlet-name>
    <description>Redirects the user to the "default" service page for a community.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.CommunityDispatchServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>PostShortcut</servlet-name>
    <description>Redirects the user to a comunity, conference, topic, or message.</description>
    <servlet-class>com.silverwrist.venice.ui.conf.PostShortcutServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>PasswordRecovery</servlet-name>
    <description>Performs a password change operation for a user that's forgotten their password.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.PasswordRecoveryServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>Gateway</servlet-name>
    <description>Gateways access to a specific URL through the Venice login screen.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.GatewayServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>Remapper</servlet-name>
    <description>Remaps calls from one URL to another.</description>
    <servlet-class>com.silverwrist.venice.ui.servlet.RemapperServlet</servlet-class>
  </servlet>

  <!-- Servlet mappings -->

  <servlet-mapping>
    <servlet-name>ScriptExec</servlet-name>
    <url-pattern>*.vs</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>StyleSheet</servlet-name>
    <url-pattern>/stylesheet</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>Frame</servlet-name>
    <url-pattern>/frame/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>GetImage</servlet-name>
    <url-pattern>/imagedata/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>User</servlet-name>
    <url-pattern>/user/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>CommunityDispatch</servlet-name>
    <url-pattern>/community/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>CommunityDispatch</servlet-name>
    <url-pattern>/sig/*</url-pattern>  <!-- the backwards-compatible mapping -->
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>PostShortcut</servlet-name>
    <url-pattern>/go/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>PasswordRecovery</servlet-name>
    <url-pattern>/passrecovery/*</url-pattern>
  </servlet-mapping>

  <!-- The list of "welcome files" for the application -->
  <welcome-file-list>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

  <servlet-mapping>
    <servlet-name>Gateway</servlet-name>
    <url-pattern>/gw</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>Remapper</servlet-name>
    <url-pattern>/verifyemail</url-pattern>
  </servlet-mapping>

  <!-- Global parameters for the HTTP session -->
  <session-config>
    <session-timeout>60</session-timeout>    <!-- 1 hour -->
  </session-config>

  <!-- Tag library URL definitions. -->
  <taglib>
    <taglib-uri>/tlds/util</taglib-uri>
    <taglib-location>/WEB-INF/tlds/utils-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/frame</taglib-uri>
    <taglib-location>/WEB-INF/tlds/frame-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/user</taglib-uri>
    <taglib-location>/WEB-INF/tlds/user-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/community</taglib-uri>
    <taglib-location>/WEB-INF/tlds/community-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/conference</taglib-uri>
    <taglib-location>/WEB-INF/tlds/conference-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/topic</taglib-uri>
    <taglib-location>/WEB-INF/tlds/topic-taglib.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/tlds/post</taglib-uri>
    <taglib-location>/WEB-INF/tlds/post-taglib.tld</taglib-location>
  </taglib>

</web-app>
