Thank you for agreeing to be a CSPro beta tester. You must have CSPro 6.0 installed on your machine in order to install this beta. There are significant changes in CSPro 6.1, including changes to the format of the various CSPro files (.ent, .fmf, etc.), so if you makes changes to existing applications using this beta, you may not be able to read those files in previous version of CSPro. The beta version of the Android application can be found here: CSEntry_20150117.apk.
As always, if you have any comments or suggestions, or if you experience any bugs, please email cspro@lists.census.gov. 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 ipcta@lists.census.gov.
Release Notes for 17 January 2015
- 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 cspro@lists.census.gov.
- 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:
[AppCode]
File=6/3/2014 10:45:41 AM,.\Census Data Entry.ent.apc
[Message]
File=6/3/2014 10:45:41 AM,.\Census Data Entry.ent.mgf
Now that same file looks like this:
[AppCode]
File=.\Census Data Entry.ent.apc
[Message]
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
dircreate(backupDirectory);
endif;
- 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.
PROC USER_NAME
if not loadcase(USER_PERMISSIONS_DICT,USER_NAME) then
errmsg("The entered user name is not in the database of users.");
reenter;
elseif USER_ALLOWED_DEVICE <> getdeviceid() then
errmsg("You, %s, do not have permission to use device %s.",strip(USER_NAME),getdeviceid());
reenter;
endif;
- 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:
[Parameters]
Parameter=0205
Now, you can simplify this and make it more readable:
[Parameters]
PROVINCE=2
DISTRICT=5
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.
function UpdateOccurrenceDisplay()
do ctr = 1 while ctr <= maxocc(PERSON_FORM)
if ctr > HH_ROWS or PERSON_DELETED(ctr) = 1 then
hideocc(PERSON_FORM(ctr));
else
showocc(PERSON_FORM(ctr));
setocclabel(PERSON_FORM(ctr),strip(PERSON_NAME(ctr)));
endif;
enddo;
end;
- 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.
PROC GLOBAL
list string fileListing;
PROC SAMPLE
numeric ctr;
write("Listing of data files:");
// the wildcard argument and the recursive argument are optional
dirlist(fileListing,"C:\Survey\Data","*.dat",recursive);
do ctr = 1 while ctr <= length(fileListing)
write("Name: %s – Length: %d",fileListing(ctr),filesize(fileListing(ctr)));
enddo;
- 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.
- Other bug fixes and feature enhancements, including to the Reformat Data, Tabulate Frequencies, and Export XML Metadata tools.