WebDAV Connector

The following requirements should be given to use this Extension:

  1. At the Moment the Extension only works with Apache Webserver
  2. mod_rewrite needs to be activated
  3. AllowOverride should be activated for webdav Directory

Please contact your system administrator to check this requirements before you buy!

Setup

  • Extract all files of the module archiv and upload them to a directory /webdav in your vtigerCRM Root directory (The directory which contains the vtigerversion.php).
  • Copy config.inc.sample.php to config.inc.php and configure like you want. (LicenseKey will be generated in the next step)
  • Open this directory in your browser (URL in this way: http:/ /<yourvtigercrmdomain>/webdav and you will see a license error. Copy the siteURL, which is shown on this page.
  • Login into my CustomerPortal and generate the License Code with exactly this siteURL.
  • Insert this LicenseKey into your config.inc.php File in the variable $licenseKey
  • Refresh the Browsertab with the webdav directory. You now should see a file structure

Please note:

If you create the webdav directory not inside the root directory of your domain, for example if your URL will be domain.com/crm/webdav/, you have to set these path inside the .htaccess file!

To do this, please change this line inside the .htaccess file:

RewriteBase /webdav/

and enter your own path to the webdav directory.
For example if your URL is: www.domain.com/crm/vtiger/webdav
you need to set:

RewriteBase /crm/vtiger/webdav/

Connect your Clients

To connect your WebDAV Client to this Connector, you have to use the following details:

Server: <PathToVtiger>/webdav
Username: <yourUsername>
Passwort:
<yourAccessKey>

You get your AccessKey from every Users “My Preferences” Page.

Configuration

$letterLength

How much Letter-Subdirectory do you want to use inside module-Directories.
/Accounts/C/CompanyName
/Accounts/C/CO/CompanyName
This will increase usability if you stored lots of records

$licenseKey

Insert your licenseKey, you get in my CustomerPortal on http://vtiger.stefanwarnat.de/customerportal

$showInfoFile

If you set this to true, you get a file in the root, which shows the version of module and vtigerCRM

$enableHandler

You could enable three different way to access your files.
You could enable all three Handler at the same time.

Documents

Files are shown by Folder you configure in Documents module

Example Path:

/Documents/Foldername/Filename.jpg

Modules

Files could be related to records. Every record of your vtigerCRM System had a single directory

Example Path:

/Modules/Accounts/A/AC/Accountname/Filename.jpg

ID

This is the best way, if you want to access WebDAV Directory automatically.
Every Record could be access directly via modulename and RecordID.

Example Path:

/ID/Accounts/2/Filename.jpg

$enableTranslatedPaths

If you use your vtigerCRM system not with the English language, you could setup translated paths.
But this will use the settings from the user, which could lead to different paths.

If you set this variable to true and use your vtigerCRM in german you get paths like:

/Modules/Personen/M/MA/Max #123/

If another User set the language to English, his path will be:

/Modules/Contacts/M/MA/Max #123/

But if all users will use the system in the same language, you could set this to true!
If you set this configuration to false, all will use the English Paths.

$autoLogin

This is a great feature if you want to access WebDAV Directories automatically, without the a opportunity to set a valid username/password.
You could configure IP's, which will be login automatically as the User you configure, without the need to transfer username/password.

But be carefully with this option! Every User, which will access your WebDAV Directory from this IP, could read/write/delete your files without any login.
(The Permissions of the User will be applied and could limit the login)

You could configure multiple IP's or a wildcard for all IP's. (For example if you use the vtigerCRM local in your intranet, without access from the internet.)

The following example will login every client with the IP 192.168.11.3 with the UserID 1 and every Client from the IP 192.168.0.11 with the UserID 2.

    $autoLogin = array(
        "192.168.11.3" => 1,
        "192.168.0.11" => 2
    );

$deactivateCompleteIDListing

If you use the ID Handler you could configure if you want to see a list of all ID's available in a module, which could be take a long time to generate and transfer.
Because this handler is implemented to be used automatically from software, you probably could set this to false.
This don't prevent you from access the Records! You only need the full URL to the record. (/Modules/Accounts/123/)