Skip to main content

FV Decipher Support

All the topics, resources needed for FV Decipher.

FocusVision Knowledge Base

Uploading Data Files

Overview

You can use the Logic Library to automatically generate any data file that the data API can create and upload it from a survey. This is done using the upload logic node.

The upload logic node is periodic, meaning that it can be scheduled to upload data files at pre-defined intervals. To learn more about periodic logic nodes, click here.

You must have at least data view permissions to use the upload logic node to execute a data input/output call.

1: Logic Syntax

To create and upload a data file using the upload logic node, you will need to add a <logic> tag to your survey, specifying both a label and uses="upload.1". You should also include at least the location of the file, its password (if encrypted), and your desired run time.

You can encrypt a data file with a password in the debug screen of the Logic Library.

For example, if you wanted to schedule a file to upload daily from your local drive, you might add the following node:

<logic label="df" uses="upload.1"
upload:host="localhost"   upload:password="Q1JZUBUAAAAAAAAAGwUbZ1zp3PT4NkyuUQhnMrvVB5PNEyj9W8NYJFo5yPCRfHdhxb/WCjxwdqIoQyuM"
upload:period="daily"
upload:time="09:00"
upload:cond="yesterday"
upload:username="test"/>

2: Parameters

The following parameters can be passed to the upload.1 node:
 

Attribute

Description

upload:host

The name of the server to connect to for data upload.

upload:username

The account username used for node login.

upload:password

The password to the account used for node login.

We recommend using encryption. To encrypt the password, visit the project logic debugging page. You can encrypt a password so it's usable in a certain scope: either the survey and its subdirectories, or any survey within your company. While the encrypted password can only be encrypted by our server system, any user that can view the survey.xml can paste it into their own survey.

upload:format

Determines what file format is being generated (by default, a simple tab-delimited file).

For a current list of all available formats, see the API documentation.

upload:protocol

Determines how to connect to the server, and can be set to one of the following:

  • sftp -  is file transfer over SSH. This is the recommended option.
  • ftps - is FTP with TLS option. This is a legacy protocol that starts insecure and negotiates into a secure connection. Not recommended. After connecting, the client will issue the PROT P command to encrypt data transferred too.
  • ftp - is FTP without encryption. This is not recommended.

upload:cond

A Crosstabs logic condition that determines the condition for what respondents are uploaded.

As a convenient shortcut, if set to yesterday, upload:cond translates to the expression date_days(1,1) which means all data from midnight yesterday up to but excluding midnight today. Thus, if your logic node is set to run at 00:30 every night, you receive yesterday's data shortly after midnight. Other variations on this could be setting the cond to qualified and date_days(1,1) to further limit. The logic keyword yesterday can not be used with additional logic.

upload:fields

Restricts what data is sent; setting upload:layout may be better -- data export layouts allow you to specify which fields to include and in which order.

upload:filename

By default, the uploaded filename will be a date and time string (e.g., date_2015_07_28_16_00_00_dat). If preferred, you can specify this variable to customize the file name. Once enabled, you can use % formatting characters to create your own file name, similar to the date marker logic node (the default format is data_%Y_%m_%d_%H_%M_%S.dat).

upload:directory

Allows you to switch to another directory before uploading the file (e.g., upload:directory="uploads/survey4213/daily_data"). Multiple directories must be separated with /, and by default, the file is sent only to the connected directory.

upload:period

This sets how often the file gets uploaded. Can be set to:

  • hourly 
  • daily

upload:time

This selects the time of day the file will be uploaded. Use 24-hour format with hours and minutes. If the logic node is added before 23:02, the upload will happen the same day; otherwise, the file will be upload the next day.

The logic node writes data to the debug database.

  • Was this article helpful?