This app is to be used by the Graduate Recruitment Coordinator on grad visit day, held in February or March.
Version 3 of the application uses a simpler scheduler to automate the scheduling process.
Originally designed based on CSCF ST#86639
The TWiki page for v1 of this application, also based on CSCF ST#86639, can be found here: GradVisitDay
For answers to questions not adddressed here, look at the code, or talk to Daniel Allen or Jesse Hoey.
The most up-to-date user instructions can be found on the homepage of the application https://cs.uwaterloo.ca/grad-visit-day-scheduler/
The web application can be found at:
Git tips: GitUWaterlooCSCF
To set up a working version, you must first clone the repository to your local machine. To do so, run the following command within your web directory (/var/www):
git clone gitlab@git.uwaterloo.ca:cscf/grad-visit-day.git
Once you have cloned the repository, you will find a file named htaccessDev within the root of the newly created directory. Make a backup of the .htaccess file in the directory, then rename htaccessDev to .htaccess. This will override the original .htaccess settings allowing easier setup of the development environment.
On line 4 in htaccessDev (now just .htaccess), the path to the AuthUserFile will need to be modified to point to your own .htpasswd file. If you have not created a .htpasswd file, it is best to create one in a more secure directory:
cd /home/username mkdir private chmod 711 private htpasswd -c /home/username/private/.htpasswd-inv username
In order for the web application to display anything, it must be able to establish a database connection. To do so, you must create a file that defines some unique parameters. Navigate to the private folder we created earlier within your user directory and create a file named db-passwords.inc or similar and add these definitions to the contents:
<?phpenter a number greater than the previous entries id. define('GRAD_DAY_APP_PASSWORD', 'your database password'); define('GRAD_DAY_APP_DB', 'your database name'); define('GRAD_DAY_APP_HOST', 'the host location of your database'); define('GRAD_DAY_APP_USER', 'your username in the database'); ?>In place of 'your database name' write 'app_grad_day'. You will see why shortly.
Next, you must go to the web application's directory and find the file named db.php. On line 9, edit the require_once statement's path to point to your new db-passwords.inc file.
require_once('/home/username/private/db-passwords.inc');
Now that the application should be able to successfully connect to your database, we need to create and populate the database for testing purposes. Login to phpMyAdmin and create a new database named 'app_grad_day' (we used this name in our db-passwords.inc file). Once you have created the database, you can use a provided .sql file to populate the database. For example, we will use the app_grad_day_DATA_FOR_TESTING.sql file. Navigate to the root of the web application (/var/www/grad-visit-day) and execute the following command:
mysql -u <username> -p -h localhost app_grad_day <app_grad_day_DATA_FOR_TESTING.sqlUse the username and password you used when configuring MySQL on your machine.
The final step is to maually add yourself to the user table in the app's database so that you are authorized to access it. Go to phpMyAdmin and select the database. Go to the 'users' table and insert a new row at the end of the table:
The application uses a MySQL database. The database can be modified using the GUI applicaion phpMyAdmin.
The database contains 10 tables: meeting, student, student_user, user, user_student, lab, lab_time, student_lab, time, and user_time.
The meeting table has 6 columns:
The lab_time table has two columns:
The student_lab table has two columns:
The time table has two columns:
The user_time table has two columns: