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:
- A drive inside the session. When file transfer is on for a resource, an extra drive appears inside the Windows session. The application can open files from it and save files to it exactly as it would with any other drive, through its normal Open and Save As dialogs.
- A file browser in the portal. In the portal, the session's toolbar gains a folder button. It opens a file browser showing the same drive, where the person can upload files from their computer (by picking them or dragging them in) and download files back, several at once as a ZIP.
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.
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
- Decide where the files should live. A folder on the DartRelay server is the simplest. A network share (a UNC path such as
\\fs01\dartrelay) keeps the files on your file server and lets you use its backups and permissions. - If you use a network share, have an account ready that can read and write to it, unless you plan to use each person's own Windows account (see Choosing who connects to the share).
- Make sure every parent folder of the path already exists. DartRelay creates only the last folder in the path for you. See Known issues.
- You need an administrator role that may change system settings (for the global share) and edit desktops or apps (to switch file transfer on for a resource). See Administrator roles and permissions.
How the settings fit together
File transfer has two layers:
- 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.
- 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
- Open the settings. In the console, go to System → Settings and find the File Share card.
- 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. - 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.
- 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.
- 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.
- Click Save. The button saves the whole Settings page, including this card.
File Share card reference
| Field | What it does | Default |
|---|---|---|
| Global Share Path | Where 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 As | Shown for UNC paths only. Which account opens the share. See Choosing who connects to the share. | — |
| Username, domain and password | The account used when Connect As needs one. The password is stored encrypted. | — |
| Test share | Checks that the share can be reached and listed with the account given, and reports the cause of common failures. | — |
| Allow delete | Lets people delete files and folders from the file browser. Deletion is permanent. | Off |
| Allow rename | Lets people rename files and folders from the file browser. | Off |
| Allow create folders | Lets people create new folders from the file browser. | Off |
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.
| Token | Becomes | Example |
|---|---|---|
{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:
- The domain part is removed, so
CORP\JSmithandjsmith@corp.example.comboth becomejsmith. - It is lower-cased, so the same person never ends up with two folders that differ only in capital letters.
- Characters other than letters, digits, dots, hyphens and underscores are replaced. When that happens a short code is added to the end (for example
josébecomes something likejos-d994e1d0), so two different names can never collapse into one folder. - The account name is used, never the display name, so two people who happen to share a display name still get separate folders.
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.
- 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. - 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.
| Choice | How it works | When to use it |
|---|---|---|
| A service account | One 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 account | The 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. |
| Guest | The 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. |
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.
- Open the resource. Go to Catalog → Desktops or Catalog → Remote Apps and open the desktop or app group for editing.
- Find the File Transfer card and switch file transfer on.
- Optionally name the drive. The drive name is what people see inside Windows, for example in File Explorer or a Save As dialog.
- 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).
- 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
| Field | What it does | Default |
|---|---|---|
| Override Global Settings | Unticked: the resource follows the global card. Ticked: the fields below apply to this resource only. | Unticked |
| Network Path | This 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 as | The global account, a service account, each user's own account, or guest. | The global account |
| Credentials | Username, domain and password for a service account chosen here. | — |
| Test share | As on the global card. Available on the edit pages. | — |
| Allow delete / rename / create folders | This 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:
- move between folders with Up, refresh the list, and filter the current folder by name;
- upload files by dragging them onto the browser or by picking them; uploads go into the folder currently shown;
- select one or more files or folders and download them; several items, or a folder, download as one ZIP file;
- delete, rename or create folders, but only if you allowed it.
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.
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
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 see | Likely cause and fix |
|---|---|
| No folder button in the session toolbar | File 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 out | The 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 fails | The 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 files | The 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 refused | Two different accounts are being used against one file server. Use the same account for every share on that server. |
| Saving the path is refused | The path is relative or contains ... Enter a full path starting with a drive letter or \\. |
| People can see each other's files | The 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 browser | Those permissions are off. Tick them on the global card, or on the resource's override. |
Related pages
Files and printing in a session
The end-user guide to the file browser and printing.
Printing
Let people print from a session to a PDF in their browser.
Publishing applications
Create the app groups that file transfer is switched on for.
Desktops and web applications
Publish full desktops, which carry the same File Transfer card.
