User Manual (UM)Version 2.3

Student Scheduling System

User Manual

Student Scheduling System

Team 06

Douglass Kinnes: Project Manager, Quality Focal Point, Implementer

Alexey Tregubov: System Architect, UML Modeler, Implementer

Mihir Daptardar: Operational Concept Engineer, Quality Focal Point, Implementer

Ihsan Tolga: Life Cycle Planner, Feasibility Analyst, Implementer

Simone Lojeck: IV&V, Quality Focal Point, Shaper

05/04/2013

Version History

Date / Author / Version / Changes made / Rationale
03/29/2013 / Ihsan Tolga / 1.0 /
  • Draft version of UM is formed. Initial information and guidelines added.
/
  • To satisfy the requirements of the CCD/TRR and to provide instructions to the users how to use the scheduling system software.

04/05/2013 / Ihsan Tolga / 1.1 /
  • Sections updated. Guidelines for operation added.
/
  • Updates made with respect to upcoming CCD.

04/13/2013 / Ihsan Tolga / 1.5 /
  • Screenshots updated. Minor revisions made. Admin side is updated with respect to the CCD session. Error acknowledgments added.
/
  • CCD concern evaluated and changes made. New screenshots due to new UI.

04/20/2013 / Ihsan Tolga / 1.7 /
  • Student Side updated. Admin side screenshot updated.
/
  • Updates/revisions made for TS with full system capability.

04/30/2013 / Ihsan Tolga / 2.0 /
  • Tutorials for PLAY and system deployment are added.
/
  • Minor revisions and tutorials before system transition.

05/04/2013 / Ihsan Tolga
Alexey Tregubov / 2.2 /
  • Deployment tutorial section added. Documentation figure changed.
/
  • Guidelines for binary distributive compilation, changes after cloud deployment and tutorials.

05/03/2013 / Ihsan Tolga / 2.3 /
  • Reset Password directions added.
/
  • Added tutorial for Reset Password button.

Table of Contents

Version History

Table of Contents

Table of Tables

Table of Figures

1.Introduction

1.1System Overview

1.2System Requirements

2.Installation Procedures

2.1Installing Play Framework

2.2Re-installation

2.3De-installation

3.Operational Procedures

4.Troubleshooting

4.1Frequently Asked questions

4.2Error Codes and Messages

4.3Note

UM_IOC3_S13b_T06_V2.31Version Date: 05/04/13

User ManualTable of Contents

Table of Tables

No table of figures entries found.

UM_IOC3_S13b_T06_V2.31Version Date: 05/04/13

User ManualTable of Contents

Table of Figures

Figure 1: Starting PLAY Console

Figure 2: Courses Page

Figure 3: Add Course Page

Figure 4: Add Course Group Page

Figure 5: Course Group Page

Figure 6: Requirements Page

Figure 7: Degree Program Page

Figure 8: Documentation Page

Figure 9: Degree Selection Page

Figure 10: Degree Selection Page - Courses

Figure 11: Study Plan Page

Figure 12: No Study Plan Page

Figure 13: Course Add Page

Figure 14: Course Edit Page

Figure 15: Missing Login Screen

Figure 16: Degree Program Add Page

UM_IOC3_S13b_T06_V2.31Version Date: 05/04/13

User Manual(UM)Version 2.3

1.Introduction

1.1System Overview

The purpose of Student Scheduling System is to provide a study plan creation facilitator for both undergrad students and faculty of Steven’s Institute of Technology.

With current manual method, forming a single study plan for a single student may take hours of collaborative work of advisors and students and regarding each student has different course history or plans, they need to form unique study plan for the majority of the students.

By using the Student Scheduling System; this process is automated; in other words, after entering the data representing his/her course history/graduation plans, a student can get possible study plan generated by the system. And for the administrative side; they can add/remove courses to the system, modify courses’ features/information, form new course groups and create new degree programs. Meanwhile they are also able to delete/modify these course groups, degree programs or even requirements to complete these programs.

1.2System Requirements
  • Minimum hardware/software requirements for running the Student Scheduling System are given below under the related headers.
  • Requirements might show minor differences among the different systems or hardware/OS equipment. Therefore; the given requirements below represent a recommended configuration as well to operate the Student Scheduling System properly.
1.2.1Hardware Requirements

Server Side Hardware Requirements:

  • Processor: Intel® Xeon E3xxx Processor or equivalent.
  • Memory: 3GB
  • Storage: 5GB for database tier
  • Data Bandwidth: (Relative to the simultaneous numbers of users.) ~1 Mbit/s
  • Domain Name and Dedicated IP address
  • I/O Devices for Maintenance Issues

User Side Hardware Requirements:

  • Processor: Intel® Centrino/Ix/Celeron/PentiumIV; AMD Athlon/Phenom/FX processors or equivalent.
  • Memory: 1GB free space
  • Internet Connection
  • I/O Devices to operate Web Browsers properly.
1.2.2Software Requirements

Server Side Software Requirements:

  • UNIX Server or Windows Server
  • Java Runtime Environment 6 or higher.
  • MySQL Server
  • PLAY framework for Java
  • Java Editor (Recommended for maintenance issues)
  • XAMPP (Recommended for maintenance issues)
  • Java IDE for maintenance.

User Side Software Requirements:

  • Windows, Linux, MacOSx or equivalent (mobile) operating system that can operate supported web browsers.
  • Google Chrome, Mozilla Firefox web browser. (Strongly recommended.)
  • Java Runtime Environment 6 or higher.
1.2.3Other Requirements
  • It is highly recommended for the student users to be familiar about the courses and their course histories, especially in the cases they are transfer students.
  • For administrative side; it is highly recommended to be familiar about the relations between course groups and their effects on graduation satisfaction.
  • It is highly recommended for maintainers to feel comfortable with Java and Web developing and using MySQL like relational database software.

2.Installation Procedures

Follow the steps below to complete installation / deploying of Student Scheduling System successfully in given ways for each preference.

Guidelines for installing and deploying PLAY framework are also given under the related section below.

2.1Application Deployment
2.1.1Binary Distributive Compilation for the Target Server

PLAY framework and JDK 6 or later need to be installed on system as prerequisites for the procedures below.

Compilation:

  • Prepare a new configuration file for your target server by making a copy of student_scheduling_system/application.conf

Windows: copy application.conf application_production.conf

Linux: cp application.conf application_production.conf

  • Set URL, user name and password of MySQL server in the student_scheduling_system/application_production.conf:

db.default.url = "jdbc:mysql://localhost/student_scheduling_system"

db.default.user = "root"

db.default.pass = "123"

  • In command line in project folder run:

play -Dconfig.file=conf/application_production.conf dist

  • Find your distributive in student_scheduling_system/dist folder.

Note:

Project already contains several configuration files:

application.conf - Default configuration; used by developers on local machines.

application_cloudbees.conf - Application configuration for section: Application deployment on the cloud )

2.1.2Application Deployment from Binary Distribution

Prerequisites (For Server):

  • JDK 6 or later
  • MySQL Server v5 or later
  • Binary distributive of the application (See section: Binary Distributive Compilation for the Target Server )
  • Database dump file (From student_scheduling_system/db/initial_data.sql or from production server)

Data Base Deployment:

  • If DB student_scheduling_system already exists on the server, simply run:

mysql --user=root -p student_scheduling_system < initial_data.sql

  • If DB student_scheduling_system hasn't been created yet (first time deployment), run:

echo 'CREATE DATABASE student_scheduling_system;' | mysql --user=root -p

mysql --user=root -p student_scheduling_system < initial_data.sql

Instead of 'root' you should use your actual MySQL user name.

Software Deployment:

  • Unzip binary project distributive in the desired directory (current directory by default):

unzip ./student_scheduling_system_bin_v1.x.zip

  • Run:

./student_scheduling_system-1.0-SNAPSHOT/start

Note:

Binary distributive is compiled from source code by 'play dist' command. It implies that appropriate /application.conf file was provided when the project was compiled.

In other words, such configuration parameters as DB URL, user name and password of MySQL server must be set for the target server before distributive compiled by 'play dist' command.

2.1.3Application Deployment on Cloud

Credentials:

  • Email:
  • Email password: Scheduling!23
  • Cloud service:
  • Username on cloud: alex588
  • Email used to login the cloud:
  • Password to login to the cloud: Scheduling!23

Prerequisites (Local Machine):

  • JDK 6 or later.
  • BeesSDK (see installation instructions here: )
  • MySQL Workbench (see installation instructions here:
  • Binary distributive of the application (see section: Binary distributive creation for target server).
  • Database dump file (from student_scheduling_system/db/initial_data.sql or from production server)

BeesSDK is a set of utilities from cloudbees. You just need to download distributive (zip archive) from the website and unzip it.

After that you can run it from /cloudbees-sdk-1.3.1 folder by using'bees' command.

Deployment (from local machine to the cloud):

For general instructions on how to deploy PLAY framework applications on cloudbees.com; you can find useful resources here:

If you need to deploy new version of application software on already operating server skip steps 1-5 and do only step 6.

If you need to restore data on the operating server, do step 5.

  1. Create a new application called 'app':

In web browser open

Login the system using credential above.

Then click 'ClickStart' (top left corner) and select 'Play! Framework 2'.

Enter application name: app

  1. Create DB called 'application_db', in command line run:

bees db:create application_db

You will need to enter a unique user name and password for this DB. As result you will see:

Database Username (must be unique): appdbuser

Database Password: appdbuser1

database created: application_db

  1. Bind application and DB:

bees app:bind -a app -db application_db

As result you will see:

application - student-scheduling/app bound to cb-db:student-scheduling/application_db as application_db

  1. Update student_scheduling_system/application.conf, so that:

db.default.url="jdbc:mysql://ec2-23-21-211-172.compute-1.amazonaws.com/application_db"

db.default.user=appdbuser

db.default.password=appdbuser1

Then build a binary distributive: play dist

You can find DB configuration parameters by calling:

bees db:info application_db

And it will show:

Database name: application_db

Account: student-scheduling

Status: active

Master: ec2-23-21-211-172.compute-1.amazonaws.com:3306

Port: 3306

Username: appdbuser

  1. Populate DB with initial data:

Run MySQL Workbench (graphical tool), connect to the DB using credential listed earlier ("New server instance" button).

Then press "Manage Import / Export" button and select section "Data Import / Restore".

Then select database dump file in field "Import from self contained file".

Select Database 'application_db' and press import.

  1. Deploy binary distributive:

bees app:deploy -a app -t play2 student_scheduling_system-1.0-SNAPSHOT.zip

You should be able to see:

Application parameters: {containerType=play2}

...... uploaded 25%

...... uploaded 50%

...... uploaded 75%

...... upload completed

deploying application to server(s)...

Application student-scheduling/app deployed:

2.1.4Application Deployment from Project Source Code Archive
  • Deploying on the Lunux/Unix server
  • Unzip the project archive in the desired directory (current directory by default): unzip ./student_scheduling_system_v1.x.zip
  • Deploy DB:
  • Set URL, user name and password of MySQL server in the student_scheduling_system/application.conf:

db.default.url = "jdbc:mysql://localhost/student_scheduling_system"

db.default.user = root

db.default.pass = ""

  • Erase existing instance of DB (optional):

./student_scheduling_system/db/db_drop_schema.sh

  • Initialize DB schema:

./student_scheduling_system/db/db_schema.sh

  • Initial DB filling:

./student_scheduling_system/db/db_init_values.sh

  • Change directory to the project folder:

cd ./student_scheduling_system

  • Run PLAY (make sure you have updated your PATH environment variable, so that play directory is there):

play

  • Now in play console type:

start 8080

where 8080 - is a port number. You can use any available port number.

After this point; application should be available here:

where 'yourhostname’ is your server's name or IP address.

  • Deploying on the Windows server
  • Unzip the project archive student_scheduling_system_v1.x.zip in the desired directory.
  • Deploy DB:
  • Set URL, user name and password of MySQL server in the student_scheduling_system/application.conf:

db.default.url = "jdbc:mysql://localhost/student_scheduling_system"

db.default.user = root

db.default.pass = ""

  • Erase existing instance of DB (optional):

student_scheduling_system/db/db_drop_schema.bat

  • Initialize DB schema:

student_scheduling_system/db/db_schema.bat

  • Initial DB filling:

student_scheduling_system/db/db_init_values.bat

  • Change directory to the project folder:

cd student_scheduling_system

  • Run play (make sure you have updated your PATH environment variable, so that play directory is there):

play

  • Now in play console type:

start 8080

where 8080 - is a port number. You can use any available port number.

After that application should be available here:

where 'yourhostname' is your server's name or IP address.

  • Enter the domain address in address bar of web browser.

Figure 1: Starting PLAY Console

2.1.5Application Database Import / Export

Prerequisites:

Client: MySQL Workbench (see installation instructions here:

Server: MySQL sever v5 or later (see installation instructions here:

XAmpp bundle tool is recommended.

Database Import on the Server:

  • If DB student_scheduling_system already exists on the server, simply run:

mysql --user=root -p student_scheduling_system < initial_data.sql

  • If DB student_scheduling_system hasn't been created yet (first time deployment), run:

echo 'CREATE DATABASE student_scheduling_system;' | mysql --user=root -p

mysql --user=root -p student_scheduling_system < initial_data.sql

  • Instead of 'root' you should use your actual MySQL user name.
  • Instead of 'initial_data.sql', you should use your actual database dump file.

DB Export on the Server:

mysqldump student_scheduling_system --user=root -p > ./2013_04_18__19_36_snapshot.sql

Database Import/Export on the Cloud:

  • For more detailed information, you can refer to
  • Use MySQL Workbench and instructions from

Migration from the cloud to a Linux/Windows server:

  • Export DB on the cloud to a dump file
  • Then use section 'Application deployment from project source code archive' to deploy the application.
2.2Installing Play Framework

To run the Play framework, you need JDK 6 or later.

If you are using MacOS, Java is built-in. If you are using Linux, make sure to use either the Sun JDK or OpenJDK. (Not gcj, which is the default Java command on most Linux distros.) If you use Windows, just download and install the latest version JDK package.

Please ensure that you have the java and javac commands in the current PATH. (You can check this by typing java -version and javac -version at the shell prompt)

Download the binary package

Download the Play 2.0 binary package (take the latest 2.0 RC) and extract the archive to a location where you have both read and write access. (Running PLAY writes some files to directories within the archive, so do not install to /opt, /usr/local or anywhere else you would need special permission to write to those locations.)

Add the play script to your PATH.

For convenience, you should add the framework installation directory to your system PATH. On UNIX systems, this means doing something like:

export PATH=$PATH:/path/to/play20

On Windows you will need to set this in the global environment variables. This means update the PATH in the environment variables and do not use a path with spaces between.

If you are on UNIX, make sure that the PLAY script is executable (otherwise do a chmod a+x play).

Check that the play command is available

From a shell, launch the play help command.

$ play help

If everything is properly installed, you should see the basic help of PLAY framework.

The URL for that is:

2.3Re-installation
  • Delete the path from the path address bar under environment settings.
  • Execute db_drop_schema under db directory in source files directory for database reset.
  • Delete the directory includes source files and .java classes from the hard-drive.
  • Stop the PLAY! Framework (Ctrl+d), clean the workspace. Exit from PLAY! Console.
  • Repeat the procedure for initial installation.
2.4De-installation

Follow the steps below to successfully uninstall Student Scheduling System from the server.

  • Delete the path from the path address bar under environment settings.
  • Execute “db_drop_schema” under “db” directory in source files directory for database reset.
  • Delete the directory includes source files and .java classes from the hard-drive.
  • Stop the PLAY! Framework (Ctrl+d), clean the workspace. Exit from PLAY! Console.
  • Delete the PLAY! Directory from the hard-drive.
2.5Localhost Configuration
  • Download and Install XAMPP -
  • Launch XAMPP and make sure that both MySQL and Apache are checked for running and start them by clicking start buttons.
  • Add the mysql/bin file to your class path. It should be present where you installed XAMPP. In common case, it is at "G:\xampp\mysql\bin". After adding the path, click on Save button.
  • Go to your project directory and navigate to the db directory.
  • Double click db_schema.bat and db_init_values.bat (with the same order) to start database operation.

3.Operational Procedures

For the Administrative Users:

  • On login screen; type defined user name and password in related input boxes. Then click on the login button. The system will check your authorization for related side admin or student.
  • Admins can change password of any user role (Admin, Director and Student) from the link Reset Password on the left side of the screen.) Directors can only change their own password by using the same link. Students cannot change passwords due to security concerns and because they do not need any private information stored in database or to build a study plan, they do not need a password either. To change the password;
  • Enter your user name (i.e. admin)
  • Enter your old password.
  • Enter your new password twice for ensuring there is no typing error. Click Submit.
  • You can return the homepage by clicking on Home button at any time.
  • From the menu on the left of the screen; select the desired section. There are also links representing recent path in breadcrumbs form at each page’s top section to return back.
  • For Administrative Users:
  • Courses: The courses and the information related to them in database are shown in the table as a list. To add a new course; click on the Add Course button on top of the list. To edit a course, click on the Edit button next to the course’s title. To delete a course, click on the Delete button next to the course’s title and confirm the operation on alert box by simply clicking on the “Yes”.

Figure 2: Courses Page

  • Add New Course: You should enter the Title in a string form (the system will produce abbreviation from that title i.e. HUM, CS), Course Numbers / Credits as integers, “on campus” / “online” information by checking the related checkboxes. Finally, for the Prerequisites (Prereq) and Corequisites; you should enter those courses’ names as a combination of Prefix and Course Number (i.e. CS105) by leaving a space between different courses (if there are any). Click on the Submit button to add the course.