ENS4912 Final Report

24
ENS492 Final Report #001 FENS Web Applications Ekin Akyiğit Sarp Uzunkuşak Erhan Ahmet Arık Yavuz Selim Kral Güney Emre Andaç Berkay Baran Sakallıoğlu Project Supervisor Hüsnü Yenigün 29/05/2009 2008/2009 Spring © Sabanci University

description

rrwe rNS4912 Final Report

Transcript of ENS4912 Final Report

Page 1: ENS4912 Final Report

ENS492 Final Report

#001 FENS Web Applications

Ekin Akyiğit Sarp Uzunkuşak

Erhan Ahmet Arık

Yavuz Selim Kral Güney Emre Andaç

Berkay Baran Sakallıoğlu

Project Supervisor

Hüsnü Yenigün

29/05/2009

2008/2009 Spring

© Sabanci University

Page 2: ENS4912 Final Report

CONTENT

1. Introduction

2. Proj302 Online Management System Improvement

Features Added i. Show all the documents (entered by student and entered by supervisor) in the

same window.

ii. Warning messages to students needing more projects

iii. Warning message to the students with I grades

iv. A page for setting of term's dates

v. Projects tab for Company evaluations.

vi. Projects tab for Evaluations evaluations.

vii. An information message to students on document upload

viii. Intern tab for Company Evaluations.

ix. Login Page for Company Evaluations

x. Creating password table for Company evaluations supervisor password

xi. Creating master questions for Company Evaluation

xii. Supervisors are able to send documents to student.

xiii. Trying to get meaningful project descriptions

xiv. A warning message for overwrite on re-upload of the documents

xv. A new description for an existing project

xvi. Project list of faculty members

xvii. Maximum duration of an internship project

xviii. Student evaluation reminders to the company supervisors

xix. Pending projects reminder to faculty members

xx. Company evaluations by students

xxi. CRON update of students

xxii. Student evaluation by company supervisors

xxiii. An easier interface for creating a term

xxiv. Term dates

xxv. Send student evaluation information to the company supervisor

xxvi. Date of the entering of the project

xxvii. Comments for the grades

xxviii. Comments for projects from the faculty members

xxix. Which approved projects are real?

xxx. Restrictions on new project offering

xxxi. Student should be able to delete a project

xxxii. New students with undefined program

Page 3: ENS4912 Final Report

1. Introduction

This final report is prepared as a component of ENS491/492 Graduation Project Design /

Implementation courses at Sabanci University. The aim of this document is description of the

completed part of project members through two semesters. The subjects and description parts

below are outlined in the manner that in which order the tasks and studies took place during

design and implementation processes of the project.

The graduation project scope is improving the existing web applications and implementing

some new web applications to be used at Faculty of Engineering and Natural Sciences. During

the two semesters, an existing application PROJ302 Project Management System bug-fix, and

new feature addition activities are done.

During the Fall Semester our project team has weekly regular meetings with the project

supervisor Hüsnü Yenigün and discuss about the progress of the ongoing PROJ302 Project

Management System development. We also have meetings with Internship Office to present

the latest developments discuss about PROJ302 Project Management System.

2. Proj302 Online Management System Improvement

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=175

Summary 0000175: New students with undefined program

Description When we get the student list using CRON, a warning message should go to Internship Office Admin if there are any students with an undefined program. These students should be assigned a program manually by these admins after talking to them.

In order to solve this problem we created a php file named undefinedStudents.php

under cron directory, this php file will run each day, retrieve the list of students who have

undeclared major program or registered in other faculty programs, will send an e- mail

message to these students to make them contact with Internship Office to set their major

program manually.

“Dear Name Surname”

We could not get your major program information from the information system.

In order to complete your PROJ302 Internship Project(s), you should immediately

inform Internship Office about your major program.

Regards

Page 4: ENS4912 Final Report

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=215

Summary 0000215: An information message to students on document upload

Description When a supervisor upload a new document to a student, a mail message

should be sent to the student.

A faculty member logs in to proj302 system, using Document Upload tab menu will

be used to upload documents to a specific student and student’s internship company, a

dropdown menu is used, using browse button faculty member chooses the file and submit to

his/her student, when this submission process finishes an e-mail message is sent to student.

PROJ 302: New Document Upload

A new document is uploaded by the supervisor.

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=213

Summary 0000213: Login Page for Company Evaluations

Page 5: ENS4912 Final Report

Description A seperate login panel for company supervisor’s evaluation form. This panel will redirect company supervisor to evaluation menu that will be implemented soon.

New login panel has identical design with normal login panel but there is no user type

selection in the panel, while new project submission and project description changing using

company user e-mail address, a username and a random password is generated using these

information.

Login panel controls the supervisor entry, if this is successful it redirects supervisor to

comp_sup_menu.php. Prototype scene is given below.

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=217

Summary 0000217:Projects tab for Company evaluations

Description Will be same with the Faculty members interface but in addition there will be e-mail adress and the name of the faculty member

Company Supervisor Menu includes three tabs; interns menu shows students who are

assigned to specific company supervisor, projects menu shows student and project

information such as Student Name, Internship Company, Internship Project Description, Start

Date, Number of Weeks, Supervisor Name, Supervisor E-Mail.

Page 6: ENS4912 Final Report

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=179

Summary 0000179: Which approved projects are real?

Description Although we have a mechanism to avoid entering a new project when a student already has more than 8 weeks worth of projects, a student can still enter first a project of 4 weeks and then another project of 8 weeks, for example. This is not the only case, but I guess the issue is clear. A student may still have a set of approved projects such that a subset of projects adds upto 8 or more weeks.

In such a case, we cannot know if the student will actually do to all these internships or if she/he will only do that subset with a total duration of 8 or more weeks. If the student will only do the sufficient subset, this is a problem for us since we will be contacting all the intership supervisors of the approved

projects for the evaluation of the projects. Therefore, we should catch such students and make sure that she/he removes the unnecessary projects. How we can do this is not clear though? We can identify such students and send them an e-mail but how do we understand that if she just ignores our messages or she is planning to do all those projects?

In order to solve this problem we created a php file named warnStudents.php under

cron directory, this php file will run each day, retrieve the list of students who have internship

projects more than obligatory number of weeks. The solution for identifying which projects

are real is not defined by Internship Office, for now this script will send an e- mail message to

these students to make them delete projects that will not be completed. Further solutions may

be implemented.

Page 7: ENS4912 Final Report

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=207

Summary 0000207: supervisor should be able to send documents to student

Description firstly,supervisor can select a student and a company then can upload document to selected student for selected company.

A faculty member logs in to proj302 system, using Document Upload tab menu will

be used to upload documents to a specific student and student’s internship company, a

dropdown menu is used, using browse button faculty member chooses the file and submit to

his/her student.

Page 8: ENS4912 Final Report

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=200

Summary 0000200: A warning message for overwrite on re-upload of the documents

Description For the single upload documents (intership reports, digest, poster) if the student uploads a new version, then the old version is overwritten. This should be made clear to the students by issuing a warning message when they try to upload a single upload document which is already uploaded before.

When a student uploads a document, if he/she decides to re-send a document a warning

message is shown to student.

Page 9: ENS4912 Final Report

Assign Default Advisors:

assignDefaultAdvisors.php file is edited, in the old version number of students per

faculty members is not considered , therefore some faculty members have more than average

number of students in a specific program. New assignDefaultAdvisors.php first calculates the

average number of students in the program and calculates the number of students who are

assigned to each faculty member. When a new student is registered to course, script finds the

faculty members who have minimum number of students and this student is assigned to that

faculty member, therefore a balanced distribution of students if achieved. This script has two

versions one is run each day and another is manually selected in admin panel.

Page 10: ENS4912 Final Report

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=181

Summary 0000181: Comments for the grades

Description The faculty members should be able to write comments to the students for the grades that they enter. The student should see the comment in his grade window.

Faculty member can write comments after assigning the grades for students.

Page 11: ENS4912 Final Report

Students can see their faculty members comments in their grades section

https://fens.sabanciuniv.edu/fensware/sutracker/view.php?id=214

Summary 0000214: Interns tab for company evaluation

Description Company supervisors should see their interns name, photograph ,e-mail

faculty supervisors name and e – mail in their interns tab

In company evaluations interns tab, there is Interns name, Student ID, Program, Actions that

contains photograph and e-mail of the intern and Supervisor section with faculty supervisors

e-mail

Page 12: ENS4912 Final Report

#183 - Date of entering of the project

Type Feature Status Live

Description An entry in database is needed to keep record of the time student registered a

project

Files .\db\mysql.sql

.\students\new_proj_2nd_step.php

.\students\my_internship_projects.php

Changes During project insertion to database, CURDATE() is assigned to “registration_date” value of the row

During project status change from approved/declined to pending or refresh of project information on a pending project (both invoked by student), “registration_date” of the specific project row is reverted to CURDATE()

Adds mysql.sql got a new column in project table, “registration_date”

Notes CURDATE() gives date in form of Y-m-d

Conclusion Working

#189 - Grading reminder to faculty members

Type Feature Status Live

Description Faculty members shall be informed about grading deadlines/start in specific

days

Files .\cron\remind_supervisor_grading.php

.\cron\remind_supervisor_grading.ini

.\msgs\toFacultyMember_GradingStart.txt

.\msgs\toFacultyMember_PendingGradeWarning.txt

Adds INI file holds information about when to send, mail header, mail subject, error reporting options, sending options, txt file parsing options

The PHP script under Cron checks for 3 specific dates: day after document upload ends, 8 days before grading ends and grading end date. For those 3 different days specific mails are sent to faculty members by following INI options and TXT message.

Conclusion Working

Page 13: ENS4912 Final Report

#195 - Pending project reminder to faculty members

Type Feature Status Live

Description Faculty members shall be informed when they have students that have

pending status projects that have exceeded a given time limit waiting

Files .\cron\remind_supervisor_project.php

.\cron\remind_supervisor_project.ini

.\msgs\toFacultyMember_PendingProjectWarning.txt

Changes None

Adds INI file holds information about when to send, mail header, mail subject, error reporting options, sending options, txt file parsing options

The PHP script under Cron is designed such that it queries database with given specifications in INI file and sends mail to each faculty member regarding issue by creating message from TXT template and INI options related to it

Notes Different versions of this feature are written and ready to use for different demands

Conclusion Working

#219 - Warning message to students with I grades

Type Feature Status Live

Description Students shall receive a mail at “first grading” end day about their I grade

Files .\cron\warn_student_i.php

.\cron\warn_student_i.ini

.\msgs\toStudent_GradeI.txt

Changes None

Adds INI file holds information about when to send, mail header, mail subject, error reporting options, sending options, txt file parsing options

The PHP script under Cron checks for the day after grading_1 end day and send mail to students by following INI options and TXT message.

Notes None

Conclusion Working

Page 14: ENS4912 Final Report

#193 - Student evaluation by company supervisors

Type Feature Status Test

Description - Evaluation form shall be generated dynamically depending on question

types and numbers

- Company won't have access to information that belongs to previous years

- There won't be tabs but one only one page to be accessed and worked on

- English and Turkish menus, buttons, text is to be seen at same time

- Term has to be set default

- Website shall act alike the way Internship Office desires

List of students on home page with view or evaluate button

On evaluate form, student image, information, questions to be filled

and/or answers that have been given

No empty submission

No re-submission

Files .\ compsupervisors\coeval.php

.\ compsupervisors\comp_login.php

.\ compsupervisors\comp_sup_menu.php

.\compsupervisors\index.php

.\compsupervisors\logout.php

Changes Edited all files except logout.php to have both language texts and combined multiple tabs created for this issue into one file.

Visual style changed slightly

Adds JavaScript function to stop query process till all form elements are filled

Notes The work done on the given issues is used for this issue: #213, #214, #216, #217

Conclusion Some IE, Firefox bugs appear on each different browser version

Page 15: ENS4912 Final Report

#213 - Evaluate tab for company supervisors to evaluate interns

Type Feature Status Dropped

Description A list of interns that go to evaluation screen either by view or evaluate button

Files None

Changes None

Adds Stylish look to form Null entry warning upon submit button to inform supervisor that the process is

irreversible View and evaluate screens different

Notes None

Conclusion #193 holds the work that is done in this issue

Page 16: ENS4912 Final Report

#198 - View of Project list of faculty members

Type Feature Status Live

Description The faculty members’ view of list of projects modified to the same new

outlook of the list of the projects in student view.

Files .\supervisors\my_students_projects.php

Changes New outlook implemented and adjustments made.

Adds Table outlook with row and column lines.

#201 - Trying to get meaningful project descriptions

Type Feature Status Live

Description To get more specific descriptions from students about their projects a footnote

added to the registration step.

Files .\students\new_proj.php

Changes Small footnote added.

Adds Small footnote

Page 17: ENS4912 Final Report

#202 - Project info changes and related actions

Type Feature Status Live

Description There are 3 states: pending, approved, rejected

There are 3 actions by students: delete, desc change, supervisor change

=============

On "Delete":

- If the project is "approved", an email is sent to the faculty member.

- If the project is "pending" or "rejected", no email is

sent.

In both cases, tghe project is deleted deleted (proj_show=0).

=============

On "desc. change":

- If the project is "pending", no e-mail is sent.

- If the project is "approved" or "rejected" an e-mail is sent to the faculty

member and the project becomes "pending".

=============

On "supervisor change":

- If the project is "approved" an e-mail is sent to the "internship office".

- If the project is "pending" or "rejected", no e-mail is sent.

Files .\students\my_intership.projects.php

Changes Mail send actions are adjusted to the new rules.

Adds All new futures specified above implemented to the system.

#218 - A page for setting of term's dates

Type Feature Status Live

Description A page to the sysmanagement interface for creating a new term and setting its

deadline will be built.

Files .\sysmanagement\menu.php

.\sysmanagement\term_create2.php

.\sysmanagement\term.php

Adds New outlook and a new page to create and edit a term

Page 18: ENS4912 Final Report

#212 - Creation of a new table for Company evaluations supervisor password and emails

Type Feature Status Live

Description A table should be created to store new registered and updated company

supervisors and their randomly generated passwords. This will allow the

supervisor to log on to the internship site and fallow their interns and also can

look through the old interns which worked by their department if any exists.

Files .\include\config_inc.php

.\libs\setupdb.php

.\students\new_proj_2nd_step.php

Changes New table named proj302_compsupervisors created Create Table query added to setupdb.php General description for further use added in config_inc.php as $tblcmpsp New code to save new registered supervisors and also updated ones to the

table and a code to generate and assign random passwords to them are added in the new_proj_2nd_step.php

Adds Table created and related code implemented Other related code implemented in several files

#206 - Popup calendar doesn’t work properly

Type Bug Status Live

Description If the pop up calendar is opened second time at the same page variables of the

year and day swap their places.

Files .\scripts\calendar.js

Changes A small error fixed

Page 19: ENS4912 Final Report

#211 - Creation of a new table for Company Evaluation Questions and Answers

Type Feature Status Live

Description A table should be created to store the questions of the evaluation form. Every

term a sub table will be created automatically and copied the questions from

the master table to the sub table. If there are any change in questions the

modifications will be made on the master table so while the new term is being

created the sub table will be automatically created up to date.

Files .\include\config_inc.php

.\libs\setupdb.php

.\sysmanagement\term_create2.php

Changes New table named proj302_master_question created Create Table query added to setupdb.php General description for further use added in config_inc.php as $tblmquest New code to create the table dynamically according to changes on the master

table term_create2.php and also code to create the answers table as sub table under new created term.

Adds Table created and related code implemented Other related code implemented in several files

Page 20: ENS4912 Final Report

#190 - Term dates

Type Feature Status Live

Description A term should have the following dates given below.

All these dates should be kept in the proj302_terms table.

The admin should be able to set all these dates for a term

on a single page.

(Let us take these entire deadlines as a date plus the exact time, e.g.: 24 June

2009 17:00:00. Of course, the date part will be set by using a calendar

application but the time part can simply be a text box. It would be great if we

could use another javascript application for setting the time part as well, but if

no such application can be found, then we should do it as explained above, i.e.

by using a simple text box for getting the time part.)

- Start of the Project Entering (start_proj_enter):

This is the first date the students can enter new projects.

The admins should prepare the term, get the student list,

assign the default advisors before this date.

- Start of Missing Projects Warning Message (start_proj_warning):

This is the date at which the system will start checking if there are still

students with less than 8 weeks of approved + pending projects. The system

will automatically send a warning message to such students once a week.

These weekly automatic messages will continue until the end of the project

entering date.

- End of the Project Entering (end_proj_enter):

This is the last date the students can enter new projects.

- End of the Report Upload (end_report_upload):

This is the last date the students can upload their reports.

This is also the date the faculty members can start the

grading.

- End of the First Phase of Grading (end_grading_1):

This is the date until which the faculty members must enter

their grades. At the morning of the next day, any grade not submitted

will automatically be converted into I.

- End of the Updated Report Upload (end_report_update):

This is the last date the students with I grades can

can upload their updated reports.

- End of the Second Phase of Grading (end_grading_2):

This is the date until which the faculty members must change their I grades to

either S or U.

- End of the Term (end_term):

After this date nothing can be performed on a term by students

and faculty member and company supervisors.

- End of the Evaluations by Company Supervisors (end_c2s_eval):

This is the deadline for the company supervisors to fill in the

evaluation forms for the students.

- End of the Evaluations by Students (end_s2c_eval):

This is the deadline for the students to fill in the

evaluation forms for the companies.

Page 21: ENS4912 Final Report

Files .\libs\setupdb.php

.\sysmanagement\term_create2.php

Adds New columns added to the proj302_terms table

Conclusion There can appear null date bug.

#205 - Term creation does not work

Type Feature Status Live

Description One has to go through the steps of creating a term and make sure that all the

tables are created with the newest column requirements

Files .\sysmanagement\term_create2.php

.\sysmanagement\term.php

Changes Some code related issues are fixed and now term creation can be done.

Adds

Conclusion It works on the real system.

#194 - Company evaluations by students

Type Feature Status Test

Description The students should be able to evaluate the companies at which they had

their internship.

If there are multiple companies, the student should be able to fill in a

separate evaluation form for each one of the companies.

Files /include/config.inc.php

/libs/setupdb.php

/students/comp_eval.php

/students/menu.php

/sysmanagement/term.php

/sysmanagement/term_create2.php

Page 22: ENS4912 Final Report

Changes New table named proj302_master_squestion created Create Table query added to setupdb.php General description for further use added in config_inc.php as $tblmsquest New code to create the table dynamically according to changes on the master

table term_create2.php and also code to create the answers table as sub table under new created term.

Adds Table created and related code implemented Other related code implemented in several files

Conclusion Will be transferred to the real system

Page 23: ENS4912 Final Report

#192 - An easier interface for creating a term

Type Feature Status Live

Description We should only enter the term name and the year and create a term. The

other parameters for creating a term should not be asked during the term

creation. The term dates should be assigned to alll zero (or some null value).

The admin should set the dates of the term later by using anotehr menu.

The phases (for documents) of the term should also be created by defualt.

That is do not create an empty phases table but create one with the digest,

poster, internship report, etc.

Files /sysmanagement/menu.php

/sysmanagement/term.php

/sysmanagement/term_create2.php

Changes

Adds New interface added for creation of the new term New interface added for entering relevant dates. This page can be reached

from the Edit Term link for further changes.

Conclusion Running on the real system.

Page 24: ENS4912 Final Report

4. Conclusion

Briefly, as stated in project description, many new feature additions and bug-fix

implementations are done in addition to web application development for PROJ302 Course in

FENS at Sabanci University which are explained above in detail. Although, all the tasks

planned to be done so far are completed, there are still some need for maintenance and new

feature additions.

With this project we had the opportunity to extend our knowledge in web application

programming by using widely used tools and technologies. Also we had experienced all steps

of software development in a real-world application which is actively used. As being FENS

Web Applications project group students we are so honored of completing design and

implementation of the FENS web applications which is already used by faculty members and

students of Sabanci University.