<?xml version="1.0"?>

<!--
  This file contains the metadata used to describe each type of module and
  application that can be built by the bedework system. This is NOT the
  actual configuration.

  For example, the application type="webadmin" element below describes a type of
  web application which is used to administer the system.

  The actual configuration of that type of application is contained in the
  current properties and xml files.

  A default value may contain the name of a previously defined property
  surrounded by ${ and }. The property "name" is predefined.

  NOTE: this is not being used so don't pay too much attention
-->

<meta-data>
  <!-- =====================================================================
                         globals - system wide settings
       ===================================================================== -->
  <globals>
    <options-class-name>org.bedework.calfacade.BwSystem</options-class-name>

    <comment>Global settings for the systemn.</comment>

    <hidden-text name="version" suffix="version">
      <value>3.4.1</value>
    </hidden-text>

    <hidden-text name="system.name" suffix="system.name" option="name">
      <value>bedework</value>
    </hidden-text>

    <text name="hibernate.dialect" suffix="hibernate.dialect" advanced="true">
      <default>org.hibernate.dialect.HSQLDialect</default>
    </text>

    <text name="jdbcdriver" suffix="jdbcdriver">
      <default>org.hsqldb.jdbcDriver</default>
    </text>

    <text name="jdbcurl" suffix="jdbcurl">
      <default>jdbc:hsqldb:hsql://localhost:8887</default>
    </text>

    <text name="jdbcid" suffix="jdbcid" required="false">
      <default>sa</default>
    </text>

    <text name="jdbcpw" suffix="jdbcpw" required="false">
    </text>

    <boolean name="hibernate.cache.use_second_level_cache"
             suffix="hibernate.cache.use_second_level_cache">
      <default>false</default>
    </boolean>

    <text name="hibernate.cache.provider_class"
          suffix="hibernate.cache.provider_class">
      <default>org.hibernate.cache.EhCacheProvider</default>
    </text>

    <boolean name="directoryBrowsingDisallowed"
             suffix="directory.browsing.disallowed"
             option="directoryBrowsingDisallowed" advanced="true">
      <default>true</default>
    </boolean>

  <!--  XXX
    //# Comment this out if deploying on some other app server
    //org.bedework.global.deploy.on.tomcat=true
     -->

<!-- XXX Need to allow multiple comments
    <comment>uris to cross link apps - of dubious usefulness</comment>
    -->

    <text name="public.admin.uri" suffix="public.admin.uri" advanced="true">
      <default>/caladmin</default>
    </text>

    <text name="public.calendar.uri" suffix="public.calendar.uri" advanced="true">
      <default>/cal</default>
    </text>

    <text name="personal.calendar.uri" suffix="personal.calendar.uri" advanced="true">
      <default>/ucal</default>
    </text>

    <!-- This is where we copy common xsl and javascript for inclusion by xsl
         and generated content. -->
    <text name="common.deploydir" suffix="common.deploydir">
      <default>/webapps/ROOT/bedework-common</default>
    </text>

  <!--  XXX
    //BooleanProperty jetspeedportlet = optBoolean("jetspeedPortlet",
    //                                             "build.jetspeed.portlet");

    //requiredText("jetspeed2.roles", "app.jetspeed2.roles", jetspeedportlet);

    //optBoolean("uportalPortlet", "build.uportal.portlet");

    //BooleanProperty j2ee = optBoolean("j2ee.deploy", "deploy.j2ee");

    //requiredText("ear", "ear.name", j2ee);

    /*
     *

#
# Specify the portal platform we want to run on. Enable the appropriaet section.
# Properties rquired:
# org.bedework.build.for.XXX     Used to enable functions
# org.bedework.global.portal.platform Used by deployment process to pick
#                                appropriate build. Value is name of directory
#                                in deployment/<kind>  e.g. uportal2
#
# For each portlet define the portlet name, e.g.
#     org.bedework.app.Events.portlet.name=PublicCal
#
# If you want to build some struts applications standalone, and others as
# portlets you will need two configs and two builds

-->
    <choice name="portal.platform" suffix="portal.platform">
      <values>standalone,uportal2,liferay4</values>
      <default>standalone</default>
    </choice>

    <!-- ===================================================================
                    These are conditional on portal.platform
         =================================================================== -->
    <text name="servlet.class" suffix="servlet.class"
          advanced="true">
      <comment>servlet-class is the action servlet in web.xml</comment>

      <default-if onlyIf="portal.platform" equals="standalone">
        <value>org.apache.struts.action.ActionServlet</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>org.apache.portals.bridges.struts.PortletServlet</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>org.apache.portals.bridges.struts.PortletServlet</value>
      </default-if>
    </text>

    <text name="portlet-servlet.class" suffix="portlet-servlet.class"
          advanced="true">
      <comment>portlet-servlet.class is the servlet-class element  for the
               portlet servlet in web.xml</comment>

      <default-if onlyIf="portal.platform" equals="standalone"
                  required="false">
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>org.apache.pluto.core.PortletServlet</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>com.liferay.portal.servlet.PortletServlet</value>
      </default-if>
    </text>

    <text name="portlet.class" suffix="portlet.class"
          advanced="true">
      <comment>portlet.class is in portlet.xml and the value for the
               portlet-class init par in web.xml</comment>

      <default-if onlyIf="portal.platform" equals="standalone"
                  required="false">
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>org.apache.portals.bridges.struts.StrutsPortlet</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>com.liferay.portal.apache.bridges.LiferayStrutsPortlet</value>
      </default-if>
    </text>

    <text name="portlet-servlet.context.provider"
          suffix="portlet-servlet.context.provider"
          advanced="true">
      <comment>portal-servlet.context.provider is in portlet.xml</comment>

      <default-if onlyIf="portal.platform" equals="standalone"
                  required="false">
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>org.bedework.portal.uportal.PortalServletContextProvider</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>com.liferay.util.apache.bridges.struts.LiferayServletContextProviderWrapper</value>
      </default-if>
    </text>

    <text name="portlet-servlet.context.listener"
          suffix="portlet-servlet.context.listener"
          advanced="true">
      <comment>portal-servlet.context.listener is ???</comment>

      <default-if onlyIf="portal.platform" equals="standalone"
                  required="false">
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2"
                  required="false">
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>com.liferay.portal.kernel.servlet.PortletContextListener</value>
      </default-if>
    </text>

    <boolean name="ignoreContentType" suffix="ignoreContentType"
            advanced="true">
      <default-if onlyIf="portal.platform" equals="standalone">
        <value>false</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>true</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>true</value>
      </default-if>
    </boolean>

    <!--
    <text name="portlet.mapping" suffix="portlet.mapping"
          advanced="true">
      <default-if onlyIf="portal.platform" equals="standalone">
      </default-if>
    </text>
    -->

    <text name="genurl.taglib.tld" suffix="genurl.taglib.tld"
          advanced="true">
      <default-if onlyIf="portal.platform" equals="standalone">
        <value>struts-html.tld</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="uportal2">
        <value>bedework-portlet-struts-html.tld</value>
      </default-if>
      <default-if onlyIf="portal.platform" equals="liferay4">
        <value>bedework-portlet-struts-html.tld</value>
      </default-if>
    </text>

    <!-- select standalone and enable this for jboss -->
    <boolean name="build.for.jboss" suffix="build.for.jboss"
          onlyIf="portal.platform" equals="standalone">
      <default>false</default>
    </boolean>

    <text name="liferay.company-id" suffix="liferay.company-id"
          onlyIf="portal.platform" equals="liferay4">
      <default>liferay.com</default>
    </text>

    <!-- org.bedework.build.for.uportal2=yes
         org.bedework.build.for.liferay4=yes -->
    <hidden-text name="liferay4.lib" suffix="liferay4.lib">
      <value>${org.bedework.default.lib}/liferay4</value>
    </hidden-text>

<!--
#
# ========================================================================
# ========================================================================
#    bedework calendar default deployment definitions.
# ========================================================================
# ========================================================================

#
# ========================================================================
# hsqldb defs
# ========================================================================

#  where the default db is
org.bedework.hsqldb.dir=${org.bedework.project.bedework}/../hsqldb-1.7.3.3

#  hsqldb db name for bedework.
org.bedework.hsqldb.dbname=demo/events

#  If uPortal2 builds are enabled this is the default dbname
org.bedework.hsqldb.uportal2.dbname=uportal2/uportal

#  default db name for tests
org.bedework.hsqldb.test.dbdir=test

# ========================================================================
# Application server defs
# ========================================================================

#  where the application server lives
org.bedework.appserver.dir=${org.bedework.project.bedework}/../apache-tomcat-5.5.17

#  where we deploy
org.bedework.appserver.deploy.dir=${org.bedework.appserver.dir}/webapps

#  where most library files used by all applications go
appserver.lib.dir=${org.bedework.appserver.dir}/common/lib

# where 'endorsed' library files go.  These classes override anything
# the JVM has. This is particularly important for things like Xalan,
# etc., which can break the application if you choose the wrong version
appserver.endorsed.dir=${org.bedework.appserver.dir}/common/endorsed

# where things like log4j config files go
log4j.config.destination=${org.bedework.appserver.dir}/common/classes

# the toplevel directory for the default web application
webapp.root.dir=${org.bedework.appserver.deploy.dir}/ROOT

#  If jetspeed2 builds are enabled this is where we deploy
org.bedework.jetspeed2.deploy.dir=${org.bedework.appserver.deploy.dir}/jetspeed/WEB-INF/deploy

#  Set to yes if you want your log4j.xml overwritten
org.bedework.deploy.log4j.config=no
     */
     -->
    <!-- Global options are stored in the syspars object -->

    <text name="tzid" option="tzid">
      <default>America/New_York</default>
    </text>

    <text name="systemid" option="systemid">
      <default>demobedework@mysite.edu</default>
    </text>

    <text name="publicCalendarRoot" option="publicCalendarRoot" advanced="true">
      <default>public</default>
    </text>

    <text name="userCalendarRoot" option="userCalendarRoot" advanced="true">
      <default>user</default>
    </text>

    <text name="userDefaultCalendar" option="userDefaultCalendar" advanced="true">
      <default>calendar</default>
    </text>

    <text name="defaultTrashCalendar" option="defaultTrashCalendar" advanced="true">
      <default>Trash</default>
    </text>

    <text name="userInbox" option="userInbox" advanced="true">
      <default>Inbox</default>
    </text>

    <text name="userOutbox" option="userOutbox" advanced="true">
      <default>Outbox</default>
    </text>

    <text name="deletedCalendar" option="deletedCalendar" advanced="true">
      <default>Deleted</default>
    </text>

    <text name="busyCalendar" option="busyCalendar" advanced="true">
      <default>Busy</default>
    </text>

    <text name="defaultUserViewName" option="defaultUserViewName" advanced="true">
      <default>All</default>
    </text>

    <boolean name="defaultUserHour24" option="defaultUserHour24" advanced="true">
      <default>true</default>
    </boolean>

    <text name="publicUser" option="publicUser" advanced="true">
      <default>public-user</default>
    </text>

    <int name="httpConnectionsPerUser" option="httpConnectionsPerUser"
         advanced="true">
      <default>10</default>
    </int>

    <int name="httpConnectionsPerHost" option="httpConnectionsPerHost"
         advanced="true">
      <default>50</default>
    </int>

    <int name="httpConnections" option="httpConnections" advanced="true">
      <default>200</default>
    </int>

    <!--      size limits  -->

    <int name="maxPublicDescriptionLength" option="maxPublicDescriptionLength"
         advanced="true">
      <default>500</default>
    </int>

    <int name="maxUserDescriptionLength" option="maxUserDescriptionLength"
         advanced="true">
      <default>5000</default>
    </int>

    <int name="maxUserEntitySize" option="maxUserEntitySize" advanced="true">
      <default>100000</default>
    </int>

    <int name="defaultUserQuota" option="defaultUserQuota" advanced="true">
      <default>10000000</default>
    </int>

    <!-- Max number of instances and years per recurring event -->

    <int name="maxInstances" option="maxInstances" advanced="true">
      <default>1000</default>
    </int>

    <int name="maxYears" option="maxYears" advanced="true">
      <default>50</default>
    </int>

    <text name="userauthClass" option="userauthClass" advanced="true">
      <default>org.bedework.calsvc.directory.UserAuthUWDbImpl</default>
    </text>

    <text name="mailerClass" option="mailerClass" advanced="true">
      <default>org.bedework.mail.DummyMailer</default>
    </text>

    <text name="admingroupsClass" option="admingroupsClass" advanced="true">
      <default>org.bedework.calsvc.directory.AdminGroupsDbImpl</default>
    </text>

    <text name="usergroupsClass" option="usergroupsClass" advanced="true">
      <default>org.bedework.calsvc.directory.GroupsDbImpl</default>
    </text>
    <!--  org.bedework.calsvc.directory.UserGroupsLdapImpl -->

    <text name="indexRoot" option="indexRoot">
      <default>
             "lucene/indexroot</default>
    </text>
   </globals>

  <!-- Bedework defined modules are:
    directory - configuration for dummy directory
    ldapdirectory - configuration for ldap directory interface
    mailconfig - configuration for mailer interface

    Custom modules can be defined. Define the type below and provide the
    information about the module type. Then define the attributes
    required for that type.

    Module configuration is only in the xml options file.
   -->

  <!-- =====================================================================
                          module: dirconfig
       ===================================================================== -->
  <module type="dirconfig">
    <options-class-name>org.bedework.calfacade.configs.DirConfigProperties</options-class-name>

    <comment>A dummy module with no directory.</comment>

    <text name="principalRoot" option="principalRoot" advanced="true">
      <default>/principals</default>
    </text>

    <text name="userPrincipalRoot" option="userPrincipalRoot" advanced="true">
      <default>/principals/users</default>
    </text>

    <text name="groupPrincipalRoot" option="groupPrincipalRoot" advanced="true">
      <default>/principals/groups</default>
    </text>

    <text name="resourcePrincipalRoot" option="resourcePrincipalRoot" advanced="true">
      <default>/principals/resources</default>
    </text>

    <text name="venuePrincipalRoot" option="venuePrincipalRoot" advanced="true">
      <default>/principals/locations</default>
    </text>

    <text name="ticketPrincipalRoot" option="ticketPrincipalRoot" advanced="true">
      <default>/principals/tickets</default>
    </text>

    <text name="hostPrincipalRoot" option="hostPrincipalRoot" advanced="true">
      <default>/principals/hosts</default>
    </text>

    <text name="domains" option="domains">
      <default>mysite.edu</default>
      <comment>List domains at your site separated by commas.
               A single leading wildcard \"*\" is allowed.
               If there is a single domain with no wildcard it wil be stripped from
               user accounts as they are entered and added as they are turned
               back into CUAs.
               Wildcarded or multiple domains will cause retention of the domain
               (partially untested feature)</comment>
    </text>

    <text name="defaultDomain" option="defaultDomain">
      <default>mysite.edu</default>
      <comment>defaultDomain can be left unspecified for no default or a single
               exactly specified domain</comment>
    </text>

    <boolean name="debug" option="debug" required="false">
      <default>true</default>
    </boolean>
  </module>

  <!-- =====================================================================
                           module: ldapdirconfig
       ===================================================================== -->

  <module type="ldapdirconfig">
    <options-class-name>org.bedework.calfacade.configs.LdapConfigProperties</options-class-name>

    <comment>A configurable ldap module.</comment>

    <text name="principalRoot" option="principalRoot" advanced="true">
      <default>/principals</default>
    </text>

    <text name="userPrincipalRoot" option="userPrincipalRoot" advanced="true">
      <default>/principals/users</default>
    </text>

    <text name="groupPrincipalRoot" option="groupPrincipalRoot" advanced="true">
      <default>/principals/groups</default>
    </text>

    <text name="resourcePrincipalRoot" option="resourcePrincipalRoot" advanced="true">
      <default>/principals/resources</default>
    </text>

    <text name="venuePrincipalRoot" option="venuePrincipalRoot" advanced="true">
      <default>/principals/locations</default>
    </text>

    <text name="ticketPrincipalRoot" option="ticketPrincipalRoot" advanced="true">
      <default>/principals/tickets</default>
    </text>

    <text name="hostPrincipalRoot" option="hostPrincipalRoot" advanced="true">
      <default>/principals/hosts</default>
    </text>

    <text name="domains" option="domains">
      <default>mysite.edu</default>
      <comment>List domains at your site separated by commas.
               A single leading wildcard \"*\" is allowed.
               If there is a single domain with no wildcard it wil be stripped from
               user accounts as they are entered and added as they are turned
               back into CUAs.
               Wildcarded or multiple domains will cause retention of the domain
               (partially untested feature)</comment>
    </text>

    <text name="defaultDomain" option="defaultDomain">
      <default>mysite.edu</default>
      <comment>defaultDomain can be left unspecified for no default or a single
               exactly specified domain</comment>
    </text>

    <text name="initialContextFactory" suffix="initialContextFactory" advanced="true">
      <default>com.sun.jndi.ldap.LdapCtxFactory</default>
    </text>

    <text name="providerUrl" suffix="providerUrl">
      <default>ldap://localhost/</default>
    </text>

    <text name="groupContextDn" suffix="groupContextDn" advanced="true">
      <default>ou=groups, dc=bedework, dc=org</default>
    </text>

    <text name="groupMemberAttr" suffix="groupMemberAttr" advanced="true">
      <default>uniqueMember</default>
    </text>

    <text name="userDnPrefix" suffix="userDnPrefix" advanced="true">
      <default>uid=</default>
    </text>

    <text name="userDnSuffix" suffix="userDnSuffix" advanced="true">
      <default>,ou=accounts, dc=bedework, dc=org</default>
    </text>

    <text name="groupDnPrefix" suffix="groupDnPrefix" advanced="true">
      <default>cn=</default>
    </text>

    <text name="groupDnSuffix" suffix="groupDnSuffix" advanced="true">
      <default>,ou=groups, dc=bedework, dc=org</default>
    </text>

    <boolean name="debug" option="debug" required="false">
      <default>true</default>
    </boolean>
  </module>

  <!-- =====================================================================
                           module: mailconfig
       ===================================================================== -->

  <module type="mailconfig">
    <options-class-name>org.bedework.mail.MailConfigProperties</options-class-name>

    <comment>Configuration to use java mail classes..</comment>

    <text name="protocol" option="protocol" advanced="true">
      <default>/principals</default>
    </text>

    <text name="protocolClass" option="protocolClass" advanced="true">
      <default>com.sun.mail.smtp.SMTPTransport</default>
    </text>

    <text name="serverIp" option="serverIp">
      <default>localhost</default>
    </text>

    <text name="from" option="from">
      <default>calendar.myplace.edu</default>
    </text>

    <text name="subject" option="subject">
      <default>Message from demo calendar server</default>
    </text>

    <boolean name="disabled" option="disabled" advanced="true" required="false">
      <default>false</default>
    </boolean>
  </module>

  <!-- =====================================================================
                         application: webconfig
       ===================================================================== -->
  <application type="webconfig">
    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <text name="defaultContentType" suffix="default.contenttype">
      <default>text/xml</default>
    </text>

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <text name="app.root" suffix="root">
      <option>appRoot</option>
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="resources.dir" suffix="resources.dir">
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework configuration client.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework configuration client</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="false"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>

    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>
  </application>

  <!-- =====================================================================
                         application: webadmin
       ===================================================================== -->
  <application type="webadmin">
    <options-class-name>org.bedework.calfacade.configs.AdminConfig</options-class-name>

    <comment>Web administrative client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
      <value>webadmin</value>
    </hidden-text>

    <text name="defaultContentType" suffix="default.contenttype">
      <default>text/xml</default>
    </text>

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <text name="app.root" suffix="root">
      <option>appRoot</option>
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="resources.dir" suffix="resources.dir">
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="security.domain" suffix="security.domain">
      <default>demo</default>
    </text>

    <text name="security.prefix" suffix="security.prefix">
      <default>demo</default>
    </text>

    <text name="transport.guarantee" suffix="transport.guarantee">
      <default>NONE</default>
    </text>

    <!--
       We really want this to set the value of the above to NONE or CONFIDENTIAL
       addProperty(new BooleanProperty("ssl" suffix="use.ssl", true));
       -->

    <text name="description" suffix="description" advanced="true">
      <default>Bedework calendar public events admin client.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Public Events Administration</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <text name="admingroupsidprefix" suffix="admingroupsidprefix" advanced="true">
      <default>agrp_</default>
    </text>

    <boolean name="noGroupAllowed" suffix="nogroupallowed" advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoCreateContacts" option="autoCreateContacts"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoDeleteContacts" option="autoDeleteContacts"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoCreateLocations" option="autoCreateLocations"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoDeleteLocations" option="autoDeleteLocations"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="allowEditAllCategories" option="allowEditAllCategories"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="allowEditAllLocations" option="allowEditAllLocations"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="allowEditAllContacts" option="allowEditAllContacts"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="categoryOptional" option="categoryOptional"
             advanced="true">
      <default>true</default>
    </boolean>

    <boolean name="hour24" option="hour24">
      <default>true</default>
    </boolean>

    <text name="submissionRoot" option="submissionRoot">
      <default>/public/unbrowsable/submissions</default>
    </text>

    <int name="minincrement" option="minIncrement" advanced="true">
      <default>5</default>
    </int>

    <hidden-boolean name="guestmode" suffix="guestmode" value="false"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="true"/>

    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>

    <text name="run.as.user" suffix="run.as.user" advanced="true">
      <default>public-user</default>
    </text>
  </application>

  <!-- =====================================================================
                         application: websubmit
       ===================================================================== -->
  <application type="websubmit">
    <options-class-name>org.bedework.calfacade.configs.ClientConfig</options-class-name>

    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
      <value>websubmit</value>
    </hidden-text>

    <text name="defaultContentType" suffix="default.contenttype">
      <default>text/xml</default>
    </text>

    <text name="web.xml" suffix="web.xml" advanced="true">
      <default>war/WEB-INF/web.xml</default>
    </text>

    <text name="tomcat.context.xml" suffix="tomcat.context.xml" advanced="true">
      <default>war/META-INF/context.xml</default>
    </text>

    <!-- #org.bedework.app.UserCal.portlet.name=EventSubmit -->

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <!--
    //# Set for jboss
    //#org.bedework.app.UserCal.virtual.host=
     -->

    <text name="app.root" suffix="root">
      <option>appRoot</option>
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="resources.dir" suffix="resources.dir">
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="security.domain" suffix="security.domain">
      <default>demo</default>
    </text>

    <text name="security.prefix" suffix="security.prefix">
      <default>demo</default>
    </text>

    <text name="transport.guarantee" suffix="transport.guarantee">
      <default>NONE</default>
    </text>

    <!--
       We really want this to set the value of the above to NONE or CONFIDENTIAL
       addProperty(new BooleanProperty("ssl" suffix="use.ssl", true));
       -->

    <text name="description" suffix="description" advanced="true">
      <default>Bedework calendar event submission client.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework event submission client</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <boolean name="autoCreateContacts" option="autoCreateContacts"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoDeleteContacts" option="autoDeleteContacts"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoCreateLocations" option="autoCreateLocations"
             advanced="true">
      <default>false</default>
    </boolean>

    <boolean name="autoDeleteLocations" option="autoDeleteLocations"
             advanced="true">
      <default>false</default>
    </boolean>

    <text name="submissionRoot" option="submissionRoot">
      <default>/public/unbrowsable/submissions</default>
    </text>

    <boolean name="hour24" option="hour24">
      <default>true</default>
    </boolean>

    <int name="minincrement" option="minIncrement" advanced="true">
      <default>5</default>
    </int>

    <boolean name="showYearData" option="showYearData" advanced="true">
      <default>false</default>
    </boolean>

    <!--
    //requiredText("default.view" suffix="default.view");

    //requiredInt("refresh.interval" suffix="refresh.interval");

    //requiredText("refresh.action" suffix="refresh.action");
    -->

    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="false"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>
  </application>

  <!-- =====================================================================
                         application: webpublic
       ===================================================================== -->
  <application type="webpublic">
    <options-class-name>org.bedework.calfacade.configs.ClientConfig</options-class-name>

    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
      <value>webclient</value>
    </hidden-text>

    <text name="defaultContentType" suffix="default.contenttype">
      <default>text/xml</default>
    </text>

    <text name="web.xml" suffix="web.xml" advanced="true">
      <default>war/WEB-INF/publicweb.xml</default>
    </text>

    <text name="tomcat.context.xml" suffix="tomcat.context.xml" advanced="true">
      <default>war/META-INF/publiccontext.xml</default>
    </text>

    <!-- //#org.bedework.app.UserCal.portlet.name=UserCal -->

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <!--
    //# Set for jboss
    //#org.bedework.app.UserCal.virtual.host=
     -->

    <text name="app.root" suffix="root">
      <option>appRoot</option>
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="resources.dir" suffix="resources.dir">
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework calendar public client.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework public client</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <text name="run-as" suffix="run.as.user" advanced="true">
      <default>public-user</default>
    </text>

    <boolean name="hour24" option="hour24">
      <default>true</default>
    </boolean>

    <int name="minincrement" option="minIncrement" advanced="true">
      <default>5</default>
    </int>

    <!--  -->
    //<cachingOn>true</cachingOn>
    //<cachePrefix>bwpubevents</cachePrefix>

    //<autoCreateContacts>false</autoCreateContacts>
    //<autoDeleteContacts>false</autoDeleteContacts>
    //<autoCreateLocations>false</autoCreateLocations>
    //<autoDeleteLocations>false</autoDeleteLocations>
    -->

    <boolean name="showYearData" option="showYearData" advanced="true">
      <default>false</default>
    </boolean>

    <int name="refresh.interval" option="refreshInterval" advanced="true">
      <default>300</default>
    </int>

    <text name="refresh.action" option="refreshAction" advanced="true">
      <default>setup.do</default>
    </text>

    <text name="calSuite" option="calSuite" advanced="true">
      <default>${name}</default>
    </text>

    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="true"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>
  </application>

  <!-- =====================================================================
                         application: webuser
       ===================================================================== -->
  <application type="webuser">
    <options-class-name>org.bedework.calfacade.configs.ClientConfig</options-class-name>

    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
      <value>webclient</value>
    </hidden-text>

    <text name="defaultContentType" suffix="default.contenttype">
      <default>text/xml</default>
    </text>

    <text name="web.xml" suffix="web.xml" advanced="true">
      <default>war/WEB-INF/userweb.xml</default>
    </text>

    <text name="tomcat.context.xml" suffix="tomcat.context.xml" advanced="true">
      <default>war/META-INF/usercontext.xml</default>
    </text>

    <!-- //#org.bedework.app.UserCal.portlet.name=UserCal -->

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <!--
    //# Set for jboss
    //#org.bedework.app.UserCal.virtual.host=
    -->

    <text name="app.root" suffix="root">
      <option>appRoot</option>
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="resources.dir" suffix="resources.dir">
      <default>http://localhost:8080/${name}rsrc</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="security.domain" suffix="security.domain">
      <default>demo</default>
    </text>

    <text name="security.prefix" suffix="security.prefix">
      <default>demo</default>
    </text>

    <text name="transport.guarantee" suffix="transport.guarantee">
      <default>NONE</default>
    </text>

    <!--
       We really want this to set the value of the above to NONE or CONFIDENTIAL
       addProperty(new BooleanProperty("ssl" suffix="use.ssl", true));
       -->

    <text name="description" suffix="description" advanced="true">
      <default>Bedework calendar user client.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework user client</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <boolean name="hour24" option="hour24">
      <default>true</default>
    </boolean>

    <int name="minincrement" option="minIncrement" advanced="true">
      <default>5</default>
    </int>

    <boolean name="showYearData" option="showYearData" advanced="true">
      <default>false</default>
    </boolean>

    <!--
    //requiredText("default.view" suffix="default.view");
     -->

    <int name="refresh.interval" option="refreshInterval" advanced="true">
      <default>300</default>
    </int>

    <text name="refresh.action" option="refreshAction" advanced="true">
      <default>setup.do</default>
    </text>

    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="false"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>
  </application>

  <!-- =====================================================================
                         application: publiccaldav
       ===================================================================== -->
  <application type="publiccaldav">
    <options-class-name>org.bedework.calfacade.configs.CalDAVConfig</options-class-name>

    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework public caldav server.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework public caldav</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="true"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>

    <!--
    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>
     -->
  </application>

  <!-- =====================================================================
                         application: usercaldav
       ===================================================================== -->
  <application type="usercaldav">
    <options-class-name>org.bedework.calfacade.configs.CalDAVConfig</options-class-name>

    <comment>Web config client properties.</comment>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <text name="war" suffix="war.name">
      <default>${name}</default>
    </text>

    <text name="context.root" suffix="context.root">
      <default>${name}</default>
    </text>

    <text name="deploy.dir" suffix="deploy.dir">
      <default>/webapps</default>
    </text>

    <text name="security.domain" suffix="security.domain">
      <default>demo</default>
    </text>

    <text name="security.prefix" suffix="security.prefix">
      <default>demo</default>
    </text>

    <text name="transport.guarantee" suffix="transport.guarantee">
      <default>NONE</default>
    </text>

    <!--
       We really want this to set the value of the above to NONE or CONFIDENTIAL
       addProperty(new BooleanProperty("ssl" suffix="use.ssl", true));
       -->

    <text name="description" suffix="description" advanced="true">
      <default>Bedework user caldav server.</default>
    </text>

    <text name="display.name" suffix="display.name" advanced="true">
      <default>Bedework user caldav</default>
    </text>

    <text name="name" suffix="name" advanced="true">
      <default>${name}</default>
    </text>

    <hidden-boolean name="guestmode" suffix="guestmode" value="false"/>

    <hidden-boolean name="publicadmin" suffix="publicadmin" value="false"/>

    <!--
    <text name="logPrefix" option="logPrefix" advanced="true">
      <default>${name}</default>
    </text>
     -->
  </application>

  <!-- =====================================================================
                         application: caldavTest
       ===================================================================== -->
  <application type="caldavTest">
    <comment>Web config client properties.</comment>

    <hidden-text name="project" suffix="project">
      <value>caldavTest</value>
    </hidden-text>

    <hidden-text name="type" suffix="type">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
      <value>caldavTest</value>
    </hidden-text>

    <text name="shellscr.name" suffix="shellscr.name" advanced="true">
      <default>bwruntest</default>
    </text>

    <text name="batscr.name" suffix="batscr.name" advanced="true">
      <default>bwruntest.bat</default>
    </text>

    <text name="zip.name" suffix="zip.name">
      <default>caldavTest</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework CalDAV test utility.</default>
    </text>
  </application>

  <!-- =====================================================================
                         application: testsuite
       ===================================================================== -->
  <application type="testsuite">
    <comment>Web config client properties.</comment>

    <hidden-text name="project" suffix="project">
      <value>testsuite</value>
    </hidden-text>

    <hidden-text name="type" suffix="type">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
    </hidden-text>

    <text name="shellscr.name" suffix="shellscr.name" advanced="true">
      <default>bwruntest</default>
    </text>

    <text name="batscr.name" suffix="batscr.name" advanced="true">
      <default>bwruntest.bat</default>
    </text>

    <text name="zip.name" suffix="zip.name">
      <default>testsuite</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework test suite.</default>
    </text>

    <text name="schema.delimiter" suffix="schema.delimiter">
      <default>;</default>
    </text>
  </application>

  <!-- =====================================================================
                         application: dumprestore
       ===================================================================== -->
  <application type="dumprestore">
    <comment>Web config client properties.</comment>

    <hidden-text name="project" suffix="project">
      <value>dumprestore</value>
    </hidden-text>

    <hidden-text name="type" suffix="type" option="appType">
      <value>${type}</value>
    </hidden-text>

    <hidden-text name="sou.dir" suffix="sou.dir">
    </hidden-text>

    <text name="shellscr.name" suffix="shellscr.name" advanced="true">
      <default>bwrun</default>
    </text>

    <text name="batscr.name" suffix="batscr.name" advanced="true">
      <default>bwrun.bat</default>
    </text>

    <text name="zip.name" suffix="zip.name">
      <default>dumpres</default>
    </text>

    <text name="description" suffix="description" advanced="true">
      <default>Bedework dump/restore utility.</default>
    </text>

    <text name="schema.delimiter" suffix="schema.delimiter">
      <default>;</default>
    </text>
  </application>
</meta-data>
