System Prerequisites
In order to run Ensemble, you will need a server equipped with the following software.
Server Prerequisites
- Web server (Apache v. 2.0.46 supported, other web server applications are likely compatible)
- PHP version 5.x
- MySQL server (version 5.0 or 5.1)
- phpMyAdmin
- Matlab (version 6.5.1 or 7.X)*
- C compiler (e.g. gcc)*
Optionally, you may install the following software on researcher and subject workstations for additional functionality.
Researcher workstations optional software
- Matlab (version 6.5.1 or 7.X) for development of Matlab scripts for MatRPC
- Matlab (version 6.5.1 or 7.X) for use with the Matlab Database Connector
- Flash application for developing Flash movies
Participant workstation optional software:
- Flash Player plugin** for presenting stimuli
*Only required if using MatRPC. The C compiler version must be compatible with the standard C libraries used by the Matlab version you are using.
**Most web browsers are already equipped with a flash player plugin
PHP PHP provides dynamic web scripting capabilities to the Ensemble QEI and QPI. PHP can be installed on a variety of web server applications for Windows, Linux and OS X. The version of PHP that we currently use is 5.1.6. There are noteworthy differences between major versions of the PHP language, although most subversions of PHP 5 should be compatible with Ensemble. Many operating systems such as OS X and some distributions of Linux already include PHP packaged with the installation of the operating system.
Installers for PHP can be found at http://us2.php.net/downloads.php
MySQL MySQL serves as the storage for Ensemble data. It is commonly interfaced with PHP for a variety of applications. We currently use MySQL version 5.0 and Ensemble has been tested on MySQL 5.1.
Downloads for MySQL 5.0 and 5.1 can be found at http://dev.mysql.com/downloads/mysql
phpMyAdmin Links for downloading phpMyAdmin can be found at http://www.phpmyadmin.net/home_page/downloads.php. Prerequisites and documentation for installing phpMyAdmin can be found at http://www.phpmyadmin.net/documentation. If you have installed the prerequisites for the QEI and QPI, you already have the prerequisite components (PHP and MySQL) for phpMyAdmin. We find phpMyAdmin an essential utility for managing our MySQL database and for making selections of our data.
Matlab Matlab is a commercial application that provides a scripting language and a wide range of utilities for numerical analysis. The Matlab workspace allows researchers to write custom functions for analysis of experiment data. Please see The MathWorks site for information about Matlab's capabilities and purchasing information.
A utility called MySQL Database Connector written by Robert Almgren can be used from the Matlab workspace or by a Matlab script called by MatRPC to retrieve data from the MySQL database.
We have used Matlab versions 6.5.1, 7.1, and 7.4 with the MySQL Database Connector and MatRPC. MatRPC has only been used extensively in Linux and successfully compiled and run in OS X. The program uses standard C libraries and POSIX threads, however, so compilation in Windows should be possible.
Flash Flash is a commercial application that allows developers to provide video, audio, and user interactivity to web pages. Flash provides the ability to dynamically load and present audio and video in a browser provided that a Flash plugin is installed on the workstation. The plugin is free and already available on most web-browsers. If not already installed on a web browser, it can be easily downloaded and installed.
More information on Flash can be found on the Adobe website.