<?xml version="1.0"?>
<!--
    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@ricochet.com>,
    for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
    Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.

    Contributor(s): 
-->
<ui-config>
  <!-- Paths of files that are to be loaded by the user interface. -->
  <file-paths>
    <!-- The location of the sidebox configuration file, relative to the application root. -->
    <sidebox-config>WEB-INF/sidebox-config.xml</sidebox-config>

    <!-- The location of the services configuration file, relative to the application root. -->
    <services-config>WEB-INF/services-config.xml</services-config>

    <!-- The location of the scripts directory, relative to the application root. -->
    <script-dir>WEB-INF/scripts</script-dir>

    <!-- The location of the RPC scripts directory, relative to the application root. -->
    <rpc-script-dir>WEB-INF/rpcscripts</rpc-script-dir>

    <!-- The temporary directory for script compilation, relative to the application root. -->
    <temp-dir>WEB-INF/temp</temp-dir>

  </file-paths>

  <!-- Paths of resources referred to by their URIs in the user interface. -->
  <uri-paths>
    <!-- Base URL for all images loaded by the server code.  -->
    <image>/venice/images</image>

    <!-- Base URL for all static pages linked to by the engine.  -->
    <static>/static</static>

    <!-- Base URL for all external static pages linked to by the engine.  -->
    <external-static>/venice/static</external-static>

    <!-- Base URL for JSP pages loaded by the formatter, relative to the context root. -->
    <format-jsp>/format</format-jsp>

    <!-- The location of the "photo not available" image, relative to either the main
         images directory (if the "fixup" attribute is present) or the site (if it is not).
         Image should be 100x100 pixels. -->
    <photo-not-avail fixup="true">photo_not_avail.gif</photo-not-avail>

  </uri-paths>

  <!-- Properties which are "read-only" from the point of view of the application. -->
  <properties>
    <!-- The script which is run to initialize the Web session. -->
    <property name="session.init">session_init.js</property>

    <!-- The name of the persistent cookie used to automatically log users in. -->
    <property name="login.cookie">VeniceAuth</property>

    <!-- The maximum age of the persistent login cookie. -->
    <property name="login.cookie.age">31536000</property> <!-- one year -->

  </properties>

  <!-- Settings related to the outer frame. -->
  <frame>
    <!-- The name of the JSP page that implements the outer frame. -->
    <jsp-name>frame.jsp</jsp-name>

    <!-- The title for the site. Optional. -->
    <site-title>Venice Test</site-title>

    <!-- The default <BASEFONT> font size.  Optional. -->
    <basefont-size>3</basefont-size>

    <!-- Specifies the location of the stylesheet template file.  Optional. -->
    <stylesheet>WEB-INF/template.css</stylesheet>

    <!-- If this is specified, the site will allow Microsoft Internet Explorer 6.0+ Smart
         Tags to be inserted into site text.  This is considered rude by many, and is quite
         possibly a copyright violation by Microsoft (changing the site's text as viewed through
         their browser, without consent of either the author or the end user).  The default setting
         inserts a META tag into the page which *should* prevent this (but may not, if MS provides
         a setting to override site author preferences, which would be despicable). -->
    <!-- <ms-copyright-violations/> -->

    <!-- The site-relative URL to the site logo.  The image should be 140x80 pixels, unless overridden
         by the "width" and "height" attributes. The optional "href" attribute is where clicking on
         the site logo should link to. -->
    <site-logo width="140" height="80" hspace="2" vspace="2" type="absolute"
               href="http://venice.sourceforge.net">/venice/images/powered-by-venice.gif</site-logo>

    <!-- Footer logo scaling expressed as a percentage of full size. -->
    <footer-logo-scale>100</footer-logo-scale>

    <!-- The site-relative URL to the page icon.  This image should be 16x16 pixels, and the type=
         attribute specifies the MIME type of the image. -->
    <page-icon type="image/png">/venice/images/venice-icon.png</page-icon>

    <!-- The site-relative URL to the "favorites icon" (in Windows .ICO format).  May be specified
         in addition to, or instead of, page-icon. -->
    <favicon>/venice/images/venice-favicon.ico</favicon>

  </frame>

  <!-- Settings related to site rendering. -->
  <rendering>
    <!-- Specifies the default <FONT FACE=""> to use for all text. -->
    <font>Arial, Helvetica</font>

    <!-- Specifies some "stock" font sizes. -->
    <font-sizes>
      <top>3</top>
      <left>2</left>
      <header>5</header>
      <subhead>3</subhead>
      <content>2</content>
      <sidebox>2</sidebox>
      <sidebox-footer>1</sidebox-footer>
      <sidebox-title>3</sidebox-title>
      <dlg-error>3</dlg-error>
      <content-heading>4</content-heading>
      <profile-dates>1</profile-dates>
      <errorbox>3</errorbox>
      <confirmbox>3</confirmbox>
      <post-reference>1</post-reference>
    </font-sizes>

    <!-- Various HTML colors to render portions of the interface in. Note that these may either be
         standard HTML color names or #RRGGBB color values. -->
    <colors>
      <frame-bg>#9999FF</frame-bg>                      <!-- outer frame background -->
      <title-bg>#6666CC</title-bg>                      <!-- title background -->
      <title-fg>white</title-fg>                        <!-- title foreground -->
      <title-link>yellow</title-link>                   <!-- title links -->
      <left-bg>#9999FF</left-bg>                        <!-- left menu bar background -->
      <left-fg>black</left-fg>                          <!-- left menu bar foreground -->
      <left-link>blue</left-link>                       <!-- left menu bar links -->
      <content-bg>white</content-bg>                    <!-- content background -->
      <content-fg>black</content-fg>                    <!-- content text -->
      <content-hdr>#3333AA</content-hdr>                <!-- content header text -->
      <content-disabled>silver</content-disabled>       <!-- disabled text -->
      <content-error>#660000</content-error>            <!-- error message text -->
      <sidebox-title-bg>#6666CC</sidebox-title-bg>      <!-- background of sidebox title (front page) -->
      <sidebox-title-fg>white</sidebox-title-fg>        <!-- foreground of sidebox title (front page) -->
      <sidebox-content-bg>#9999FF</sidebox-content-bg>  <!-- background of sidebox content (front page) -->
      <sidebox-content-fg>black</sidebox-content-fg>    <!-- foreground of sidebox content (front page) -->
      <sidebox-content-link>blue</sidebox-content-link> <!-- links in sidebox content (front page) -->
      <confirm-title-bg>#006600</confirm-title-bg>      <!-- background of confirm box title bar -->
      <confirm-title-fg>white</confirm-title-fg>        <!-- foreground of confirm box title bar -->
      <error-title-bg>#660000</error-title-bg>          <!-- background of error box title bar -->
      <error-title-fg>white</error-title-fg>            <!-- foreground of error box title bar --> 
    </colors>

    <!-- If this is specified, servlets will include HTML comments in their output. -->
    <html-comments/>

    <!-- Descriptors for the various graphical buttons. -->
    <buttons width="80" height="24">
      <button id="add" caption="Add" fixup="true">classic/add.jpg</button>
      <button id="add_to_hotlist" caption="Add To Hotlist" fixup="true">classic/add_to_hotlist.jpg</button>
      <button id="add_topic" caption="Add Topic" fixup="true">classic/add_topic.jpg</button>
      <button id="archive_topic" caption="Archive Topic" fixup="true">classic/archive_topic.jpg</button>
      <button id="cancel" caption="Cancel" fixup="true">classic/cancel.jpg</button>
      <button id="conf_list" caption="Conference List" fixup="true">classic/conference_list.jpg</button>
      <button id="configure" caption="Configure" fixup="true">classic/configure.jpg</button>
      <button id="create" caption="Create" fixup="true">classic/create.jpg</button>
      <button id="createnew" caption="Create New" fixup="true">classic/create_new.jpg</button>
      <button id="delete_topic" caption="Delete Topic" fixup="true">classic/delete_topic.jpg</button>
      <button id="export" caption="Export" fixup="true">classic/export.jpg</button>
      <button id="filter_user" caption="Filter User" fixup="true">classic/filter_user.jpg</button>
      <button id="find" caption="Find" fixup="true">classic/find.jpg</button>
      <button id="freeze_topic" caption="Freeze Topic" fixup="true">classic/freeze_topic.jpg</button>
      <button id="go" caption="Go" fixup="true">classic/go.jpg</button>
      <button id="hide" caption="Hide" fixup="true">classic/hide.jpg</button>
      <button id="hide_topic" caption="Hide Topic" fixup="true">classic/hide_topic.jpg</button>
      <button id="import" caption="Import" fixup="true">classic/import.jpg</button>
      <button id="invite" caption="Invite" fixup="true">classic/invite.jpg</button>
      <button id="join_now" caption="Join Now" fixup="true">classic/join_now.jpg</button>
      <button id="login" caption="Log In" fixup="true">classic/login.jpg</button>
      <button id="manage" caption="Manage" fixup="true">classic/manage.jpg</button>
      <button id="move" caption="Move" fixup="true">classic/move.jpg</button>
      <button id="next" caption="Next" fixup="true">classic/arrow_next.jpg</button>
      <button id="next_topic" caption="Next Topic" fixup="true">classic/next_topic.jpg</button>
      <button id="next_topic_keep" caption="Next &amp; Keep New"
              fixup="true">classic/next_keep_new.jpg</button>
      <button id="no" caption="No" fixup="true">classic/no.jpg</button>
      <button id="nuke" caption="Nuke" fixup="true">classic/nuke.jpg</button>
      <button id="ok" caption="OK" fixup="true">classic/ok.jpg</button>
      <button id="post" caption="Post &amp; Reload" fixup="true">classic/post_reload.jpg</button>
      <button id="post1" caption="Post" fixup="true">classic/post.jpg</button>
      <button id="postnext" caption="Post &amp; Go Next" fixup="true">classic/post_go_next.jpg</button>
      <button id="posttopics" caption="Post &amp; Go Topics" fixup="true">classic/post_go_topics.jpg</button>
      <button id="preview" caption="Preview" fixup="true">classic/preview.jpg</button>
      <button id="previous" caption="Previous" fixup="true">classic/arrow_previous.jpg</button>
      <button id="publish" caption="Publish" fixup="true">classic/publish.jpg</button>
      <button id="read_new" caption="Read New" fixup="true">classic/read_new.jpg</button>
      <button id="remind" caption="Password Reminder" fixup="true">classic/reminder.jpg</button>
      <button id="remove" caption="Remove" fixup="true">classic/remove.jpg</button>
      <button id="scribble" caption="Scribble" fixup="true">classic/scribble.jpg</button>
      <button id="search" caption="Search" fixup="true">classic/search.jpg</button>
      <button id="send" caption="Send E-Mail" fixup="true">classic/send_email.jpg</button>
      <button id="sendagain" caption="Send Again" fixup="true">classic/send_again.jpg</button>
      <button id="set" caption="Set" fixup="true">classic/set.jpg</button>
      <button id="show" caption="Show" fixup="true">classic/show.jpg</button>
      <button id="show_topic" caption="Show Topic" fixup="true">classic/show_topic.jpg</button>
      <button id="topic_list" caption="Topic List" fixup="true">classic/topic_list.jpg</button>
      <button id="ua_accept" caption="I Accept" fixup="true">classic/user_accept.jpg</button>
      <button id="ua_decline" caption="I Decline" fixup="true">classic/user_decline.jpg</button>
      <button id="unarchive_topic" caption="Unarchive Topic" fixup="true">classic/unarchive_topic.jpg</button>
      <button id="unfreeze_topic" caption="Unfreeze Topic" fixup="true">classic/unfreeze_topic.jpg</button>
      <button id="update" caption="Update" fixup="true">classic/update.jpg</button>
      <button id="upload" caption="Upload" fixup="true">classic/upload.jpg</button>
      <button id="yes" caption="Yes" fixup="true">classic/yes.jpg</button>
      <button id="_null_" fixup="true">bn_transparent.gif</button>
    </buttons>

    <!-- Uncomment this section and comment the above section out to use the new "gelcap" buttons
    <buttons width="80" height="24">
      <button id="add" caption="Add" fixup="true">gelcap/add.jpg</button>
      <button id="add_to_hotlist" caption="Add To Hotlist" fixup="true">gelcap/add_to_hotlist.jpg</button>
      <button id="add_topic" caption="Add Topic" fixup="true">gelcap/add_topic.jpg</button>
      <button id="archive_topic" caption="Archive Topic" fixup="true">gelcap/archive_topic.jpg</button>
      <button id="cancel" caption="Cancel" fixup="true">gelcap/cancel.jpg</button>
      <button id="conf_list" caption="Conference List" fixup="true">gelcap/conference_list.jpg</button>
      <button id="configure" caption="Configure" fixup="true">gelcap/configure.jpg</button>
      <button id="create" caption="Create" fixup="true">gelcap/create.jpg</button>
      <button id="createnew" caption="Create New" fixup="true">gelcap/create_new.jpg</button>
      <button id="delete_topic" caption="Delete Topic" fixup="true">gelcap/delete_topic.jpg</button>
      <button id="export" caption="Export" fixup="true">gelcap/export.jpg</button>
      <button id="filter_user" caption="Filter User" fixup="true">gelcap/filter_user.jpg</button>
      <button id="find" caption="Find" fixup="true">gelcap/find.jpg</button>
      <button id="freeze_topic" caption="Freeze Topic" fixup="true">gelcap/freeze_topic.jpg</button>
      <button id="go" caption="Go" fixup="true">gelcap/go.jpg</button>
      <button id="hide" caption="Hide" fixup="true">gelcap/hide.jpg</button>
      <button id="hide_topic" caption="Hide Topic" fixup="true">gelcap/hide_topic.jpg</button>
      <button id="import" caption="Import" fixup="true">gelcap/import.jpg</button>
      <button id="invite" caption="Invite" fixup="true">gelcap/invite.jpg</button>
      <button id="join_now" caption="Join Now" fixup="true">gelcap/join_now.jpg</button>
      <button id="login" caption="Log In" fixup="true">gelcap/login.jpg</button>
      <button id="manage" caption="Manage" fixup="true">gelcap/manage.jpg</button>
      <button id="move" caption="Move" fixup="true">gelcap/move.jpg</button>
      <button id="next" caption="Next" fixup="true">gelcap/arrow_next.jpg</button>
      <button id="next_topic" caption="Next Topic" fixup="true">gelcap/next_topic.jpg</button>
      <button id="next_topic_keep" caption="Next &amp; Keep New" fixup="true">gelcap/next_keep_new.jpg</button>
      <button id="no" caption="No" fixup="true">gelcap/no.jpg</button>
      <button id="nuke" caption="Nuke" fixup="true">gelcap/nuke.jpg</button>
      <button id="ok" caption="OK" fixup="true">gelcap/ok.jpg</button>
      <button id="post" caption="Post &amp; Reload" fixup="true">gelcap/post_reload.jpg</button>
      <button id="post1" caption="Post" fixup="true">gelcap/post.jpg</button>
      <button id="postnext" caption="Post &amp; Go Next" fixup="true">gelcap/post_go_next.jpg</button>
      <button id="posttopics" caption="Post &amp; Go Topics" fixup="true">gelcap/post_go_topics.jpg</button>
      <button id="preview" caption="Preview" fixup="true">gelcap/preview.jpg</button>
      <button id="previous" caption="Previous" fixup="true">gelcap/arrow_previous.jpg</button>
      <button id="publish" caption="Publish" fixup="true">gelcap/publish.jpg</button>
      <button id="read_new" caption="Read New" fixup="true">gelcap/read_new.jpg</button>
      <button id="remind" caption="Password Reminder" fixup="true">gelcap/reminder.jpg</button>
      <button id="remove" caption="Remove" fixup="true">gelcap/remove.jpg</button>
      <button id="scribble" caption="Scribble" fixup="true">gelcap/scribble.jpg</button>
      <button id="search" caption="Search" fixup="true">gelcap/search.jpg</button>
      <button id="send" caption="Send E-Mail" fixup="true">gelcap/send_email.jpg</button>
      <button id="sendagain" caption="Send Again" fixup="true">gelcap/send_again.jpg</button>
      <button id="set" caption="Set" fixup="true">gelcap/set.jpg</button>
      <button id="show" caption="Show" fixup="true">gelcap/show.jpg</button>
      <button id="show_topic" caption="Show Topic" fixup="true">gelcap/show_topic.jpg</button>
      <button id="topic_list" caption="Topic List" fixup="true">gelcap/topic_list.jpg</button>
      <button id="ua_accept" caption="I Accept" fixup="true">gelcap/user_accept.jpg</button>
      <button id="ua_decline" caption="I Decline" fixup="true">gelcap/user_decline.jpg</button>
      <button id="unarchive_topic" caption="Unarchive Topic" fixup="true">gelcap/unarchive_topic.jpg</button>
      <button id="unfreeze_topic" caption="Unfreeze Topic" fixup="true">gelcap/unfreeze_topic.jpg</button>
      <button id="update" caption="Update" fixup="true">gelcap/update.jpg</button>
      <button id="upload" caption="Upload" fixup="true">gelcap/upload.jpg</button>
      <button id="yes" caption="Yes" fixup="true">gelcap/yes.jpg</button>
      <button id="_null_" fixup="true">bn_transparent.gif</button>
    </buttons>
    -->

  </rendering>

  <!-- Configuration for the Remapper servlet, which can remap a called URL to another one. -->
  <remapper>
    <remap path="/verifyemail">
      <param name="tgt">top.js.vs</param>
      <target type="servlet">verify_email.js.vs?tgt=${tgt}</target>
    </remap>
    <remap path="/top">
      <target type="servlet">top.js.vs</target>
    </remap>
  </remapper>

  <!-- Configuration for the RPC interfaces. -->
  <rpc>
    <!-- Timeout for RPC sessions -->
    <session-timeout>60</session-timeout>

    <xmlrpc-methods>
      <!-- XML-RPC validation suite -->
      <method name="validator1\.[:alpha:]+"><script name="test/validation.js"/></method>

      <!-- Multicall "boxcar" marshaller (see http://www.xmlrpc.com/discuss/msgReader$1208) -->
      <method name="system.multicall"><object class="com.silverwrist.venice.ui.rpc.XmlRpcMulticall"/></method>

      <!-- The session creation API -->
      <method name="venice:session\.create">
        <object class="com.silverwrist.venice.ui.rpc.XmlRpcCreateSession"/>
      </method>

      <!-- The other session APIs -->
      <method name="venice:session\.([:alnum:]+)">
        <script name="session.js"/>
	<session param="0"/>
        <env name="call" value="${match.1}"/>
      </method>

      <!-- The conferencing APIs for conferences -->
      <method name="venice:conferencing\.conference\.([:alnum:]+)">
	<script name="conf/conference.js"/>
	<session param="0"/>
        <env name="call" value="${match.1}"/>
      </method>
      
      <!-- The conferencing APIs for topics -->
      <method name="venice:conferencing\.topic\.([:alnum:]+)">
	<script name="conf/topic.js"/>
	<session param="0"/>
        <env name="call" value="${match.1}"/>
      </method>

      <!-- The conferencing APIs for messages -->
      <method name="venice:conferencing\.message\.([:alnum:]+)">
	<script name="conf/message.js"/>
	<session param="0"/>
        <env name="call" value="${match.1}"/>
      </method>

      <!-- A test method -->
      <method name="venice:test\.sumDifference">
        <!-- <object class="com.silverwrist.venice.ui.rpc.XmlRpcTestHandler"/> -->
        <!-- <session param="0"/> -->
        <script name="test/test1.js"/>
        <env name="e1" value="foo"/>
	<env name="p1" value="${param.0}"/>
      </method>

    </xmlrpc-methods>
  </rpc>

  <!-- Contains standard messages displayed by front end -->
  <messages>
    <!-- The message displayed at the top of "top" when you're not logged in (HTML). -->
    <welcome><![CDATA[
Welcome to the <B>Venice Web Communities System</B>.  To get the most out of this site, you should log in
or create an account, using one of the links above.
    ]]></welcome>

    <!-- The headline for the welcome message. -->
    <welcome-top>Welcome to Venice</welcome-top>

    <!-- The headline for the "currents" box. -->
    <currents-top>Venice Currents</currents-top>

    <!-- The text displayed within the page footer (HTML). -->
    <footer-text><![CDATA[
All trademarks and copyrights on this page are owned by their respective companies.<BR>
All messages posted by users on this page are owned by those users.<BR>
The rest: Copyright &copy; 2001-2004 <A HREF="http://www.silverwrist.com">Silverwrist Design Studios</A>,
All Rights Reserved.<BR>
See our <A HREF="/TODO">Policy Page</A> for our copyright and privacy policies.
    ]]></footer-text>

    <!-- The thing that users must click on "I Accept" for before they can create an account -->
    <user-agreement><![CDATA[
Text of this agreement is TBD.
    ]]></user-agreement>

    <!-- Title displayed for above. -->
    <user-agreement-title>Venice User Agreement</user-agreement-title>

  </messages>

  <!-- Menu definitions for the base page -->
  <menu-definitions>

    <!-- Definition for the "top" menu (when not in a community) -->
    <menudef id="top">
      <title>Front Page</title>
      <link href="TODO" type="absolute" disabled="true">Calendar</link>
      <link href="TODO" type="absolute" disabled="true">Chat</link>
    </menudef>

    <!-- Definition for the "fixed" menu (always displayed under the "top" or "community" menus) -->
    <menudef id="fixed">
      <title>About This Site</title>
      <link href="TODO" type="absolute" disabled="true">Documentation</link>
      <link href="about-venice.html" type="frame">About Venice</link>
    </menudef>

    <!-- Community administration menu -->
    <menudef id="community.admin">
      <title>Community Administration:</title>
      <subtitle>${name}</subtitle>
      <link href="comm/profile.js.vs?cc=${cid}" type="servlet">Community Profile</link>
      <link href="comm/category.js.vs?cc=${cid}" ifdef="USECAT" type="servlet">Set Community Category</link>
      <link href="TODO?cc=${cid}" disabled="true" type="servlet">Set Community Services</link>
      <link href="comm/set_member.js.vs?cc=${cid}" type="servlet">Membership Control</link>
      <link href="comm/email.js.vs?cc=${cid}" type="servlet">E-Mail To All Members</link>
      <link href="comm/audit.js.vs?cc=${cid}" type="servlet">Display Audit Records</link>
      <link href="comm/delete.js.vs?cc=${cid}" type="servlet">Delete Community</link>
    </menudef>

    <!-- System administration menu -->
    <menudef id="system.admin">
      <title>System Administration</title>
      <link href="sysadmin/global.js.vs" type="servlet">Edit Global Properties</link>
      <link href="sysadmin/ip_bans.js.vs" type="servlet">View/Edit IP Address Bans</link>
      <link href="TODO" disabled="true" type="servlet">View/Edit Banned Users</link>
      <link href="sysadmin/find_user.js.vs" type="servlet">User Account Management</link>
      <link href="sysadmin/audit.js.vs" type="servlet">System Audit Logs</link>
      <link href="sysadmin/import.js.vs" type="servlet">Import User Accounts</link>
    </menudef>

    <!-- Conference Host Tools menu -->
    <menudef id="conf.host.tools">
      <title>Host Tools</title>
      <link href="conf/edit.js.vs?cc=${cid}&amp;conf=${confid}"
            type="servlet">Change Conference Information</link>
      <link href="conf/aliases.js.vs?cc=${cid}&amp;conf=${confid}"
            type="servlet">Manage Conference Aliases</link>
      <link href="conf/membership.js.vs?cc=${cid}&amp;conf=${confid}"
            type="servlet">Manage Conference Members</link>
      <link href="conf/custom.js.vs?cc=${cid}&amp;conf=${confid}"
            type="servlet">Customize Conference Appearance</link>
      <link href="conf/conf_reports.js.vs?cc=${cid}&amp;conf=${confid}"
            type="servlet">Conference Activity Reports</link>
      <link href="conf/email.js.vs?cc=${cid}&amp;conf=${confid}" type="servlet">Conference E-Mail</link>
      <link href="conf/export.js.vs?cc=${cid}&amp;conf=${confid}" type="servlet">Export Messages</link>
      <link href="conf/import.js.vs?cc=${cid}&amp;conf=${confid}" type="servlet">Import Messages</link>
      <link href="conf/delete.js.vs?cc=${cid}&amp;conf=${confid}" type="servlet">Delete Conference</link>
    </menudef>

  </menu-definitions>

  <!-- Definitions for dialog boxes -->
  <dialog-definitions>

    <dialog name="login" formname="loginform" menusel="top">
      <title>Log In</title>
      <action>login.js.vs</action>
      <instructions><![CDATA[
Forgot your password?  Enter your user name and click the <B>Reminder</B> button to receive a password
reminder via E-mail.
      ]]></instructions>
      <hidden name="tgt" value=""/>
      <veniceid name="user" capt="User name" size="32" maxlength="64"/>
      <password name="pass" capt="Password" size="32" maxlength="128"/>
      <checkbox name="saveme" capt="Remember me for next time so I can log in automatically"/>
      <imagebutton id="login"/>
      <imagebutton id="remind"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="newacct" formname="createform" menusel="top">
      <title>Create Account</title>
      <action>new_account_2.js.vs</action>
      <instructions><![CDATA[
To create a new account, please enter your information below.
      ]]></instructions>
      <hidden name="tgt" value=""/>
      <header capt="Name"/>
      <text name="prefix" capt="Prefix" capt2="(Mr., Ms., etc.)" size="8" maxlength="8"/>
      <text name="first" capt="First Name" required="true" size="32" maxlength="64"/>
      <text name="mid" capt="Middle initial" size="1" maxlength="1"/>
      <text name="last" capt="Last Name" required="true" size="32" maxlength="64"/>
      <text name="suffix" capt="Suffix" capt2="(Jr., III, etc.)" size="16" maxlength="16"/>
      <header capt="Location"/>
      <text name="loc" capt="City" required="true" size="32" maxlength="64"/>
      <text name="reg" capt="State/Province" required="true" size="32" maxlength="64"/>
      <text name="pcode" capt="Zip/Postal Code" required="true" size="32" maxlength="64"/>
      <countrylist name="country" capt="Country" required="true"/>
      <header capt="E-Mail"/>
      <email name="email" capt="E-mail address" required="true" size="32" maxlength="255"/>
      <header capt="Account Information"/>
      <veniceid name="user" capt="User name" required="true" size="32" maxlength="64"/>
      <password name="pass1" capt="Password" required="true" size="32" maxlength="128"/>
      <password name="pass2" capt="Password" capt2="(retype)" required="true" size="32" maxlength="128"/>
      <text name="remind" capt="Password reminder phrase" size="32" maxlength="255"/>
      <imagebutton id="create"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="verify" formname="verifyform" menusel="top">
      <title>Verify E-mail Address</title>
      <action>verify_email.js.vs</action>
      <instructions><![CDATA[
Check your E-mail, then enter the confirmation number that was E-mailed to you in the field below.
(The E-mail might take a few minutes or so to get to you, so be patient.) Once you do so, your account
will be fully validated.  If you have not received your confirmation within a few minutes, click on the
<B>Send Again</B> button below.
      ]]></instructions>
      <hidden name="tgt" value=""/>
      <int name="num" capt="Confirmation Number" min="1000000" max="9999999"/>
      <imagebutton id="ok"/>
      <imagebutton id="sendagain"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="profile" formname="profform" menusel="nochange">
      <title>Edit Your Profile</title>
      <action>profile.js.vs</action>
      <hidden name="tgt" value=""/>
      <header capt="Password">To change your password, enter a new password into the fields below.</header>
      <password name="pass1" capt="Password" size="32" maxlength="128"/>
      <password name="pass2" capt="Password" capt2="(retype)" size="32" maxlength="128"/>
      <text name="remind" capt="Password reminder phrase" size="32" maxlength="255"/>
      <header capt="Name"/>
      <text name="prefix" capt="Prefix" capt2="(Mr., Ms., etc.)" size="8" maxlength="8"/>
      <text name="first" capt="First Name" required="true" size="32" maxlength="64"/>
      <text name="mid" capt="Middle initial" size="1" maxlength="1"/>
      <text name="last" capt="Last Name" required="true" size="32" maxlength="64"/>
      <text name="suffix" capt="Suffix" capt2="(Jr., III, etc.)" size="16" maxlength="16"/>
      <header capt="Location"/>
      <text name="company" capt="Company" size="32" maxlength="255"/>
      <text name="addr1" capt="Address" size="32" maxlength="255"/>
      <text name="addr2" capt="Address" capt2="(line 2)" size="32" maxlength="255"/>
      <checkbox name="pvt_addr" capt="Hide address in profile"/>
      <text name="loc" capt="City" required="true" size="32" maxlength="64"/>
      <text name="reg" capt="State/Province" required="true" size="32" maxlength="64"/>
      <text name="pcode" capt="Zip/Postal Code" required="true" size="32" maxlength="64"/>
      <countrylist name="country" capt="Country" required="true"/>
      <header capt="Phone Numbers"/>
      <text name="phone" capt="Telephone" size="32" maxlength="32"/>
      <text name="mobile" capt="Mobile/cellphone" size="32" maxlength="32"/>
      <checkbox name="pvt_phone" capt="Hide phone/mobile numbers in profile"/>
      <text name="fax" capt="Fax" size="32" maxlength="32"/>
      <checkbox name="pvt_fax" capt="Hide fax number in profile"/>
      <header capt="Internet"/>
      <email name="email" capt="E-mail address" required="true" size="32" maxlength="255"/>
      <checkbox name="pvt_email" capt="Hide E-mail address in profile"/>
      <text name="url" capt="Home Page" capt2="(URL)" size="32" maxlength="255"/>
      <header capt="Personal"/>
      <text name="descr" capt="Personal description" size="32" maxlength="255"/>
      <userphoto name="photo" capt="User Photo" link="profile_photo.js.vs" type="servlet"/>
      <header capt="User Preferences"/>
      <checkbox name="pic_in_post" capt="Display user photos next to conference posts"
                capt2="(where applicable)"/>
      <checkbox name="no_mass_mail" capt="Don't send me mass E-mail from community/conference hosts"/>
      <localelist name="locale" capt="Default locale" capt2="(for formatting dates/times)" required="true"/>
      <tzlist name="tz" capt="Default time zone" required="true"/>
      <imagebutton id="update"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="join" formname="joinkeyform" menusel="community">
      <title>Join Key Required</title>
      <action>comm/join_key.js.vs</action>
      <instructions><![CDATA[
You must specify a join key before you can join this community.  You might have received the join key from
the community's host, or via an invitation e-mail message. Please enter it in the box below.
      ]]></instructions>
      <hidden name="cc" value=""/>
      <text name="key" capt="Join key" size="32" maxlength="64"/>
      <imagebutton id="join_now"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="create.community" formname="createcommform" menusel="top">
      <title>Create New Community</title>
      <action>comm/create.js.vs</action>
      <header capt="Basic Information"/>
      <text name="name" capt="Community Name" required="true" size="32" maxlength="128"/>
      <veniceid name="alias" capt="Community Alias" required="true" size="32" maxlength="32"/>
      <text name="synopsis" capt="Synopsis" size="32" maxlength="255"/>
      <text name="rules" capt="Rules" size="32" maxlength="255"/>
      <languagelist name="language" capt="Primary Language" required="true"/>
      <header capt="Location"/>
      <text name="loc" capt="City" size="32" maxlength="64"/>
      <text name="reg" capt="State/Province" size="32" maxlength="64"/>
      <text name="pcode" capt="Zip/Postal Code" required="true" size="32" maxlength="64"/>
      <countrylist name="country" capt="Country" required="true"/>
      <header capt="Security"/>
      <list name="comtype" capt="Community type" required="true">
        <choice id="0">Public</choice>
        <choice id="1">Private</choice>
      </list>
      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
      <list name="hidemode" capt="Community visibility" required="true">
        <choice id="0">Show in both directory and search</choice>
        <choice id="1">Hide in directory, but not in search</choice>
        <choice id="2">Hide in both directory and search</choice>
      </list>
      <imagebutton id="create"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="community.profile" formname="commprofform" menusel="community">
      <title>Edit Community Profile:</title>
      <action>comm/profile.js.vs</action>
      <hidden name="cc" value=""/>
      <header capt="Basic Information"/>
      <text name="name" capt="Community Name" required="true" size="32" maxlength="128"/>
      <veniceid name="alias" capt="Community Alias" required="true" size="32" maxlength="32"/>
      <text name="synopsis" capt="Synopsis" size="32" maxlength="255"/>
      <text name="rules" capt="Rules" size="32" maxlength="255"/>
      <languagelist name="language" capt="Primary Language" required="true"/>
      <text name="url" capt="Home Page" size="32" maxlength="255"/>
      <communitylogo name="logo" capt="Community logo" link="comm/photo.js.vs" type="servlet"/>
      <header capt="Location"/>
      <text name="company" capt="Company" size="32" maxlength="255"/>
      <text name="addr1" capt="Address" size="32" maxlength="255"/>
      <text name="addr2" capt="Address" capt2="(line 2)" size="32" maxlength="255"/>
      <text name="loc" capt="City" size="32" maxlength="64"/>
      <text name="reg" capt="State/Province" size="32" maxlength="64"/>
      <text name="pcode" capt="Zip/Postal Code" required="true" size="32" maxlength="64"/>
      <countrylist name="country" capt="Country" required="true"/>
      <header capt="Security"/>
      <list name="comtype" capt="Community type" required="true">
        <choice id="0">Public</choice>
        <choice id="1">Private</choice>
      </list>
      <text name="joinkey" capt="Join key" capt2="(for private communities)" size="32" maxlength="64"/>
      <checkbox name="membersonly" capt="Allow only members to access this community"/>
      <list name="hidemode" capt="Community visibility" required="true">
        <choice id="0">Show in both directory and search</choice>
        <choice id="1">Hide in directory, but not in search</choice>
        <choice id="2">Hide in both directory and search</choice>
      </list>
      <rolelist name="read_lvl" capt="Security level required to read contents" required="true"/>
      <rolelist name="write_lvl" capt="Security level required to update profile" required="true"/>
      <rolelist name="create_lvl" capt="Security level required to create new subobjects" required="true"/>
      <rolelist name="delete_lvl" capt="Security level required to delete community" required="true"/>
      <rolelist name="join_lvl" capt="Security level required to join community" required="true"/>
      <header capt="Conferencing Options"/>
      <checkbox name="pic_in_post" capt="Display user pictures next to posts in conferences"
                capt2="(by default; user can override)"/>
      <imagebutton id="update"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="global.properties" formname="globpropform" menusel="nochange">
      <title>Edit Global Properties</title>
      <action>sysadmin/global.js.vs</action>
      <header capt="System Properties"/>
      <int name="search_items" capt="Number of search items to display per page" min="5" max="100"/>
      <int name="fp_posts" capt="Number of published posts to display on front page" min="1" max="50"/>
      <int name="audit_recs" capt="Number of audit records to display per page" min="10" max="500"/>
      <rolelist name="create_lvl" capt="Security level required to create a new community" required="true"/>
      <header capt="Community Properties"/>
      <int name="comm_mbrs" capt="Number of community members to display per page" min="10" max="100"/>
      <checkbox name="no_cats" capt="Disable community categorization system"/>
      <header capt="Conferencing Properties"/>
      <int name="posts_page" capt="Maximum number of posts to display per page" min="5" max="100"/>
      <int name="old_posts" capt='Number of "old" posts to display at top of page' min="1" max="5"/>
      <int name="conf_mbrs" capt="Number of conference members to display per page" min="10" max="100"/>
      <checkbox name="pic_in_post" capt="Display user pictures next to posts in conferences"
                capt2="(by default; user can override)"/>
      <imagebutton id="update"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="admin.modify.user" formname="moduserform" menusel="nochange">
      <title>Modify User Account</title>
      <action>sysadmin/modify_user.js.vs</action>
      <hidden name="uid" value=""/>
      <header capt="Security Information">
        To change the user's password, enter a new password into the fields below.
      </header>
      <password name="pass1" capt="Password" size="32" maxlength="128"/>
      <password name="pass2" capt="Password" capt2="(retype)" size="32" maxlength="128"/>
      <text name="remind" capt="Password reminder phrase" size="32" maxlength="255"/>
      <rolelist name="base_lvl" capt="Base security level" required="true"/>
      <checkbox name="verify_email" capt="E-mail address verified"/>
      <checkbox name="lockout" capt="Account locked out"/>
      <checkbox name="nophoto" capt="Disallow photo upload for this user"/>
      <header capt="Name"/>
      <text name="prefix" capt="Prefix" capt2="(Mr., Ms., etc.)" size="8" maxlength="8"/>
      <text name="first" capt="First Name" required="true" size="32" maxlength="64"/>
      <text name="mid" capt="Middle initial" size="1" maxlength="1"/>
      <text name="last" capt="Last Name" required="true" size="32" maxlength="64"/>
      <text name="suffix" capt="Suffix" capt2="(Jr., III, etc.)" size="16" maxlength="16"/>
      <header capt="Location"/>
      <text name="company" capt="Company" size="32" maxlength="255"/>
      <text name="addr1" capt="Address" size="32" maxlength="255"/>
      <text name="addr2" capt="Address" capt2="(line 2)" size="32" maxlength="255"/>
      <checkbox name="pvt_addr" capt="Hide address in profile"/>
      <text name="loc" capt="City" required="true" size="32" maxlength="64"/>
      <text name="reg" capt="State/Province" required="true" size="32" maxlength="64"/>
      <text name="pcode" capt="Zip/Postal Code" required="true" size="32" maxlength="64"/>
      <countrylist name="country" capt="Country" required="true"/>
      <header capt="Phone Numbers"/>
      <text name="phone" capt="Telephone" size="32" maxlength="32"/>
      <text name="mobile" capt="Mobile/cellphone" size="32" maxlength="32"/>
      <checkbox name="pvt_phone" capt="Hide phone/mobile numbers in profile"/>
      <text name="fax" capt="Fax" size="32" maxlength="32"/>
      <checkbox name="pvt_fax" capt="Hide fax number in profile"/>
      <header capt="Internet"/>
      <email name="email" capt="E-mail address" required="true" size="32" maxlength="255"/>
      <checkbox name="pvt_email" capt="Hide E-mail address in profile"/>
      <text name="url" capt="Home Page" capt2="(URL)" size="32" maxlength="255"/>
      <header capt="Personal"/>
      <text name="descr" capt="Personal description" size="32" maxlength="255"/>
      <userphoto name="photo" capt="User Photo" link="sysadmin/modify_photo.js.vs" type="servlet"/>
      <header capt="User Preferences"/>
      <checkbox name="pic_in_post" capt="Display user photos next to conference posts"
                capt2="(where applicable)"/>
      <checkbox name="no_mass_mail" capt="Don't send user mass E-mail from community/conference hosts"/>
      <localelist name="locale" capt="Default locale" capt2="(for formatting dates/times)" required="true"/>
      <tzlist name="tz" capt="Default time zone" required="true"/>
      <imagebutton id="update"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="conf.create" formname="newconfform" menusel="community">
      <title>Create New Conference</title>
      <action>conf/create.js.vs</action>
      <hidden name="cc" value=""/>
      <text name="name" capt="Conference Name" required="true" size="32" maxlength="128"/>
      <veniceid name="alias" capt="Conference Alias" required="true" size="32" maxlength="64"/>
      <text name="descr" capt="Description" size="32" maxlength="255"/>
      <list name="ctype" capt="Conference type" required="true">
        <choice id="0">Public</choice>
        <choice id="1">Private</choice>
      </list>
      <checkbox name="hide" capt="Hide conference in the community's conference list"/>
      <imagebutton id="create"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="conf.edit" formname="editconfform" menusel="community">
      <title>Edit Conference:</title>
      <action>conf/edit.js.vs</action>
      <hidden name="cc" value=""/>
      <hidden name="conf" value=""/>
      <header capt="Basic Information"/>
      <text name="name" capt="Conference Name" required="true" size="32" maxlength="128"/>
      <text name="descr" capt="Description" size="32" maxlength="255"/>
      <checkbox name="hide" capt="Hide conference in the community's conference list"/>
      <header capt="Security Information"/>
      <rolelist name="read_lvl" capt="Security level required to read conference" required="true"/>
      <rolelist name="post_lvl" capt="Security level required to post to conference" required="true"/>
      <rolelist name="create_lvl" capt="Security level required to create new topics in conference"
                required="true"/>
      <rolelist name="hide_lvl" capt="Security level required to archive or freeze topics"
                capt2="(or to hide posts of which you are not the owner)" required="true"/>
      <rolelist name="nuke_lvl" capt="Security level required to delete topics or nuke posts"
                capt2="(or to scribble posts of which you are not the owner)" required="true"/>
      <rolelist name="change_lvl" capt="Security level required to change conference attributes"
                required="true"/>
      <rolelist name="delete_lvl" capt="Security level required to delete conference" required="true"/>
      <header capt="Conference Properties"/>
      <checkbox name="pic_in_post" capt="Display users' pictures next to their posts"
                capt2="(user can override)"/>
      <imagebutton id="update"/>
      <imagebutton id="cancel"/>
    </dialog>

    <dialog name="ipban.add" formname="ipbanform" menusel="nochange">
      <title>Add IP Address Ban</title>
      <action>sysadmin/ip_ban_add.js.vs</action>
      <ipaddress name="address" capt="IP address" required="true"/>
      <ipaddress name="mask" capt="IP address mask" required="true"/>
      <checkbox name="echeck" capt="IP address ban expires"/>
      <int name="etime" capt="Expires in" required="true" min="1" max="100000"/>
      <list name="eunit" capt="Expires in" capt2="(units)" required="true">
        <choice id="D">days</choice>
        <choice id="W">weeks</choice>
        <choice id="M">months</choice>
        <choice id="Y">years</choice>
      </list>
      <text name="msg" capt="Message to display" size="64" maxlength="255"/>
      <imagebutton id="add"/>
      <imagebutton id="cancel"/>
    </dialog>

  </dialog-definitions>

</ui-config>
