Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Protocol Fragments

When a source or target is specified for a file transfer operation a reference is made to a protocol fragment element. Protocol fragments are elements the Fragments branch in the XSD Schema and can be thought of as a series of predefined part configurations that can be called up as required for specific file transfer operations.

Protocol fragments are usually form the starting point when configuring a file transfer. Profiles, which reference protocol fragments, are specified after the protocol fragments have been defined.

Operationally, the starting point is a Profile, which then calls the protocol fragments.

XML Hierarchy

ProtocolFragments are children of the Fragments element and in turn can have any number of child elements. Example protocol fragment elements would be the FTPFragment and the SFTPFragment.

Protocol fragment elements have descendants that specify parameters such as the authentication method, the connection type and proxy.

The upper levels of the Fragments branch of the XML hierarchy are

  • Fragments
    • ProtocolFragments
      • FTPFragment
      • FTPFSRagment
      • etc.
    • AlternativeFragments (optional)
    • NotificationFragments (optional)

 

Protocol fragment elements are protocol-specific - that is, there is a ProtocolFragments element defined in the XSD schema for each file transfer protocol. This approach enables the properties of each protocol to be reflected in the schema and allows dependencies and incompatibilities to be defined. A trivial example here would be that a PassiveMode element can be specified for an FTPFragment but not for an SFTPFragment.

The next diagram shows the structure of an example protocol fragment element - the FTPFragment:

  • FTPFragment
    • BasicAuthentication
      • Account
      • Password (optional)
    • BasicConnection
      • Hostname
      • Port (optional)

Note that protocol fragments can be used for either a transfer source or target as required. This is described in more detail in the next section.

Calling Protocol Fragments

Any number of ProtocolFragments can be specified within a file transfer configuration and any number of fragments can be defined for a particular protocol. A particular fragment is referenced by a name attribute and this attribute is referenced by a corresponding fragment reference element in the configuration Profiles branch.

Operation-dependent source and target elements specify the ProtocolFragments element that is to be used. For example:

The XML hierarchy used to define the fragments required for a copy operation from a remote source to a target on the local file system is as follows:

  • Operation
    • Copy
      • CopySource
        • CopySourceFragmentRef
          • FTPFragmentRef (Has the ref Attribute which specifies the source ProtocolFragment)
        • SourceFileOptions
          • Selection
      • CopyTarget
        • CopyTargetFragmentRef
          • LocalTarget (A ProtocolFragment does not need to be defined here as the target is the local file system )
        • Directory

The use of protocol fragments is described in more detail in the Configuring Protocol Fragments article.

General Comments

The advantage of this approach - which may at first seen somewhat complex - is that fragments can flexibly reused within the otherwise strict XML hierarchy and that configurations can be validated against an XSD schema. Validation means that the possibility of configuration errors is greatly reduced.

A Fragment can be used as a source or as a target within the one Configuration.

Note:

...

Overview

File transfer parameters in YADE are defined hierarchically and are sorted into two branches - Profiles and Fragments. A Profile specifies what is to be done (e.g. copy from A to B) and the Fragment defines how this is to be done (e.g. using protocol X, authentication Y, etc.).

Fragments (see the link to the relevant section of this manual at the foot of this article) are generally configured before Profiles. The considerations necessary for defining the Profile branch of the configuration are described in this article.

How to generate the Profile configuration

The diagram below shows the minimum parameter hierarchy (i.e. without optional parameters) required to specify a file transfer from a remote source per FTP protocol to the local file system.

When the XML Editor is used to generate the configuration you will be guided using the Add child button to insert valid elements starting with the Profiles element and proceed down the hierarchy.

Note that the links behind each element name in the diagram lead to the Parameter Reference Documentation for that element, which provides detailed information about the parameter.

Each individual file transfer is headed up by a Profile, which is added as a child of the Profiles element.

The individual parameters that have to be specified in the Profile are as follows:

  • The Profile requires a profile_id which is used to call the profile when the transfer is called from the command line.
  • In the example, a Copy operation is specified, which, in turn, requires that CopySource and CopyTarget elements are set.
  • The CopySource element has two child elements:
    • a CopySourceFragmentRef element, which is required. This element in turn requires an FTPFragmentRef element, which contains the reference specifying the protocol fragment element. The protocol fragment then specifies the transfer connection parameters such as authentication, protocol, etc.
      • Note that the FragmentRef element (FTPFragmentRef), which is used to specify the fragment element, is protocol-specific. This allows optional pre- and post-processing child elements - which are not shown in the hierarchy - to be added to the profile as child elements of the FTPFragmentRef element. Such elements are protocol-specific.
    • a SourceFileOptions element which is also required - together with the Selection element - and is used to specify a range of parameters related to aspects of file selection.
  • The CopyTarget element does not need a corresponding FTPFragmentRef child element as the target is the local file system. However, the LocalTarget element must be specified.
    • The Directory element is used to specify a target directory if a directory other than the user's root directory is used.

Calling Profile Elements

A Profile is specified by its profile_id attribute, which is used to call the profile when the transfer is called from the command line.

An example showing the YADE command line call syntax can be seen in the Configuring and Running File Transfers article.

Further Information

Related Sections of this User Manual:

Other documents

  • The use of the Operations element - the only Profiles child element whose use is required - is described in the Operation section of this manual.