Video tutorial: Session Data

Our new video tutorial has just been released. It explains a bit about what session data is, how it works and what you can do with it. You get it for free when you use a primary key in your data model.

Note that we don't think you need to know how it works, as session data is supposed to be a black box.

But given the number of questions we got about it, we decided to make a video to give you some insight into the session database.

We would love your feedback, so don't be shy and leave a comment on YouTube if you can.

Blaise 5.3.0 - The November 30th 2017 release

The 5.3.0 version has now been officially released. It has build number
You can find it in the official location on our ftp-server.

This version includes the following new features:

Layout Language

In Blaise 5.3.0, the layout language has been added to the system. It is now once again possible to add layout statements to your source code. To make it even more flexible, we offer the possibility to generate the layout statements from the layout designer. This way, you can choose whether you want to program the layout of a questionnaire in the source of the questionnaire, or use the visual layout designer.


Blaise 5.3.0 offers a first version of CARI. It is now possible to record questions, and store the audio files in a database. An example of this functionality can be found in the Samples folder (Samples\Specific Features\CARI).


Blaise 5.3.0 offers a first version of ACASI. This means that it is possible to play audio files in the data entry program(s). The audio files can be stored in the resource database, but urls to audio files can also be used. An example of this functionality can be found in the Samples folder (Samples\Specific Features\ACASI)

Improved MVC version

In Blaise 5.3.0, the MVC data entry program has been improved with respect to the rendering of controls. To guarantee the correct display of controls, a shadow administration all controls and their sizes is maintained. This can have a negative performance impact! The 5.3.0 version of the MVC data entry program now supports right-to-left languages.

Data Handling

Blaise 5.3.0 now supports generic storage (stream and in-depth). This means that you can store data from multiple surveys in the same table of a database.

Disconnected DEP-App, iOS and Android app extension

The apps now support updating changed bmix files and the uploading of audit trail data.

CATI Enhancements

Blaise now offers CATI daybatch access in Manipula. 

In addition to these new features, we have solved many small issues.

Video Tutorial - Layout Language

Our second video tutorial has just been released. It gives a preview of the Layout Language in Blaise 5. This functionality will be available in the official release of Blaise 5.3.0 and we wanted to show how it works.

In the video, you get a brief overview of the syntax of the Layout Language and how you can add it.

We would love your feedback, so don't be shy and leave a comment on YouTube if you can.


Layout Language in the upcoming 5.3.0 release

A layout section has been reintroduced in the datamodel source. The syntax in this section is similar to the layout section in older versions of Blaise, but not exactly the same. For example, FROM .. TO constructions are no longer allowed, but instructions can now contain parameters, and instructions can be assigned to (local) types. It is not required to use the layout section. It is still possible to define all layout in the Layout Designer, but as soon as the datamodel contains any layout section, existing layout will be overwritten by the layout generated based on the layout sections (as soon as the datamodel is prepared). It will be possible to apply changes to the layout using the Layout Designer and generate the layout statements back into the datamodel, but this will not be fully automatic as comments and conditional defines that might be inside the original layout sections can not be generated. The new sections can be manually reviewed and edited using a wizard before updating.

DATAMODEL LayoutSample
TPhoneNumber = STRING[12]

ID "Please enter your identification number": 0..1000
FirstName "What's your first name?": STRING[20]
BirthDate "What's your birthdate?": DATETYPE
YourAge "Your age is": INTEGER[3]
PhoneNumber "What's your phone number": TPhoneNumber
Income "What's your income?": (Below10k "0 to 9,999 dollars",
Below20k "10,000 to 19,999 dollars",
Below30k "20,000 to 29,999 dollars",
Below40k "30,000 to 39,999 dollars",
Below50k "40,000 to 49,999 dollars",
Below60k "50,000 to 59,999 dollars",
Above60k "60,000 or more")
YourAge := Age(BirthDate)
AT TPhoneNumber RESPONSEVALUE TEMPLATE StringTextBox(EditMask:='(000)-0000000')
AT FirstName FIELDPANE TEMPLATE Vertical(Width:='900')
AT BirthDate RESPONSEVALUE TEMPLATE DateControl(Appearance:='TextBox')
AT Income DATAVALUE TEMPLATE AnswerList(Arrangement:='2 Columns')
LAYOUTSET "Capi-Small"
AT FirstName FIELDPANE TEMPLATE Vertical(Width:='300')

Gaining deeper understanding