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