SDK
The SmartFTP Client Software Development Kit (SDK) offers you the ability to extend SmartFTP and it allows you to create your own applications using the components available in SmartFTP. The objects are accessible through COM interfaces which can be used in any modern language.
Provided Samples
The samples shown here are part of the SDK setup that can be downloaded below.Transfer Queue
Dynamic Transfer Queue Item Destination Path
Programmatically changes the destination path when a specific transfer queue item is processed.Location: Samples\TransferQueueItem\JScript\DynamicDestination.js
Location: Samples\TransferQueueItem\VBScript\DynamicDestination.vbs
Dynamic Transfer Queue Item Source Path
Programmatically changes the source path when a specific transfer queue item is processed.Location: Samples\TransferQueueItem\JScript\DynamicSource.js
Move source items after transfer to another folder
Moves the files and folders that have been transferred to a different folder on the source.Location: Samples\TransferQueueItem\JScript\MoveSourceItemToFolder.js
Location: Samples\TransferQueueItem\JScript\MoveAddedSourceItemsToFolder.js
Move local file to final destination
Moves (or copies) local files have been transferred to a final destination folder.Location: Samples\TransferQueueItem\JScript\MoveLocalDestinationFileToFolder.js
Downloads files to a final destination folder with skip
Downloads files to a temporary folder and then moves them to a final folder. Files that already exist in the final folder will be skipped.Location: Samples\TransferQueueItem\JScript\MoveToLocalFinalDestinationWithSkip.js
Setups a script with arguments for each file that is being added
For each file that is being added to the transfer queue, the script file and arguments of the transfer queue item are set. This script is typically used for folders.Location: Samples\TransferQueueItem\JScript\ApplyToFiles.js
Location: Samples\TransferQueueItem\JScript\ApplyToFilesRecursively.js
Encrypts file using openpgp before it is uploaded
The file is encrypted and alternatively signed with OpenPGP (requires GPGP) before it is uploaded. Can be combined with ApplyToFilesRecursively.js if complete content of a folder should be encrypted.Location: Samples\TransferQueueItem\JScript\PgpEncryptFile.js
Add Items to Transfer Queue
Creates new items and adds them to the transfer queue in a running instance of SmartFTP.Location: Samples\TransferQueue\C#
Location: Samples\TransferQueue\C++
Location: Samples\TransferQueue\VBScript
Selectively download files using the Transfer Queue Connection abstraction
Connects to the server and checks if there are new files to download. New files are either downloaded directly or queued to SmartFTP's transfer queue. In addition deletes old files from the local destination folder if necessary.Location: Samples\TransferQueue\C#\Download
Favorites
Create new Favorite
Creates a new favorite item and saves it to an XML file.Location: Samples\Favorites\VBScript
Imports Favorites from CSV file
Parses a CSV file, creates the favorites and saves them as xml files.Location: Samples\Favorites\VBScript
SmartFTP
Manage Browsers
Gets the current location of all open browsers. Opens new browsers or closes existing ones.Location: Samples\SmartFTP\VBScript\Childs.wsf
Transfer Statistics
Polls SmartFTP for the current upload and download rate and writes the data to a csv file.Location: Samples\SmartFTP\JScript\TransferStatistic.wsf
Transfer Statistics using RRDtool
Uses RRDtool to generate transfer statistics.Location: Samples\SmartFTP\rrdtool
Ideas
Following some ideas of applications and plugins that can be created using the SDK.Favorites
- Import Favorites/Sites from other applications/database to SmartFTP.
- Export favorites to a database
Transfer Queue
- Fill transfer queue with items from a database, text file or RSS feed.
- Create application which uses transfer queue to automate transfers.
- Create Windows service to backup/synchronize files using the transfer queue.
- Run commands, update a file, write a log or notify users after a transfer queue item has been processed.
Miscellaneous
Browser Preview Handler
Write a preview handler for any file format. Example: Source Preview HandlerDownload
Download SmartFTP SDK
