Install Version 1

Version 1.0 of SeniorQuoter is fairly easy to install, especially if you have experience with PHP/MySQL/web servers or installing applications like Wordpress, Drupal, or MediaWiki.

System Requirements

1. Download - The first thing you need to do is download SeniorQuoter files. You can find the latest releases at SourceForge, or use SVN to grab the latest bleeding-edge under-development version. Schools are strongly encouraged to stick with the released version.

2. Unzip and place on server - Using WinZip, or your favorite unzipping application, unzip the package you downloaded in the step above. (Windows XP has a built in unzipping application). Then transfer the files to your web server. If you are using an external server, you probably will need to use FTP to get the files onto your server. Otherwise, follow the instructions of your web host/server administrator.

3. Set up database and run structure commands - You will need to create a new MySQL database for SeniorQuoter. The database only needs SELECT, INSERT and UPDATE permissions for version 1.0. Be sure to disable all other permissions for maximum security!. Use the instructions your web host has provided or see these instructions to set up a new database by command line. Lastly, run the MySQL commands in the install_mysql.sql file. If you are using PHPMyAdmin you can import this file. Otherwise, copy and paste the commands in to the MySQL interface.

4. Edit site configuration - Now you need to edit a few files on the web server. Open up /includes/mysql_connect.php. Edit the following lines to enter the MySQl information you set up above.

DEFINE ('DB_USER', 'username');
DEFINE ('DB_PASSWORD', 'password');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'databasename');

replacing "username", "password", and "databasename" with your database username, password, and name respectively. If MySQL is running on the same machine as PHP and the web server, use "localhost", otherwise use the address of the MySQL server.

Then, open up the file "/includes/config.inc.php". Edit the following lines to add your school's information. If the yearbook does not have a website, use the school's website again.

$school = 'Haverford High School';
$schoolurl = 'http://haverford.k12.pa.us/hhs';
$yearbook = 'Greystones';
$yearbookurl = 'http://hhsgreystones.com';

Farther down, you can config the error handler. "$live" controls if error messages should be suppressed because the site is live. Note: This does not actually make the site live or not. Remember to turn this off for security purposes when opening up the site. "$collect" is not working in version 1.0. "$email" sets the email address of where to send errors to when "$live" is true. It is not publicly displayed.

5. Set up students - Version 1.0 does not provide much help in setting up students. This will change in future versions according to the (link) roadmap.

You should start with an export from your school's student management system. Using Excel or OpenOffice.org Spreadsheet open the student list. It will probably be an .xls or .csv file. Then you need to change around the spreadsheet to have these columns (in order) "id", "first_name", "last_name, "student_id", "homeroom", "email", "pass", "year". Each row should be a student. Leave the "id" column empty. The "first_name" and "last_name" columns are required. "student_id", "homeroom", "email", and "year" columns are optional. They will help you in future versions. In the "pass" column created a random 10 character unique password for each student. Again, this is a pain to do manually, but it is what must be done in version 1.0. Save this spreadsheet and import it into MySQL. Save the file as an .csv file ignoring Excel telling you it will mess up the formatting.

Using phpMyAdmin, import that .csv file into the "users" table. If you don't have phpMyAdmin, you can use this command to import the file where "file_location" is the path to the .csv file

LOAD DATA LOCAL INFILE 'file_location.csv' INTO TABLE 'users' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';