As always, if you have any comments or suggestions, or if you experience any bugs, please email email@example.com. If you are running the CSEntry Android application and you experience a crash, a file named crashreport.txt will be created in the csentry folder. Emailing that file to the support email group will help us fix bugs.
We plan to release CSPro 6.1 officially within the next two months, so if you have any feature requests, email them to the support email address before February. If you are interested in CSPro training, there is an intermediate workshop, focused on Android development, taking place in Washington, DC in June. There is a beginning workshop in August. Addidtionally, the Census Bureau may be able to provide in-country training for your organization. More information about the training can be found here or you can email firstname.lastname@example.org.
On Android tablets, the case tree now appears alongside the currently-asked question. This facilitates navigation, and provides context for your survey. Using the menu, tablet users can hide the case tree is so desired. On phones, the case tree is still shown by clicking on the CS icon at the top-left of the screen.
Also on Android devices, the colors of the case tree can be modified. Select “Style Options” from the menu. There are now three color options, but more will be added. In addition, users will eventually be able to customize the colors.
Users using Android 5.0 (Lollipop) should no longer experience bugs that caused CSEntry to crash using this new version.
The Android application now reads in persistent fields specified in the .pff file just as the Windows version does.
We have added French and Spanish translations for some of the strings used in CSEntry on Android devices. If you would like to translate the strings to your language, or would like to suggest different translations for French or Spanish, please email email@example.com.
When creating new applications, there is now a “CAPI Data Entry Application” type. This creates a data entry application but with CAPI-specific options, such as using system-controlled mode, using the CAPI window, and not asking for an operator ID. All of these options could previously be modified using Options->Data Entry, but selecting this option may save you some time.
The field colors used on the Windows version of CSEntry can now be modified by selecting Options->Field Colors.
The field properties dialog has been streamlined, so that the capture type can be selected from that dialog instead of a second dialog. In addition, capture types that do not match the current value set for the item can be selected, which simplifies working with dynamic value sets (by eliminating the need for a setcapturetype function call from within logic).
CSPro specification files no longer save a timestamp when referencing a file. In the past, a file might look like this:
File=6/3/2014 10:45:41 AM,.\Census Data Entry.ent.apc
File=6/3/2014 10:45:41 AM,.\Census Data Entry.ent.mgf
Now that same file looks like this:
File=.\Census Data Entry.ent.apc
File=.\Census Data Entry.ent.mgf
This makes using CSPro with a version control system (such as git) more convenient, as the .ent, .bch, .fmf, etc. file won’t change upon every slight modification.
Export fixes: Exports to SPSS now export long labels, eliminating the previous 120 character limit. Chinese and other Unicode characters are now properly exported in SAS format.
New logic functions direxist and dircreate work like their file counterparts.
string backupDirectory = pathname(inputfile) + “Backups”;
if not direxist(backupDirectory) then
A new logic function, getdeviceid, can be used to return a unique ID on Windows or Android devices. On Windows, it returns the MAC address. On Android devices, it returns the device’s ANDROID_ID. In both cases, it returns a string variable.
if not loadcase(USER_PERMISSIONS_DICT,USER_NAME) then
errmsg(“The entered user name is not in the database of users.”);
elseif USER_ALLOWED_DEVICE <> getdeviceid() then
errmsg(“You, %s, do not have permission to use device %s.”,strip(USER_NAME),getdeviceid());
Multiple parameters can be specified in the [Parameters] section of a .pff file and accessed using the sysparm function. For example, in the past you might have sent information to your application this way:
PROVINCE = tonumber(sysparm()[1:2]);
DISTRICT = tonumber(sysparm()[3:2]);
Now, you can simplify this and make it more readable:
PROVINCE = tonumber(sysparm(“PROVINCE”));
DISTRICT = tonumber(sysparm(“DISTRICT”));
As before, calling the sysparm function without a parameter will return whatever was passed via the Parameter= line.
The following functions that affect the case tree on Android are candidates for inclusion in CSPro 6.1. Showocc and hideocc show or hide occurrence labels, and setocclabel allows for the dynamic modification of the label displayed on the case tree. If you think such functions would be useful, let us know so that we keep them in the 6.1 release.
do ctr = 1 while ctr <= maxocc(PERSON_FORM)
if ctr > HH_ROWS or PERSON_DELETED(ctr) = 1 then
The following type and function are also candidates for inclusion in CSPro 6.1. A list is a variable-length array, either numeric or string. In the future, it may be possible to add to and edit this kind of variable, but for now it is read-only and can only be retrieved using the dirlist function, which returns a directory listing. If you might use this kind of functionality, let us know so that we keep it in the 6.1 release.
list string fileListing;
write(“Listing of data files:”);
// the wildcard argument and the recursive argument are optional
do ctr = 1 while ctr <= length(fileListing)
write(“Name: %s – Length: %d”,fileListing(ctr),filesize(fileListing(ctr)));
There are many enhancements to the sync tool on Android devices. In addition to many bug fixes, there is now an updated user interface for setting up synchronizations, which should clarify many questions and problems that users have faced with setting up a synchronization routine. Synchronization routines can now be initiated by copying over a .pnc file to your device over USB, and basic synchronization files can be generated automatically for you from a .pff file located on your device, on Dropbox, or on an FTP server.
The synchronization routine can be launched from logic using the sync function. The routine can occur immediately, or can be queued to occur after the user has finished adding cases. This may be a useful way to make sure that the data on your server matches what has been collected without requiring the user to manually sync.
CSEntry will first look on your file system for the synchronization file (in the above case, in the same folder as the .pen file), and if it does not find it there, it will look in the device’s sandbox, which is where .pnc files are normally stored.