- Semesters - Project Work by Semester
SpEAK (Speech Experiment Accessible Knowledge)
SpEAK is a project to develop an online database for accessing knowledge acquired during experimentation in speech research.
The system will enable researchers to create, access and modify experimental knowledge capturing summary, explanation and results of both successful and unsuccessful speech experiments being conducted at UNH Manchester.
If you are reading this, you have inherited the SpEAK project. Congratulations!
- Current State
Currently these are the features that we've implemented on the system:
- Front End
- Search function - works but needs a better interface
- Add Function - users can add experiments to the database
- Admin function just for show.
- Missing Pieces
- Users should be able to login
- There should be a way to add users to the system - currently user dropdowns/lists are populated from users already in the database . There is no way to manually add a user except through SQL.
- User permissions need to be implemented.
- An uninitialized database is pretty much useless. There has to be some at least one experiment and user in there before anything else will work. This is because the Add function searches for existing users, which are currently tied to experiments.
- There's little data validation or scrubbing done on the add / search functions, so the project is vulnerable to SQL injection attacks.
- Much of the controller code in speak/php/controllers/dbExperiment.php is duplicated across functions. This file could should be refactored/simplified.
- Quick Guide to important folders/files
- contains html only related related to early look and feel development (deprecated)
- contains the current php files that the web application uses
- contains 2 files
- handles connecting to the database and
- contains functions for accessing the database
- contains image resources
- contains the html header and footers
- contains files for initializing the database and populating it with sample data, as well as some diagrams related to the database.
Code base is located in the SpEAK repository on Google Code.
To set up a local development environment, use the following instructions:
- Install TortoiseSVN
- Checkout the SpEAK code repository using Tortoise. Instructions for using tortoise are in the link above.
- Install XAMPP
- Edit httpd.conf. On windows, it is in C:\xampp\apache\conf by default. On Mac/*nix, it is located in /etc/httpd/conf/
- SpEAK needs a directory tag. Place this among the other <Directory> tags.
- SpEAK also needs an Alias tag. This should go inside the <IfModule alias_module> tag.
- See the code block below for details on what to add.
- Now it's time to initialize the database
- In the XAMPP Interface, start the MySQL server
- Open a command line login to MySQL as root. ( xampp\mysql\bin\mysql.exe -u root -p )
- Create the tables and speak user using the script speak\sql\createspeaktables.sql ( SOURCE c:\Documents and Settings\user\Desktop\speak\sql\createsqltables.sql )
- Load sample data ( SOURCE c:\Documents and Settings\user\Desktop\speak\sql\Sample Data Scripts\CombinedSampleData.sql )
- Start apache in the XAMPP interface
- Browse to http://localhost/speak
- Directory Tag
<Directory "c:\Documents and Settings\user\Desktop\speak"> AllowOverride All Options All Order allow,deny Allow from all </Directory>
Replacing c:\Documents and Settings\user\Desktop\speak with the location of your local copy of the SpEAK code.
- Alias directive
Alias /speak "c:\Documents and Settings\user\Desktop\speak" ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"
Replacing the url in the first line with the your local SpEAK folder.
Software Configuration Management
- Code base includes Tag releases from the previous semesters.
- Information on how to work with development BRANCHES and create TAG releases from the development code case can be found here : -
Production Environment on STEM
- Working prototype is deployed on Speak Prototype
- Access to the server is current through the CIS admin department.
- Future applications will have direct deployment accesss.
- Current procedure can be found here :- http://www.openitware.org/resources/index.php/Prototype_Staging_on_STEM