The configuration of a simple file transfer with basic - i.e. password - authentication is described on this page.
A simple FTP file transfer example is used in which files are transferred from a remote server to the local file system.
The configuration of this example is described in detail in our YADE - Configuration - XML Editor Usage for compatible .ini and .xml configuration files page.
On this page the more general aspects of the configuration procedure will be described.
Example Configuration File
- On our YADE - Configuration - XML Editor Usage for compatible .ini and .xml configuration files page there is complete configuration download file available to help users get the example up and running as quickly as possible. This configuration is a working example that will download files from the online SOS Demo server to a local file system.
- The transfer configuration is described here uses the XML-based configuration introduced with Release 1.11 of YADE. A similar example using the Settings parameters configuration that was implemented for releases before 1.11 can be found our YADE Tutorials along with a configuration download file.
We recommend using the XML Editor to generate the XML configuration file. This editor uses the YADE XSD schema as a guide through each stage of the process. The schema is used to control and then validate the elements that can be specified in the configuration.
Using the XML Editor will significantly reduce the possibility of configuration errors.
Alternatively, a text editor can be used to write the configuration file manually.
The configuration described in this example is held as simple as possible. More complex file transfer scenarios will be described later.
The configuration procedure involves the following steps:
- Configuration of the Fragments - i.e. the protocol, connection and authentication methods to be used for the source and target parts of the operation.
- Configuration of the Profile - i.e.
- the operation to be carried out (e.g. copy or move),
- the fragments specified in Step 1 that are to be used for the source and target parts of the transfer and
- any specific directories that are to be used.
- Note that the Profile can also be used to specify other elements such as any notifications to be made or preprocessing that is to be carried out. These will be described in other parts of this manual.
- Calling the configuration and profile from the command line, a batch file or via the YADE API.
Step 1: Fragment Configuration Considerations
The Remote Source Fragment
The first step in the configuration is to configure the ProtocolFragments to be used for the transfer from the source. Other fragments are not required for this example.
Fragments are XML elements that specify how transfers are to be carried out. Protocol fragments can be thought of as predefined connection specifications. They are protocol-specific - the FTP protocol, for example, brings a different set of features and constraints than WebDAV protocol.
Fragments are not operation-specific - a fragment could be used as the target for one operation and then as a source for a subsequent one or in a Copy operation and then in a Remove.
Any number of fragments can be predefined in a configuration.
Fragments are given name attributes, with which they will be referenced from the file transfer profile as shown in the next step.
The fragment that is to be used for a particular part of the transfer operation is then specified in a profile element.
For the current example a fragment only has to be configured for the source part of the transfer as the transfer target is the local file system.
The XML hierarchy for the FTPFragment for this example is structured as follows:
- ProtocolFragments (parent element)
- FTPFragment (with name attribute)
- Port number (optional)
- Password (optional)
- FTPFragment (with name attribute)
Note that the XML hierarchy shown above has been simplified through the omission of optional elements that are not directly relevant.
FTP Transfer Properties
The XML hierarchy shown above reflects key properties of FTP file transfer:
- Only a BasicConnection element with a Hostname and optional Port is possible - URL connections are not possible.
- Only BasicAuthentication with an Account (i.e. user name) and optional Password is possible: SSH authentication, for example, requires that the SFTP protocol is used.
The Remote Target Fragment
It is not necessary to define a fragment for the target part of the operation as this takes place locally and the target directory is specified as part of the transfer profile.
Step 2: Profile Configuration Considerations
The second configuration step is to define the Profile, which is operation-specific. For example, a Profile for a Move Operation requires source and target to be specified where as a Remove operation only requires a source.
The FTP fragment itself is then specified in the FTPFragmentRef element's ref attribute.
In this example, the CopyTargetFragmentRef is used to specify that the target is to be local. The target directory is specified in the Directory element, which is a sibling of the CopyTargetFragmentRef reference element.
The XML for the copy operation from remote to local is structured as follows:
- FTPFragmentRef (with ref attribute for FTPFragment)
Note that once again the XML hierarchy shown above is simplified through the omission of the majority of optional elements.
Step 3: Calling the Configuration Profile
The configuration profile is specified with two parameters when YADE is called from the command line:
- the name of the XML configuration file and
- the Profile to be used.
Example calls for Windows and Unix systems can be found on our Configuring File Transfers with the YADE Client page.
- Configuring File Transfers with the YADE Client
- An overview of the authentication methods that can used with YADE can be found in the Authentication article.
- Parameter Reference