Docs/Sessions & files/File transfer
DartRelay 2.1 documentation
Sessions & files

File transfer

File transfer gives people a drive inside their remote session and a file browser in the portal, so they can upload files from their own computer into a published application or desktop and download results back again. This page explains how to switch it on, where the files are kept, and how to give each person a private folder.

What file transfer is

A published application runs on a host, not on the person's own computer. Without file transfer, a document on their laptop cannot reach the application, and a report the application saves cannot come back. File transfer closes that gap in two parts:

Both views show the same folder, which lives in a location you choose: a folder on the DartRelay server, or a network share. Nothing is installed on the host to make this work.

Note

File transfer is off for every resource until you switch it on. Turning it on for one desktop does not turn it on for anything else.

Before you begin

How the settings fit together

File transfer has two layers:

  1. The global file share, in System → Settings on the File Share card. This is the location, the account and the file permissions used by every resource that has file transfer switched on.
  2. A per-resource override, on each desktop's or app group's edit page. If you tick Override Global Settings, that resource uses its own path, account and permissions instead of the global ones. Leave it unticked and the resource simply follows the global card; the page shows a summary of what is in effect.

For each session DartRelay uses the resource's override if there is one, otherwise the global share. If neither has a path, the resource gets no drive, even with file transfer switched on.

Set up the global file share

  1. Open the settings. In the console, go to System → Settings and find the File Share card.
  2. Enter the share path. In Global Share Path, type an absolute path: a local folder such as D:\RelayFiles\{username}, or a network path such as \\fs01\dartrelay\{username}. The tokens are explained in Per-user folders and tokens.
  3. Choose who connects (network paths only). As soon as the path is a UNC path, Connect As and the credential fields appear. Pick how DartRelay should sign in to the file server and, if needed, enter the username, domain and password.
  4. Choose the file management permissions. Tick what people may do in the file browser besides upload and download: delete, rename and create folders. All three are off unless you tick them.
  5. Click Test share. DartRelay connects to the share with the account you entered, lists it and disconnects, then shows the result inside the card. Nothing is saved by the test.
  6. Click Save. The button saves the whole Settings page, including this card.

File Share card reference

FieldWhat it doesDefault
Global Share PathWhere session files are kept. Must be absolute: a drive path (D:\…) or a UNC path (\\server\share\…). A path containing .., or a relative path, is refused when you save.Empty (no drive)
Connect AsShown for UNC paths only. Which account opens the share. See Choosing who connects to the share.—
Username, domain and passwordThe account used when Connect As needs one. The password is stored encrypted.—
Test shareChecks that the share can be reached and listed with the account given, and reports the cause of common failures.—
Allow deleteLets people delete files and folders from the file browser. Deletion is permanent.Off
Allow renameLets people rename files and folders from the file browser.Off
Allow create foldersLets people create new folders from the file browser.Off
Tip

A green result from Test share means the share and the account work. It does not create per-user folders, so it cannot prove that a missing parent folder is in place. After saving, open a resource in the portal as a test user and check that the folder button becomes available.

Per-user folders and tokens

A path can contain tokens that DartRelay fills in for each session. This is how you give everybody a private folder from one setting.

TokenBecomesExample
{username}The signed-in person's account name, made safe for a folder name.\\fs01\dartrelay\{username} → \\fs01\dartrelay\jsmith
{entitlement}The number DartRelay uses for the resource being opened.D:\RelayFiles\{entitlement} → D:\RelayFiles\12

How {username} is turned into a folder name:

Important

A path without {username} is one shared folder: every person who opens that resource sees the same files, including each other's. That is a valid choice for a team folder, and the console shows an amber warning rather than refusing it. If you meant to give people private folders, add {username}.

Example: private folders for everyone, a team folder for Finance

A company keeps files on its file server fs01. Everybody should have a private folder, but the Finance desktop should open a folder the whole Finance team shares.

  1. On the global card, set Global Share Path to \\fs01\dartrelay\{username}, connect as a service account that can write to \\fs01\dartrelay, and save.
  2. On the Finance desktop's edit page, tick Override Global Settings and set its network path to \\fs01\finance\shared. Untick nothing else; leave the account as the global one.

Every other resource with file transfer on gives each person \\fs01\dartrelay\<their name>. The Finance desktop shows everyone the same team folder.

Choosing who connects to the share

For a network share, Connect As decides which identity the file server sees.

ChoiceHow it worksWhen to use it
A service accountOne stored account connects to the share for everybody. The file server sees one identity, and {username} folders keep people apart.The usual choice. Simple to set up and works for every kind of sign-in.
Each user's own accountThe share is connected with the signed-in person's own Windows credentials, so the file server's own permissions decide what they can see.When your file server permissions must apply per person. Only works for resources that pass the person's own Windows credentials through to the host; see Publishing applications.
GuestThe share is opened anonymously.Only for a share that deliberately allows anonymous access.
The global account (override only)The resource uses its own path but connects with the account from the global card.Most overrides, where only the folder differs.
Note

Windows allows only one set of credentials per file server at a time for the DartRelay service. If two resources connect to different shares on the same file server with different accounts, the second can be refused. Use one account for every share on a given file server.

Switch file transfer on for a resource

File transfer is switched on per desktop and per app group.

  1. Open the resource. Go to Catalog → Desktops or Catalog → Remote Apps and open the desktop or app group for editing.
  2. Find the File Transfer card and switch file transfer on.
  3. Optionally name the drive. The drive name is what people see inside Windows, for example in File Explorer or a Save As dialog.
  4. Decide whether to override. Leave Override Global Settings unticked to use the global card; the card shows the global path, account and permissions in effect. Tick it to give this resource its own settings (below).
  5. Click Save. The next session opened for this resource has the drive. Sessions already open are not changed.

The File Transfer card is on the desktop edit and create pages and on the app group edit page. For a new app group, create it first, then switch file transfer on when you edit it.

Override Global Settings reference

FieldWhat it doesDefault
Override Global SettingsUnticked: the resource follows the global card. Ticked: the fields below apply to this resource only.Unticked
Network PathThis resource's own path. Leave it blank to keep the global path but change the account or permissions. Tokens work here too.Blank (global path)
Connect asThe global account, a service account, each user's own account, or guest.The global account
CredentialsUsername, domain and password for a service account chosen here.—
Test shareAs on the global card. Available on the edit pages.—
Allow delete / rename / create foldersThis resource's own file management permissions.Off

What people see in the portal

When a session with file transfer is open, its toolbar shows a folder button. It is greyed out while the session is connecting and becomes available once the drive is ready. Clicking it opens the file browser, where people can:

Uploading a whole folder is not supported; the file browser says so if somebody tries. People can create the folder first (if allowed) and upload its files into it. The end-user view is described in Files and printing in a session, which you can send to your staff.

Note

Earlier versions added a Download folder to the root of the drive and pushed anything saved there to the browser. That folder is no longer created and has no special meaning; the file browser replaces it. A Download folder already created on a share by an earlier version is left in place, with its contents.

Known issues

Known issues in file transfer

Downloads can stop after 128 files. After 128 files have been downloaded in one session, further downloads in that session can stop working, and in that state a file being downloaded can be removed from the share even though it never reached the browser. Keep copies of files that matter, and avoid relying on a single long session for bulk downloads.

Filenames with non-English characters. Files and folders whose names contain characters outside the basic English alphabet (accented letters, or non-Latin scripts) may not transfer or display correctly. Rename such files to plain letters and digits before transferring them.

Only the last folder of the path is created. DartRelay creates the final folder in the share path (for example the person's {username} folder), but not the folders above it. If \\fs01\dartrelay does not exist, the path \\fs01\dartrelay\{username} fails for everybody. Create every parent folder yourself, and make sure the connecting account can write to the folder that will hold the per-user folders.

If something goes wrong

What you seeLikely cause and fix
No folder button in the session toolbarFile transfer is not switched on for that resource, or neither the resource nor the global card has a path. Check the File Transfer card on the resource and the File Share card in System → Settings.
The folder button stays greyed outThe session has not finished connecting, or the drive could not be opened. Wait for the session to appear; if the button never becomes available, check the path and account below and look in the DartRelay log, which names the drive path used for each session.
The drive appears but every file operation failsThe folder exists but cannot be written, or a parent folder is missing. Create the parent folders and give the connecting account modify permission on them.
Test share passes but sessions get no filesThe test checks the share and credentials only. Check that the parent of the per-user folder exists, and that the resource is not overriding the global settings with a different path.
One share works, another on the same file server is refusedTwo different accounts are being used against one file server. Use the same account for every share on that server.
Saving the path is refusedThe path is relative or contains ... Enter a full path starting with a drive letter or \\.
People can see each other's filesThe path has no {username}, so it is one shared folder. Add the token, or use a separate override for the resource that should be shared.
Delete, rename or new folder is missing in the file browserThose permissions are off. Tick them on the global card, or on the resource's override.
Still stuck? Email support@dartinnovations.com with what you were doing, what you expected and what you saw. A screenshot helps.