File System Structure |
The file system structure of the FTP server is dynamically established using Invantive SQL queries. For the folder structure, a hierarchical structure of JSON specifies the structure in which values from an enclosing folder can be used on deeper levels to limit the folders and files to those applicable to the parent folder. For the file structure, an Invantive SQL statement specifies the contents of the file and another SQL statement specifies the action to execute on upload.
Each folder can contain:
•SupportsListing: a boolean indicating whether a user can list the contents of the folder (default: false).
•SupportsDownloading: a boolean indicating whether a user can download files (default: false).
•SupportsCreating: a boolean indicating whether a user can create files (default: false).
•ListSqlStatement: an Invantive SQL query to define the folders and files listed with at least a column named name and type (being either DIR or FILE). Additionally, a value can be used to uniquely identify the row with a column name code. Files can have file size and creation and modification date/time using the column names FILE_SIZE, DATE_CREATED and DATE_MODIFIED. Each entry is tagged with tuples of name and values of all columns returned by the query.
•CreateSqlStatement: an Invantive SQL statement run upon FTP upload which at least accepts bind parameter names FILE_NAME and FILE_CONTENTS. All tag names and values from the parent levels are also provided as bind parameters.
•DownloadSqlStatement: an Invantive SQL statement run upon FTP download which at least accepts bind parameter names FILE_NAME and FILE_CONTENTS. All tag names and values from the parent levels are also provided as bind parameters.
•Nested folders with the same possibilities.
The root level in the JSON can contain also:
•SystemName: the name of the system to display upon connect.
•Version: the version of the system to display upon connect.