ErwinHaasnoot / QRTEngine

Qualtrics Reaction Time Engine (QRTEngine) is an extension to Qualtrics which allows researchers, but generally any who are interested, to easily build behavioural online experiments.
16 stars 1 forks source link

Break QRTEngine up into separate modules #32

Open ErwinHaasnoot opened 9 years ago

ErwinHaasnoot commented 9 years ago

In light of improvements required to make the QRTEngine more futureproof, ie improving maintainability, but also adaptibility towards changes made by Qualtrics and improving extensibility, it will be required to break up the QRTEngine into separate modules.

The QRTEngine will consist of three modules (right now, will update if those plans changes), which sort of are built into the engine right now. These are:

Core - The core will be responsible for the controlling the flow of the experiment by means of a stimulus queue (much like the way it works right now). An API will be defined that allows other layers to interact with this stimulus queue in several ways, providing means, for example, to jump back and forth between stimuli. This will be the platform agnostic part of the QRTEngine.

Controller - This will control the experimental flow on a higher level, being responsible for (pre)loading, initializing and storing trials. Defining an interface would allow us to switch between different controllers that work either by pre-loading trials (v16-style), keep using AJAX to load the trial in sequence, or simply use the old style of loading trials (v15-style). Will be platform dependent

QRTE main layer - Provides API for the researcher to shoot stimuli into the Queue, will also be platform dependent.