Working between servers, including transferring form definitions and data between them

A SurveyCTO server or a team on a server is a shared trust space, where all users share access to forms and server datasets at their permission level. At times, your plans might change, leaving you wanting to transfer forms, collected data, and server datasets between those shared trust spaces. This article will guide you through this process.

One of the reasons you would move to a new server is if you wanted a new server name (i.e. https://SERVERNAME.surveycto.com/). As per the sign up process, it isn't possible to change server names. If you want a new server name, you will have to sign up for a new server and transfer your work.

1. Using teams instead of multiple servers

A multi-team server is by far the simplest solution. While a separate server might be desirable in cases, you can also add a new team to create a separate trust space for a new project. From there, you can easily drag-and-drop forms and server datasets into the permissions group for the new team. That way, you can easily administer access to different forms and datasets from one central location. 

To learn more, check out our FAQ on teams, as well as our documentation. To learn about the different server roles a user can have, and how they can be customized, check out our documentation on managing user roles.

2. Moving form and server dataset definitions

To move forms and server datasets to a new server, you will have to download their definitions, and upload each one individually to the new server.

2.1 Downloading form definition spreadsheets

  1. On the old server console, go to the Design tab.
  2. For each form, click the Download button, then Form files.
  3. In the Deployed form version box, click on Spreadsheet form definition.
  4. Within that same box, under Attachments, click on each file listed there to download them.
    1. If the attachment says "by dataset" followed by the date it was last updated, and you are also going to move all of the server datasets over to the new server, you can skip that attachment. 
Consider downloading Previous deployed versions as well. While you will want to deploy the Deployed form version on the new server, historical form versions can be useful for understanding data collected with those form versions. Learn more here.

2.2 Downloading dataset definitions and data

  1. On the old server's console, go to the Design tab.
  2. For each server dataset, click Download.
  3. Click both Download data and Dataset definition. A CSV and an XML definition file will download.

2.3. Uploading form definition spreadsheets

  1. On the Design tab of the new server's console, click on a "+" button on the left.
  2. Click Upload form definition.
  3. Click the +Select file button, and select and open the form definition spreadsheet.
  4. Click the +Add files button, and select and open all of the attachments for that form.
    1. To select multiple files, if they are in the same folder, hold the Ctrl key (Windows) or Cmd key (Mac) while selecting the files. If you miss an attachment, you can attach it later by going into the form designer's Form settings.
  5. Click the blue Upload button.
It is possible to simplify the process of attaching a large number of file attachments by zipping them together.

2.4 Uploading server dataset definitions and data

Importantly, if your server datasets are attached to forms, or if they use forms as a source of data (configured from Publish into), you must first deploy each connected form before deploying that server dataset definition.

  1. On the new server's console, click on a "+" button on the left.
  2. Click Add server dataset.
  3. Go to the New dataset from definition tab.
  4. Click the +Select file button, and select the server dataset definition XML file.
  5. Click the +Upload a dataset definition button.
  6. At the popup, click OK.
  7. If you also have data to transfer to the newly added server dataset, click Upload.
  8. Click the +Select file button.
  9. Select and open the CSV data file.
  10. Click the Upload button.

3. Moving form data

Keep in mind that since all of these methods involve submitting data to a server, they will use submission credits as they are sent to the new server. If you need additional submission credits, see our FAQ to learn how to get more.

Also consider if you really need to move the data to a new server. Instead, it may be easier to export already collected data, and then work with the data outside of SurveyCTO. Newly collected data can be merged without trouble using the KEY value (learn more here).

Before sending the data to the server, make sure the form definition spreadsheet is deployed on the new server.

Finally, we advise transferring data during a pause in data collection. This will help avoid confusion, and minimize the risk of missing data.

3.1 Migrating data with SurveyCTO Desktop

By far, the easiest and most reliable way to move form data from one server to another is with SurveyCTO Desktop. Simply cache the data to local storage, and from there, submit the data to the new server using SurveyCTO Desktop:

  1. In SurveyCTO Desktop, go to Sync on the top-left.
  2. For data source, select SERVER, and then login to the old server.
  3. For data destination, select LOCAL STORAGE.

select_local_storage.png

  1. Select all items you would like to copy to the new server.

select_all_items.png

  1. Run the sync.
  2. Once the sync is complete, repeat steps 1-5, but for data source, select LOCAL STORAGE, and for data destination, select the new server.
  3. Login to the new server, and check to make sure all data is present.

Only form data can be moved this way, not server dataset data. To move server dataset data, follow the steps above under Moving form and server dataset definitions. If you would like to use the old server for something else, and you would like to remove the old forms and/or data, check out our support article on purging data on your server.

The above functionality is part of SurveyCTO's support for 100% offline data collection, but can be used for data migration as well.

4. Resubmitting form data from SurveyCTO Collect

If you collected all of your data using the SurveyCTO Collect mobile app,, then you can resubmit collected data from each device to the new server, even if it has already been submitted to the old server (this is not an option or web forms).

Perform these steps on each mobile device:

  1. Go into the Send Finalized Form menu.
  2. Then click the 3-dot menu icon in the top right and select Change View from the drop down.
  3. In the pop up that appears, choose to change view to Show Sent and Unsent.
  4. Now, you will see all submissions finalized on that device appear in the Send Finalized Form menu again. Select all and hit send.

Not only is this method more work than using SurveyCTO Desktop (seeing as these steps need to be repeated for every mobile device used), it is a less reliable method for migrating data. It might be possible to miss a device, if you have a lot of them, and there's no guarantee that previously submitted records had not been deleted from mobile devices (unless you password-locked the Delete Saved Form menu, but even that's no guarantee). For these reasons, it is best to use the SurveyCTO Desktop method where possible.

Do you have thoughts on this support article? We'd love to hear them! Feel free to fill out this feedback form.

0 Comments

Please sign in to leave a comment.