• <GetStart>
  • CSPro User's Guide
    • The CSPro System
    • Data Dictionary Module
    • The CSPro Language
    • Data Entry Module
    • Batch Editing Applications
    • Tabulation Applications
    • Data Sources
    • Synchronization
      • Services
        • Overview
        • Synchronization Connection String
        • CSWeb
        • Bluetooth
        • Dropbox
        • FTP
        • Local Files
        • Syncable Name
      • Messages
    • CSPro Statements and Functions
    • Text Templates
    • Templated Reporting System
    • HTML, Markdown, and JavaScript Integration
    • Action Invoker
    • Appendix
  • <CSEntry>
  • <CSBatch>
  • <CSTab>
  • <DataManager>
  • <TextView>
  • <TblView>
  • <CSFreq>
  • <CSDeploy>
  • <CSPack>
  • <CSDiff>
  • <CSConcat>
  • <Excel2CSPro>
  • <CSExport>
  • <CSIndex>
  • <CSReFmt>
  • <CSSort>
  • <ParadataConcat>
  • <ParadataViewer>
  • <CSCode>
  • <CSDocument>
  • <CSView>
  • <CSWeb>

Synchronization Services

Overview
A CSPro synchronization service is a service that facilitates the synchronization of cases, files, and other data. This service is generally a server that CSPro connects to over the Internet, but it can also be a service running on a local machine, or another device.
CSPro interacts with synchronization services in contexts such as:
  • Using synchronization functions in logic such as syncconnect and syncdata, or actions such as Sync.connect and Sync.syncParadata.
  • Synchronizing data using Data Manager or when running Simple Synchronizations.
  • Installing or deploying applications.
The most powerful server-based synchronization service is CSWeb. This is a web application, designed specifically for CSPro data synchronization, that users can host on their own servers to securely manage synchronization operations.
Users without the ability to manage a server may consider using Dropbox, a generally free server-based synchronization service that is suitable for survey-sized data sets.
The Bluetooth synchronization service facilitates transferring data between devices. This does not require an Internet connection, but the devices must be located near each other.
CSPro Synchronization Sources
CSWeb: CSWeb is a web server running the CSPro synchronization service and is best suited for censuses and large surveys. CSWeb can be run on any web server with PHP and MySQL. It can be hosted on a headquarters computer, a hosted website, or a cloud-based virtual server. Configuring and maintaining a CSWeb server requires experience with web server administration and cybersecurity. Users without these skills should consider using Dropbox or FTP instead.
Dropbox: Dropbox is a free, cloud-based synchronization service ideal for small- to medium-sized survey operations. It requires no server setup or maintenance and avoids the complexity of configuring a CSWeb server. However, data stored on Dropbox is managed by an external company, and some organizations restrict storing data with third parties.
Dropbox (Local Files): Dropbox (Local Files) is a variant of the Local Files synchronization service that uses data stored on Dropbox, but accesses it through the Dropbox client software rather than over the Internet. The Dropbox client manages data transfers. This option is primarily useful when downloading large amounts of data, which may take a long time through the online Dropbox connection. This option is only supported on Windows.
FTP: A File Transfer Protocol (FTP) server provides a synchronization option for those conducting small- to medium-sized survey operations. It is suitable for users who cannot configure a CSWeb server but prefer not to use Dropbox.
Bluetooth: The Bluetooth synchronization service allows a device to connect to another device as a client, with the other device acting as a passive server that responds to client commands. The two devices must be physically close, as Bluetooth is a short-range wireless technology.
Local Files: The Local Files synchronization service simulates the file-based synchronization services (such as Dropbox and FTP) on a local machine. It is useful for testing synchronization operations, and can also be used to synchronize with an FTP server hosted locally. Instead of synchronizing over the Internet, this service assumes that all files are stored on the local machine. It is particularly helpful when working with large quantities of data that would take a long time to transfer online.
Functionality
The functionality of each synchronization service is summarized in the following table:
Feature
CSWeb
Dropbox
Dropbox
(Local Files)
FTP
Bluetooth
Local Files
Connection type:
Internet
Internet
Local machine
Internet
Bluetooth
Local machine
Case storage:
Database
Files
Files
Files
—
Files
File storage:
Files
Files
Files
Files
—
Files
Message storage:
Database
Files
Files
Files
—
Files
Paradata storage:
Files
Files
Files
Files
—
Files
Application storage:
Files
Files
Files
Files
—
Files
Supports application deployment:
✔
✔
✘
✔
✘
✘
Supports application updating:
✔
✔
✔
✔
✔
✔
Efficient case filtering using a universe:
✔
✘
✘
✘
✔
✘
Determining What Synchronization Service Is Used
All synchronization services have behavior that can be customized by specifying properties in the connection string. When CSPro analyzes a connection string to determine what service to use, the default behavior is to identify the service using the resource, especially the resource's prefix. The property "type" can be used to override this behavior.
The following table lists the type values as well as any rules for implicit type calculations:
Synchronization ServiceTypeResource
Bluetooth"Bluetooth"Resource is "Bluetooth".
CSWeb"CSWeb"Resource begins with "https://" or "http://".
Dropbox"Dropbox"Resource is "Dropbox".
Dropbox (Local Files)"Dropbox"Resource is "Dropbox" with property "useLocal" set to "true".
FTP"FTP"Resource begins with "ftp://", "ftps://" or "ftpse://".
Local Files"LocalFiles"Resource begins with "file:///".
If the type cannot be deduced due to implicit calculations, and if it is not explicitly specified, it is assumed to be a path to a directory to use for the Local Files synchronization service.
See also: Synchronization Overview