File Manager

Note: To display only the features present on a particular device, select one or more filters from the SmartDocs bar below.

StageNow - 4.1

Overview

The File Manager (FileMgr) allows an application to manage files on the device. For example, FileMgr permits an app to download a file from a server to the device, copy a file or folder from one area of the device to another and to delete files on the device. The File Manager also can extract files embedded within an XML document and download from the internet with or without basic authentication.

Main Functionality

  • Copy a file from local or remote locations to the device
  • Copy a file from data embedded in an XML object to the device
  • Copy or move a file or folder from one location on a device to another
  • Delete a file from the device
  • Copy a folder or archive file containing multiple files to the device
  • Download files from a server using HTTP, HTTPS, FTP or FTPS (FTP over TLS/SSL)
  • Supports basic authentication on HTTP servers when embedded within a URI
  • Download and process ".archive" files generated with StageNow using HTTP or HTTPs
  • Retry and/or resume operations after Wi-Fi or mobile network disconnects
  • Wait for a connection to be available before initiating a download
  • Control behavior if duplicate files are encountered when copying or moving
  • Select the sort order when multiple files being copied or moved
  • Specify a naming pattern for uploaded files
  • Delete file after uploading

File Action

Used to select an action to be performed on a file.

Parm Name: FileAction

Option Name Description Note Requires
1 Transfer/Copy File Copies a specified file to the device.

MX: 4.3+

2 Upload File(s) Uploads specified file(s) from the device to a remote system.

MX: 10.1+

4 Delete File Erases a specified file from the device.

MX: 4.3+

9 Download and Expand Archive File Copies an archive file to the device and extracts its contents.

MX: 5.0+

Target URI

Used to enter the location (URI) of the file to copy from a remote server to the device.

Parm value input rules:

  • String containing the URI of the source file

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetURI

Requires:

  • MX: 4.3+

Target Access Method

Used to enter whether the file will be present in the device file system or embedded within an XML file.

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetAccessMethod

Option Name Description Note Requires
2 File in Device File System Specifies that the file is in the device file system.

MX: 4.3+

Destination Path and File Name

Used to enter the destination path and file name on the device to which to copy the object of the File Action.

Parm value input rules:

  • String from 1–255 characters containing the destination path and file name

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetPathAndFileName

Requires:

  • MX: 4.3+

Source Path and File Spec

Used to enter the path and name of an on-device file to be uploaded to a remote system.

Parm value input rules:

  • String from 1–255 characters
  • Supports wildcard (*) character for specifying file(s)

Note: Supported only on devices running Android 8.x Oreo and Android 10 or later.

Shown if: File Action is "Upload file(s)"

Parm Name: SourcePathAndFileSpec

Requires:

  • MX: 10.1+

Upload Order

Used to select the sort order when multiple files are copied or moved.

Note: Supported only on devices running Android 8.x Oreo and Android 10 or later.

Parm Name: UploadOrder

Option Name Description Note Requires
1 Newest files first Moves/copies files by date from newest to oldest.

MX: 10.1+

2 Oldest files first Moves/copies files by date from oldest to newest.

MX: 10.1+

3 Sorted by filename Moves/copies files in ascending alphabetical order (from A to Z).

MX: 10.1+

Duplicate File Handling

Used to control File Manager behavior when moving or copying files and a duplicate file name exists at the destination.

Note: Supported only on devices running Android 8.x Oreo and Android 10 or later.

Parm Name: IfDuplicate

Option Name Description Note Requires
1 Replace the file in the destination Overwrites the duplicate file at the destination, replacing it with the file being copied or moved.

MX: 10.1+

2 Skip the file and remove from the source Erases the source file and leaves the duplicate file at destination unchanged.

MX: 10.1+

3 Skip the file and keep it at the source Leaves source file and duplicate file at destination unchanged.

MX: 10.1+

Source Access

Used to enter the location of the source file to be copied or transferred.

Parm Name: SourceAccessMethod

Option Name Description Note Requires
1 File on remote server Indicates the source file is on a remote server.

MX: 4.3+

2 File on device file system Indicates the source file is on the device.

MX: 4.3+

3 File embedded in XML Indicates the source file is embedded in XML.

MX: 4.3+

Source URI

Used to enter the URI of the location of the file on the server. Supports HTTP, HTTPS, FTP and FTPS (FTP over TLS or SSL) protocols and basic authentication of URL-embedded credentials. See Examples section for syntax.

Note: HTTP/HTTPS requires MX 7.0 or higher; FTPS requires MX 7.1 or higher.

Parm value input rules:

  • String containing the URI of the source file
  • Credentials must be embedded within URI
  • Use "protocol=SSL" to override default (TLS)
  • Use "implicit=true" to override default (false)

Note: HTTP/S requires MX 7.0+; FTPS requires MX 7.1+

Shown if: File Action is Transfer/Copy and source is remote server

Parm Name: SourceURI

Requires:

  • MX: 4.3+

Target File Name Pattern

Used to (optionally) enter a pattern to generate file names for files uploaded to a remote system.

Parm value input rules:

  • String from 0–255 characters containing a file-naming pattern
  • Accepts contstants of model, serial number, date and time
  • Default pattern is "SerialNo_FileName"
  • If pattern not entered or invalid, default patttern is used

Example: A specified pattern of "model-serial-date-time" results in the file name:
"TC57-12345678901234-DD-MM-YYYY-HH:MM:SS-FileName"

Note: Supported only on devices running Android 8.x Oreo and Android 10 or later.

Shown if: File Action is "Upload file(s)"

Parm Name: TargetFileNamePattern

Requires:

  • MX: 10.1+

Source Path and File

Used to enter the path and file name of the source file location on the device.

Parm value input rules:

  • String from 1–255 characters

Shown if: File Action is Transfer/Copy and source is on device

Parm Name: SourcePathAndFileName

Requires:

  • MX: 4.3+

Delete After Upload (checkbox)

Controls whether source files are deleted after being uploaded.

Note: Supported only on devices running Android 8.x Oreo and Android 10 or later.

Parm Name: DeleteAfterUpload

Option Name Description Note Requires
0 (unchecked) Does not delete source file after upload.

MX: 10.1+

1 (checked) Deletes source file after upload.

MX: 10.1+

Embedded File Type

Used to enter the type of file to be embedded.

Shown if: File Action is "Transfer/Copy" and Source is "Embedded"

Parm Name: SourceType

Option Name Description Note Requires
1 General data file (any extension) Indicates a source file with any extension type.

MX: 4.3+

2 Android application package (.APK file) Indicates a source file with an .apk extension.

MX: 4.3+

3 Android OS Update (.ZIP file) Indicates a source file with a .zip extension.

MX: 4.3+

XML Embeded Source

Used to enter the source file data to be embedded in the XML.

Shown if: File Action is "Transfer/Copy "and Source Type is "File Embedded in XML" and Source Type is "General Data File"

Parm Name: SourceDataAny

Requires:

  • MX: 4.3+

APK Embedded Source

Used to enter the APK source file data to be embedded in the XML.

Shown if: File Action is Transfer/Copy and source type is 'File embedded in XML' and Embed type is 'Android Application' remote server

Parm Name: SourceDataApk

Requires:

  • MX: 4.3+

OS Update Embedded Source

Provide the source ZIP file data to be embedded in the XML.

Shown if: File Action is Transfer/Copy and source type is 'File embedded in XML' and Embed type is 'Android OS Update' remote server

Parm Name: SourceDataZip

Requires:

  • MX: 4.3+

Archive Target Path and Folder Name

Used to enter the path and folder name into which the downloaded archive file should be expanded.

Parm value input rules:

  • String from 1–255 characters containing the path and file name of the destination folder

Shown if: File Action is "Download and Expand Archive"

Parm Name: ArchiveTargetPathAndFolderName

Requires:

  • MX: 5.0+

Archive Source URI

Used to enter the URI of the source archive/ZIP file.

Parm value input rules:

  • String from 1–255 characters containing the URI of the source archive/ZIP file

Shown if: File Action is "Download and Expand Archive"

Parm Name: ArchiveSourceURI

Requires:

  • MX: 5.0+

Examples

Download From HTTP/HTTPs


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value=" http://mycompany.com/file/emmtk.war"/>
        <parm name="TargetPathAndFileName" value="/internal/tmpp/10m_testfile.bin"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Download and Unarchive


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="9"/>
    <characteristic type="file-details">
        <parm name="ArchiveTargetPathAndFolderName" value="/sdcard/Android/extract3"/>
        <parm name="ArchiveSourceURI" value="https://secure.mycompany.com/httpsdownload/ArchiveFileTemp.archive"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Perform Basic Authentication


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="http://username:password@192.168.0.100:21/secure/10m_testfile.bin"/>
        <parm name="TargetPathAndFileName" value="/internal/tmpp/10m_testfile.bin"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Download From FTPS With Explicit Connection


<wap-provisioningdoc>
  <characteristic version="0.6" type="FileMgr">
    <parm name="FileAction" value="1" />
    <characteristic type="file-details">
      <parm name="TargetAccessMethod" value="2" />
      <parm name="TargetPathAndFileName" value="/storage/sdcard0/sample.apk"/>
      <parm name="SourceAccessMethod" value="1" />
      <parm name="SourceURI" value="ftps://username:password@192.168.0.100:21/secure/10m_testfile.bin" />
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS With Implicit connection


<wap-provisioningdoc>
  <characteristic version="0.6" type="FileMgr">
    <parm name="FileAction" value="1" />
    <characteristic type="file-details">
      <parm name="TargetAccessMethod" value="2" />
      <parm name="TargetPathAndFileName" value="/storage/sdcard0/sample.apk"/>
      <parm name="SourceAccessMethod" value="1" />
      <parm name="SourceURI" value="ftps://username:password@192.168.0.100:21/secure/10m_testfile.bin?implicit=true" />
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS Through Open SSL server with Explicit Connection


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="ftp-p://username:password@192.168.0.100:21/secure/TestFile.apk"/>
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk"/>
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS through Open SSL Server with Implicit connection


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="ftp-p://username:password@192.168.0.100:21/secure/TestFile.apk?ftpClient.keyStore.file=/enterprise/usr/stagenow/vsftpd.p12&amp;ftpClient.keyStore.password=password&amp;ftpClient.keyStore.type=PKCS12&amp;implicit=true&amp;protocol=SSL"/>
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk"/>
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Encode Special Characters in Username

Special (reserved) characters in a user name (i.e. the @ sign) must be encoded. For example, "username@company.com" should appear as "username%40company.com" in the SourceURI (as below).


<wap-provisioningdoc>
    <characteristic version="5.0" type="FileMgr">
        <parm name="FileAction" value="1" />
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2" />
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk" />
        <parm name="SourceAccessMethod" value="1" />
        <parm name="SourceURI" value="ftp-p://username%40company.com:password@192.168.0.100:21/Test/TestFile.apk />
    </characteristic>
    </characteristic>
</wap-provisioningdoc>