Você está na página 1de 24

ENS492 Final Report

#001 FENS Web Applications



Ekin Akyiit
Sarp Uzunkuak
Erhan Ahmet Ark
Yavuz Selim Kral
Gney Emre Anda
Berkay Baran Sakallolu


Project Supervisor
Hsn Yenign




29/05/2009







2008/2009 Spring
Sabanci University
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





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 Hsn Yenign 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





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 students 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
Description A seperate login panel for company supervisors 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.









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.




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 students internship company, a
dropdown menu is used, using browse button faculty member chooses the file and submit to
his/her student.










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.





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.




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.






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




#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

#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

#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








#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
#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


#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


#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 doesnt 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



#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













#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.

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
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

#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.






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.

Você também pode gostar