<?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>render.config</param-name>
    <param-value>WEB-INF/render-config.xml</param-value>
    <description>
      The path and file name, relative to the application root directory, of the Venice rendering
      configuration file, which needs to be loaded into the Venice rendering system at start-up.
    </description>
  </context-param>

  <!-- Venice servlet definitions -->
  <servlet>
    <servlet-name>top</servlet-name>
    <description>
      Displays the top-level page of the Venice application.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.Top</servlet-class>
    <!-- The Top servlet needs to be loaded first at startup, as it initializes the
         Venice system engine -->
    <load-on-startup>3</load-on-startup>
  </servlet>

  <servlet>
    <servlet-name>framestatic</servlet-name>
    <description>
      Displays static content inside the Venice frame.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.FrameStatic</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>account</servlet-name>
    <description>
      Account management operations - login, logout, create, verify email, enter profile.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.Account</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>systemadmin</servlet-name>
    <description>
      System administration operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.SystemAdmin</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>settings</servlet-name>
    <description>
      User customization and settings operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.Settings</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>userdisplay</servlet-name>
    <description>
      Displays Venice user profiles.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.UserDisplay</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>communityfrontend</servlet-name>
    <description>
      The "front end" for community display; it redirects the user to whatever page has
      been defined as the "default" for that community.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.CommunityFrontEnd</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>communityprofile</servlet-name>
    <description>
      Displays the profile for a given community.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.CommunityProfile</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>communityadmin</servlet-name>
    <description>
      Community administration functions.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.CommunityAdmin</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>communityoperations</servlet-name>
    <description>
      General community operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.CommunityOperations</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>find</servlet-name>
    <description>
      The main Find page.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.Find</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>confoperations</servlet-name>
    <description>
      General conference operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.ConfOperations</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>confdisplay</servlet-name>
    <description>
      Conference topic list and topic display.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.ConfDisplay</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>postmessage</servlet-name>
    <description>
      Posting messages to a conference.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.PostMessage</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>attachment</servlet-name>
    <description>
      Andles downloading and uploading attachments.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.Attachment</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>topicoperations</servlet-name>
    <description>
      General topic operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.TopicOperations</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>postoperations</servlet-name>
    <description>
      General post operations.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.PostOperations</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>postshortcut</servlet-name>
    <description>
      Processes post links and redirects to the appropriate page.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.PostShortcut</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>imageretrieve</servlet-name>
    <description>
      Retrieves images from the database image store and displays them.
    </description>
    <servlet-class>com.silverwrist.venice.servlets.ImageRetrieve</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>userphoto</servlet-name>
    <description>
      Changes the photo in a user's profile (uploads a new one).
    </description>
    <servlet-class>com.silverwrist.venice.servlets.UserPhoto</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>stylesheet</servlet-name>
    <description>
      Generates the stylesheet included by the top-level JSP file).
    </description>
    <servlet-class>com.silverwrist.venice.servlets.StyleSheet</servlet-class>
  </servlet>

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

  <servlet>
    <servlet-name>communitylogo</servlet-name>
    <description>
      Changes the logo for a community (uploads a new one).
    </description>
    <servlet-class>com.silverwrist.venice.servlets.CommunityLogo</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.servlets.Gateway</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>memberredirect</servlet-name>
    <description>
      Displays the members list for a community (internal redirect to CommunityOperations).
    </description>
    <servlet-class>com.silverwrist.venice.servlets.MemberRedirect</servlet-class>
  </servlet>

  <!-- the following are test servlets, they should go away -->

  <servlet>
    <servlet-name>testformdata</servlet-name>
    <servlet-class>com.silverwrist.util.test.FormDataTest</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>dumpall</servlet-name>
    <servlet-class>com.silverwrist.util.test.DumpAll</servlet-class>
  </servlet>

  <!-- Mappings from URLs in the server to Venice servlets. -->
  <servlet-mapping>
    <servlet-name>top</servlet-name>
    <url-pattern>/top</url-pattern>
  </servlet-mapping>

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

  <servlet-mapping>
    <servlet-name>account</servlet-name>
    <url-pattern>/account</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>systemadmin</servlet-name>
    <url-pattern>/sysadmin</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>settings</servlet-name>
    <url-pattern>/settings</url-pattern>
  </servlet-mapping>

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

  <servlet-mapping>
    <servlet-name>communityfrontend</servlet-name>
    <url-pattern>/sig/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>communityprofile</servlet-name>
    <url-pattern>/sigprofile</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>communityadmin</servlet-name>
    <url-pattern>/sigadmin</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>communityoperations</servlet-name>
    <url-pattern>/sigops</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>find</servlet-name>
    <url-pattern>/find</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>confoperations</servlet-name>
    <url-pattern>/confops</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>confdisplay</servlet-name>
    <url-pattern>/confdisp</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>postmessage</servlet-name>
    <url-pattern>/post</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>attachment</servlet-name>
    <url-pattern>/attachment</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>topicoperations</servlet-name>
    <url-pattern>/topicops</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>postoperations</servlet-name>
    <url-pattern>/postops</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>userphoto</servlet-name>
    <url-pattern>/userphoto</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>communitylogo</servlet-name>
    <url-pattern>/commlogo</url-pattern>
  </servlet-mapping>

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

  <servlet-mapping>
    <servlet-name>memberredirect</servlet-name>
    <url-pattern>/members</url-pattern>
  </servlet-mapping>

  <!-- the following are test servlets, they should go away -->
  <servlet-mapping>
    <servlet-name>testformdata</servlet-name>
    <url-pattern>/testformdata</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>dumpall</servlet-name>
    <url-pattern>/dumpall</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>dumpall</servlet-name>
    <url-pattern>/dump/*</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>

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

</web-app>
