Xythos Drive Configuration Examples

Introduction

Below are several examples configuration files; it depends on you how you distribute them - you can copy them directly to an installed instance, use them to create customized package or publish them on a server and access them through remote configuration. To try it out, save an example to xdconfig_customer.xml and copy it to the config folder of the installed Xythos Drive instance as described in Drive Configuration step-by-step Guide.

Configuration Examples

  1. Change default cache size
  2. Disable icon previews in Windows Explorer
  3. Create volume with preset username, no parameters locked
  4. Create volume with automatically expanded username in url, no parameters locked
  5. Create volume with automatically expanded path, no parameters locked
  6. Create volume with empty username, user is not allowed to remove the volume or change volume url
  7. "Computer lab" configuration - one fixed volume that cannot be changed or deleted, clear data on disconnect
  8. Changing default settings for existing sharing levels (None, Light, Medium and Heavy)
  9. Changing user cache directory
  10. Changing default operation timeouts
  11. Disable the one-time cookie usage information dialog shown at startup
  12. Disable icon previews in Windows Explorer for all volumes, both existing and newly created

1. Change default cache size

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <dirmanSettings>
            <cacheSettings>
              <cacheSize>
                <gen:value>1024</gen:value>
              </cacheSize>
            </cacheSettings>
          </dirmanSettings>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

2. Disable icon previews in Windows Explorer

Windows Explorer tries to improve user experience by displaying additional information like file-specific icons etc., which causes performance problems when using network drives. Using this config you can block these Explorer extensions. For details, see the description of the configuration values in the Mass Configuration Administrator Guide.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
             <!-- here, we update volume list of all users so that it always contains volume TestServer -->
              <!-- the only requirement for the guid is that it should be unique across all config values -->
              <!-- the recommended format is: "CompanyName;CreationDate CreationTime Timezone; ValueIdentifier" -->
              <gen:newElement gen:guid="MyCompany;04:03:11 12:30:36 +0100;TestServer">
                <username>
                  <gen:value>testuser1</gen:value>
                </username>
                <server>
                  <gen:value>http://wfs72sp3:8080/</gen:value>
                </server>
                <name>
                  <gen:value>TestServer</gen:value>
                </name>
                <preventShellFilePreview>
                  <gen:value>true</gen:value>
                </preventShellFilePreview>
                <preventShellFolderPreview>
                  <gen:value>true</gen:value>
                </preventShellFolderPreview>
              </gen:newElement>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

3. Create volume with preset username, no parameters locked

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
             <!-- here, we update volume list of all users so that it always contains volume TestServer -->
              <!-- the only requirement for the guid is that it should be unique across all config values -->
              <!-- the recommended format is: "CompanyName;CreationDate CreationTime Timezone; ValueIdentifier" -->
              <gen:newElement gen:guid="MyCompany;04:03:11 12:30:36 +0100;TestServer">
                <sharingLevel>
                <!-- possible values are: None, Light, Medium, Heavy-->
                  <gen:value>Heavy</gen:value>
                </sharingLevel>
                <username>
                  <gen:value>testuser1</gen:value>
                </username>
                <server>
                  <gen:value>http://wfs72sp3:8080/</gen:value>
                </server>
                <name>
                  <gen:value>TestServer</gen:value>
                </name>
              </gen:newElement>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

4. Create volume with automatically expanded username in url, no parameters locked

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
             <!-- here, we update volume list of all users so that it always contains volume TestServer -->
              <!-- the only requirement for the guid is that it should be unique across all config values -->
              <!-- the recommended format is: "CompanyName;CreationDate CreationTime Timezone; ValueIdentifier" -->
              <gen:newElement gen:guid="MyCompany;04:03:11 12:30:36 +0100;TestServer">
                <sharingLevel>
                <!-- possible values are: None, Light, Medium, Heavy-->
                  <gen:value>Heavy</gen:value>
                </sharingLevel>
                <server>
                  <gen:value>http://wfs72sp3:8080/#U</gen:value>
                </server>
                <name>
                  <gen:value>TestServer</gen:value>
                </name>
              </gen:newElement>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

5. Create volume with automatically expanded path, no parameters locked

This example is similar to the previous one - user will be asked to enter username and password during connect. However, instead of expanding just username, it shows more general way of how to expand any part of the url path using principal properties defined on server. The string in form

 #{principal_property} 
is replaced by the value of principal_property returned by server. Particularly, the property "http://www.xythos.com/namespaces/StorageServer:homedirectory" is one such property and its value is the home directory of the user.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
             <!-- here, we update volume list of all users so that it always contains volume TestServer -->
              <!-- the only requirement for the guid is that it should be unique across all config values -->
              <!-- the recommended format is: "CompanyName;CreationDate CreationTime Timezone; ValueIdentifier" -->
              <gen:newElement gen:guid="MyCompany;04:03:11 12:30:36 +0100;TestServer">
                <sharingLevel>
                <!-- possible values are: None, Light, Medium, Heavy-->
                  <gen:value>Heavy</gen:value>
                </sharingLevel>
                <server>
                  <gen:value>http://wfs72sp3:8080/#{http://www.xythos.com/namespaces/StorageServer:homedirectory}</gen:value>
                </server>
                <name>
                  <gen:value>TestServer</gen:value>
                </name>
              </gen:newElement>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

6. Create volume with empty username, user is not allowed to remove the volume or change volume url

In this example, a new volume is created with no username preset, user will be asked to enter username and password during connect. The volume has "deleteItem" lock, so it cannot be deleted by a user. The volume url cannot be changed by a user because of the "edit" lock, but all other parameters (e.g. sharing level) can be modified.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
             <!-- here, we update volume list of all users so that it always contains volume TestServer -->
              <!-- the only requirement for the guid is that it should be unique across all config values -->
              <!-- the recommended format is: "CompanyName;CreationDate CreationTime Timezone; ValueIdentifier" -->
              <!-- this volume can not be deleted because of deleteItem lock-->
              <gen:newElement gen:locks="deleteItem" gen:guid="MyCompany;04:03:11 12:30:36 +0100;TestServer">
                <sharingLevel>
                <!-- possible values are: None, Light, Medium, Heavy-->
                  <gen:value>Heavy</gen:value>
                </sharingLevel>
                <username>
                  <gen:value></gen:value>
                </username>
                <server gen:locks="edit"><!-- server url cannot be changed in this volume because of the edit lock -->
                  <gen:value>http://wfs72sp3:8080/</gen:value>
                </server>
                <name>
                  <gen:value>TestServer</gen:value>
                </name>
              </gen:newElement>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

7. "Computer lab" configuration - one fixed volume that cannot be changed or deleted, clear data on disconnect

This is an example configuration for use in computer labs: create a single volume without preset username, user cannot change any volume settings, and after disconnect username, password and file content is removed so that next user cannot access previous user's credentials or data.

Known limitation: Drive is not able to successfully detect system restart/shutdown/logout before it kills the Java VM, so the cache is NOT cleared when running Drive with connected volume is terminated by system restart/shutdown/logout. The cache is only cleared when you manually quit connected Drive (it also disconnects the volumes) or when you manually disconnect the volume.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value>
      </massUpdateCurrentVersion>
      <disableSavingPassword>
        <gen:value>true</gen:value>
      </disableSavingPassword>
      <disableSavingUsername>
        <gen:value>true</gen:value>
      </disableSavingUsername>
    </globalSettings>
    <usersSettings>
      <userList>
        <gen:updateListType>
          <volumeManager>
            <volumeList>
              <gen:newElement gen:locks="deleteItem" gen:guid="MyCompany;2011-10-05 15:00:00;DefaultLabVolume">
                <name gen:locks="edit">
                  <gen:value>LabVolume</gen:value>
                </name>
                <server gen:locks="edit"><!-- server url cannot be changed in this volume because of the edit lock -->
                  <gen:value>http://wfs72sp3:8080/</gen:value>
                </server>
                <openFileManagerUponConnection gen:locks="edit">
                <!-- possible values are: true, false -->
                  <gen:value>true</gen:value>
                </openFileManagerUponConnection>
                <autoConnectAfterStart gen:locks="edit">
                <!-- possible values are: ONLINE, DISCONNECTED -->
                  <gen:value>DISCONNECTED</gen:value>
                </autoConnectAfterStart>
                <bypassProxy gen:locks="edit">
                <!-- possible values are: true, false -->
                  <gen:value>false</gen:value>
                </bypassProxy>
                <sharingLevel gen:locks="edit">
                <!-- possible values are: None, Light, Medium, Heavy-->
                  <gen:value>Heavy</gen:value>
                </sharingLevel>
              </gen:newElement>
            </volumeList>
          </volumeManager>
          <dirmanSettings>
            <cacheSettings>
              <clearCacheOnServerDisconnect gen:locks="edit">
                <gen:value>true</gen:value>
              </clearCacheOnServerDisconnect>
            </cacheSettings>
          </dirmanSettings>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

8. Changing default settings for existing sharing levels (None, Light, Medium and Heavy)

This is an example configuration for changing default values of checkBeforeOpen, autoLocks, cachedListings, refreshTimeout or checkBeforeOpenTimeout for existing sharing levels.
This example changes "None" sharing level to use auto locking (it is turned off for this sharing level by default).

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            gen:version="1" >
    <xdConfig>
        <globalSettings>
            <massUpdateCurrentVersion>
                <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
            </massUpdateCurrentVersion>
            <sharingLevelList>
                <gen:updateElement gen:templateguid="Xythos;04:03:08 12:30:35 +0100;None">
                    <checkBeforeOpen>
                        <gen:value>false</gen:value>
                    </checkBeforeOpen>
                    <autoLocks>
                        <gen:value>true</gen:value>
                    </autoLocks>
                    <cachedListings>
                        <gen:value>true</gen:value>
                    </cachedListings>
                    <refreshTimeout>
                        <gen:value>3600</gen:value>
                    </refreshTimeout>
                </gen:updateElement>
            </sharingLevelList>
        </globalSettings>
    </xdConfig>
</gen:config>

9. Changing user cache directory

This is an example configuration for changing default user cache directory.

<?xml version="1.0" encoding="UTF-8"?>
<!-- structureconstraints="item|nolist|nochilds" -->
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gen:version="1">
  <xdConfig>
    <globalSettings>
       <massUpdateCurrentVersion>
          <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
       </massUpdateCurrentVersion>
     </globalSettings>
     <usersSettings>
       <userList>
         <!-- by the folowing gen:updateListType we update template which is used for creating all user settings-->
         <gen:updateListType>
           <userCacheDir gen:macros="true">
             <gen:value>%DOCUMENTS%\xythos</gen:value>
           </userCacheDir>
         </gen:updateListType>
       </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

10. Changing default operation timeouts

This is an example configuration for changing timeouts for remote operations.
Note: by default, the timeout for connection, PROPFIND and DELETE methods are set in the xdconfig.xml (Drive's top-level configuration file), so the defaultMethodTimeout is the timeout for all other methods except these named. For example, changing the defaultMethodTimeout influences the timeout value for PUT operation, but not for PROPFIND, so to change the value for PROPFIND, you must explicitly set the value for this method as shown in the example below.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <dirmanSettings>
            <protocolSettings>
              <defaultMethodTimeout>
                <gen:value>90</gen:value>
              </defaultMethodTimeout>
              <webDAV>
                <methodsTimeouts>
                  <gen:updateElement gen:templateguid="Xythos;06:10:09 07:26:40 +0100;PROPFIND">
                    <timeout gen:val="90"/>
                  </gen:updateElement>
                </methodsTimeouts>
              </webDAV>
            </protocolSettings>
          </dirmanSettings>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>

11. Disable the one-time cookie usage information dialog shown at startup

To comply with EU privacy policy, Drive shows at first startup after the installation a one-time message informing about the cookie usage and privacy policy. Once confirmed, this dialog will be never shown again unless you fully reinstall the product. This dialog is enabled by default for all customers. If you do not wish to show this information at all, you can use the following config to customize the installation package:

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gen:version="1">
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value>
      </massUpdateCurrentVersion>
      <disableCookiesPolicyInformationDisplay>
        <gen:value>true</gen:value>
      </disableCookiesPolicyInformationDisplay>
    </globalSettings>
  </xdConfig>
</gen:config>

12. Disable icon previews in Windows Explorer for all volumes, both existing and newly created

This is a variation of the Example 2, but this time, by modifying the template for all volumes, the Explorer extensions are blocked for all volumes in the volume list, both existing and those created later on.

<?xml version="1.0" encoding="UTF-8"?>
<gen:config xmlns:gen="http://www.xythos.com/jconf/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" gen:version="1" >
  <xdConfig>
    <globalSettings>
      <massUpdateCurrentVersion>
        <gen:value>10</gen:value> <!-- the version number here must match the massUpdateCurrentVersion in update-info.xml -->
      </massUpdateCurrentVersion>
    </globalSettings>
    <usersSettings>
      <userList>
        <!-- by the following gen:updateListType we update the template which is used for creating all user settings -->
        <gen:updateListType>
          <volumeManager>
            <volumeList>
              <!-- by the following gen:updateListType we update the template which is used for creating all user's volumes -->
              <gen:updateListType>
                <preventShellFilePreview>
                  <gen:value>true</gen:value>
                </preventShellFilePreview>
                <preventShellFolderPreview>
                  <gen:value>true</gen:value>
                </preventShellFolderPreview>
              </gen:updateListType>
            </volumeList>
          </volumeManager>
        </gen:updateListType>
      </userList>
    </usersSettings>
  </xdConfig>
</gen:config>