University of Portland Donald P. Shiley School of Engineering 5000 N. Willamette Blvd. Portland, OR 97203-5798 Phone 503 943 7314 Fax 503 943 7316 Final Report AdviseUP Mark II: Web-based scheduling and advising application Team Members: Kekai Ariola (Spring Team Lead) Eric Bergquist (Fall Team Lead) Megan Yamamoto Industry Representatives: Brian Toole (WAS) Sam Burich (Concordia University) Faculty Advisors: Dr. Tammy VanDeGrift Other Contributors: Dr. Kenneth Lulay (Client) Ronan Cranley (IS Infrastructure) Jacob Caniparoli (WAS) University of Portland Donald P. Shiley School of Engineering Contact: Eric Bergquist FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 2 Table of Contents INTRODUCTION .................................................................................................................................3 CONTEXT ...........................................................................................................................................4 TECHNICAL OUTCOMES ......................................................................................................................4 OVERVIEW ................................................................................................................................................... 4 SCREENSHOTS OF INTERFACE MODIFICATIONS .................................................................................................... 6 PROCESSOR AND DATABASE .......................................................................................................................... 16 PROCESS OUTCOMES ....................................................................................................................... 18 PROJECT REQUIREMENTS .............................................................................................................................. 18 MILESTONES ............................................................................................................................................... 19 BUDGET ..................................................................................................................................................... 21 UNFORESEEN TIME EXPECTATIONS ................................................................................................................. 21 RISKS REVISITED .......................................................................................................................................... 23 USER TESTING ............................................................................................................................................. 24 CLIENT RESPONSE ........................................................................................................................................ 24 POSSIBLE ADDITIONS TO APPLICATION ............................................................................................................ 24 CONCLUSION ................................................................................................................................... 25 ACKNOWLEDGEMENTS .................................................................................................................... 26 REFERENCES .................................................................................................................................... 27 APPENDIX A: ADVISEE USER TEST ..................................................................................................... 28 APPENDIX B: ADVISEE USER SURVEY ................................................................................................ 29 UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 3 Introduction AdviseUP is a web-based academic planning tool intended to assist in the advising process for advisors and advisees at the University of Portland. AdviseUP allows advisees to plan their 4 or 5 year academic schedule and store it in the application so that it can be accessed by their advisor. AdviseUP also checks course completion for courses in past semesters in the academic plan and prerequisite/co-requisite requirements for all courses in the academic plan. The results of these checks are displayed visually, allowing users to quickly and easily spot problems. Team Hopworks chose to work on AdviseUP because of its potential to be adopted and used by advisees and advisors at the University of Portland. AdviseUP was originally created by Team Foxfire for a faculty client in the School of Engineering. They created a great final product that was not fully useable. Team Hopworks expanded AdviseUP to include the features necessary for widespread use at University of Portland. AdviseUP is an application that can greatly assist the advisees at University of Portland in planning their academic schedules and assist the advising process. Figure 1 illustrates the typical view of the application for an advisee when viewing his/her schedule. Figure 1: Screenshot of Application (Advisee) UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 4 The advisee can view their schedule and can move courses/electives to different terms to plan out their academic schedule. Course boxes are colored to indicate errors, the color mappings are described later in the paper. In this document the finished application will be described starting with the Context section that provides information about the advising process at University of Portland. Next, the Technical Outcomes section begins with screenshots and descriptions of the additions to the application interface. Behind the scenes changes and the application database are also described in this section. The next section, Process Outcomes, details all the functionality the team added and the differences between the proposed design and final product. Feedback from user testing and the client is given, along with possible additions to the application. Context Every semester at University of Portland advisees are required to meet with their advisor and receive their advisor’s approval for the classes they plan on taking the following semester. During this meeting the advisor checks that the advisee has satisfied all prerequisite and co-requisite requirements for the classes they are planning on taking and makes sure that the advisee is still on track for graduation. This process is time consuming and takes the majority of the advising meeting, leaving little time for the advisee to interact with their advisor. Additionally advisors store their advisee’s course schedules and academic plans in a variety of ways that are not always easily accessible for advisees. At the University of Portland several disciplines have created a “sample schedule” for their degree requirements. These sample schedules can be found in the University of Portland Bulletin and on department websites. Advisees can use these sample schedules as a guide when planning their own schedule. AdviseUP has templates, which are a sample schedule for a major. Advisees are given the template for their declared major in AdviseUP and can then move the courses to plan their academic schedule. Technical Outcomes Overview The AdviseUP application consists of an interface written in ASP.NET, a processor consisting of C# and JavaScript code, and a SQL Server application database. The database is hosted by the Web and Administrative Services at University of Portland. These components are depicted in Figure 2 in black. The arrows demonstrate the interactions between the components. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 5 Figure 2: Overview of Architecture As part of AdviseUP Mark II, Team Hopworks integrated AdviseUP with the University of Portland Portal website and Banner database. These new components are shown in red in Figure 2. The Portal website provides advisees and advisors with links to the University of Portland’s resources. With the help of WAS, Team Hopworks created a link to AdviseUP in the advising section of the Portal to make AdviseUP more accessible. Banner is University of Portland’s Student Information System that stores all student, faculty, and course information. AdviseUP does not access Banner directly. Instead Brian Toole wrote queries to get all the data the application needs from Banner. The results of these queries are stored in Materialized Views which are updated nightly. These are connected to the internal database of AdviseUP through a database link. While developing AdviseUP the Portal link to AdviseUP was only added to the test version of the Portal, and the materialized views pulled information from the Banner test database. References in this document to the Portal and Banner data are referring to the test Portal and Banner data from the testing database, not the real production environments. Figure 3 below show how the different components of the application work together. This diagram shows the data flow while the page is loading after an advisee logs in to AdviseUP. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 6 Figure 3: Data Flow Diagram After the advisee logs in to AdviseUP the application must retrieve all of the advisee’s information and display their academic schedule. The C# processor starts by calling a stored procedure in the SQL Server internal database that retrieves the advisee’s transcript information from the view of Banner data and stores it in the internal database. This information is only stored while the advisee remains logged in. Next the processor will call another stored procedure to retrieve the classes the advisee is planning on taking from the internal database. The processor uses this information to create the course boxes in ASP.NET for all courses that are currently visible in the advisee’s schedule. After creating the course boxes the process writes JavaScript code dynamically that allows the course boxes to be dragged in the schedule. The processor will then use a stored procedure to retrieve the prerequisite and co-requisite requirements from the internal database as well as the advisee’s transcript information that was inserted by the first stored procedure. This information will be compared against the advisee’s proposed schedule and the processor will color the course boxes with the resulting errors. Once this is completed the advisee sees the graphical view shown in Figure 1. AdviseUP has components in four languages interacting to make the application work. Screenshots of Interface Modifications This section includes screenshots and descriptions of all interface pages that have been modified or added. The figure names include whether the feature is entirely new or is a modification to a preexisting feature. For information about the other pages of the interface refer to Team Foxfire’s Final Report document [5]. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 7 Figure 4: New: Portal Link to AdviseUP Figure 4 shows the link to AdviseUP on the University of Portland portal website (https://pilotstst.up.edu/group/main/academic-resources ). This is a new link that will direct the user to the AdviseUP login page. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 8 Figure 5: Modified: Advisor’s Graphical View of Advisee Schedule Figure 5 is a screenshot of an advisor/administrator’s graphical view of an advisee’s proposed academic schedule. The advisee’s graphical view of their schedule is displayed similarly. The major new functionality is the coloring of course boxes with errors. Additionally, advisors can reinitialize an advisee’s schedule to give them a new template. Course boxes are colored if there is an error with that course in that particular semester. Courses with no errors are colored light blue. Courses in past terms in an advisee’s proposed schedule are checked against the advisees transcript data from Banner. Table 1 below shows the possible errors and the resulting color of the course box. Table 1: Course Violations and Colors Color Violation Yellow Red Orange Light Grey Dark Grey Black The advisee received a low passing grade of D- to D+ The advisee received an F The prerequisite/co-requisite requirements are not fulfilled The course was taken pass/fail or was dropped There is no record of the advisee taking the course There is no record of the course taken that semester but the transcript shows the advisee took the class a different semester UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 9 Figure 6: New: Graphical View Transfer Credits Region Figure 6 shows the transfer credits region of an advisee’s schedule in graphical view. Advisees with AP credit or transfer credits from another university can move the courses they received credit for into this region. Courses in this region do not have their prerequisite and corequisite requirements checked nor are they checked against the advisee’s transcript. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 10 Figure 7: Modified: Advisor’s List View of Advisee Schedule Figure 7 is a screenshot of an advisor’s list view of an advisee’s proposed academic schedule. The advisee’s list view of their schedule is displayed similarly. This page was modified by the addition of the transfer credits section. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 11 Figure 8: Modified: PDF Generated by Print Functionality Figure 8 is a screenshot of a PDF that the application generates when a user clicks the Print button. This now includes a section for transfer credits. Additionally, a disclaimer was added at the top that the PDF is not a transcript and is for planning purposes only. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 12 Figure 9: Modified: Advisor’s Manage Course Page Figure 9 is a screenshot of the advisor/administrator’s Manage Course page, which now includes the Enrollment Prediction feature. This feature allows an advisor to view the number of students who are planning on taking any given class for any semester. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 13 Figure 10: Modified: Administrator Create/View Template Page Figure 10 shows the page that allows an administrator to create, view, and modify templates. The administrator can now use the Add Existing Elective button to add a preexisting elective to the template. Additionally, the application now requires that template names be unique. Also, similar to the graphical view of advisees’ schedules in Figure 5, courses with unfulfilled prerequisite or co-requisite requirements are colored orange. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 14 Figure 11: New: Administrator Add Existing Elective Page Figure 11 shows the page that allows an administrator to add a previously created elective to a template. Administrators can select an elective and click the View button to view the list of courses that satisfy the elective. After selecting an elective, semester, and year the administrator can add the elective to the template. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 15 Figure 12: New: Administrator Management Page Part 1 Figure 12 shows the page where administrators can manage the application. In the first list, an administrator can remove another administrator’s privileges and make them an advisor. Additionally, administrators can promote current advisors to administrators. The third list allows administrators to remove advisors from the application who are no longer listed as academic advisors in Banner. The fourth list displays unused electives and allows administrators to remove them from the application. See Figure 13 for a screenshot of the rest of this page. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 16 Figure 13: New: Administrator Management Page Part 2 Figure 13 shows the lower half of the administrator management page. This consists of five Sync buttons that allow administrators to sync the data stored in the internal database with the materialized views of Banner data for Advisees, Advisors, Courses, Prerequisites and Co-requisites. Processor and Database Internal Database The application database is a MS SQL Server database. This is hosted by Web and Administrative Services on the SQL Server up-mssql4. The database consists of tables to store all of the application’s data and stored procedures that allow the application to access the data. The internal database is connected to materialized views of Banner data via a database link. The information contained in each table and view is outlined below. Greater detail of the stored procedures and tables can be found in Team Foxfire’s Design Document [4] and Team Hopworks’ Design Document [2]. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 17 Figure 14: Internal Database Tables Figure 14 shows all 15 of the tables in the internal database. The title of a box is the name of the table and describes what data the table stores. The fields in the table are listed below the title. Fields in bold are required and the underlined fields of a table form its primary key (if the table has a primary key). UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 18 Figure 15: Materialized Views of Banner Data Figure 15 shows all 7 materialized views of Banner data. The title of a box is the name of the materialized view and describes what data it holds. Below the title is the name of the fields in the view. Process Outcomes Project Requirements The team encountered many unforeseen setbacks and challenges during this project. The milestones and schedule initially created did not accurately reflect the time required for each part of the project. Despite these setbacks the team was able to add all intended functionality. Table 2 below lists each function that was added to AdviseUP. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 19 Table 2: Proposed Functionalities with Completion Checklist Primary Functionality Completed P1 AdviseUP uses SQL queries to pull current data from the University of Portland’s live Banner database and store in its application database. P2 The AdviseUP link is accessible by all students and faculty across campus through the advising portlet on the portal. P3 Advisors can copy a template and then modify it instead of having to create a new template for every discipline variation. P4 AdviseUP will purge sensitive material after every user session. Academic schedules will be purged after a student has graduated. Graduation data will be received from Banner. Secondary Functionality S1 S2 S3 S4 S5 AdviseUP crosschecks advisees’ completed courses with the previous semesters on their academic schedules. Advisors and advisees receive visual and textual warnings if the Advisee has not completed a course on their academic schedule or if they have not completed the required prerequisites and co-requisites to take a given course. AdviseUP calculates how many students plan to take any given class for any given semester. Advisors can view a future enrollment prediction. The Graphical User Interface of AdviseUP matches the look and feel of other UP web pages and applications. Notes on AdviseUP will be encrypted when being stored in the application database. Existing electives can be searched and added when editing or creating a template. For the details of each function refer to Team Hopworks’ Design Document [2]. The date of completion for each function can be found in the Milestones section below. Milestones Table 3 shows the description, projected, and actual completion date of all the project milestones. Detailed descriptions of each milestone are available in Team Hopworks Design Document [2]. Table 3: Project Milestones Milestone A Description Hold AdviseUP code review with Sam Burich UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING Projected Completion Date 5 Oct 2012 Completed Date 2 Oct 2012 CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA BB CC DD EE FF REV. 0.95 Identify what data must be drawn from Banner Registrar approval to use Banner database Complete policy for purging data Complete code for future course enrollment prediction feature Complete requirements for views of Banner database Complete CAS authentication code Complete code to modify templates Test CAS authentication Test views of Banner database Test course prediction and template procedures Write template guide document for advisors Client approval for template functionality Complete code that adds and drops data from internal database as needed Complete code for portal links to AdviseUP Test adding and dropping internal data Complete code to check student schedules against Banner data Test the checking of student schedules against Banner data Complete code for purging data of graduated students Complete code to modify data to test purging of graduated student data Modify AdviseUP GUI to conform to UP style guide Modify AdviseUP to remove outdated functionality Complete code for encrypting notes Code Complete Test procedures for purging graduated students data Test procedures for accessing Banner data Test portal links to AdviseUP Write Users Guide and Maintenance Guide User and Faculty Testing Complete Registrar Final Approval for live Banner database IS Approval for portal links Code frozen after integration testing PAGE 20 8 Oct 2012 12 Oct 2012 24 Oct 2012 31 Oct 2012 5 Dec 2012 10 Oct 2012 24 Oct 2012 31 Oct 2012 7 Nov 2012 12 Nov 2012 23 Nov 2012 23 Nov 2012 28 Nov 2012 28 Nov 2012 5 Dec 2012 25 Jan 2012 11 Jan 2013 7 Nov 2012 INCOMPLETE 12 Nov 2012 INCOMPLETE 15 Feb 2012 23 Nov 2012 24 Jan 2013 2 Apr 2013 6 Dec 2012 18 Jan 2013 25 Jan 2013 25 Jan 2013 2 Apr 2013 31 Mar 2013 8 Mar 2013 1 Feb 2013 8 Mar 2013 1 Feb 2013 21 Feb 2013 8 Feb 2013 25 Feb 2013 8 Feb 2013 8 Feb 2013 15 Feb 2013 15 Feb 2013 20 Feb 2013 20 Feb 2013 25 Feb 2013 1 Mar 2013 8 Mar 2013 15 Mar 2013 22 Mar 2013 5 Apr 2013 3 Apr 2013 3 Apr 2013 17 Mar 2013 9 Apr 2013 1 Mar 2013 26 Mar 2013 3 Apr 2013 20 Apr 2013 3 Apr 2013 INCOMPLETE INCOMPLETE 23 Apr 2013 Table 2 shows that many milestones were completed later than expected, however all functionalities were completed. Reasons behind the delays can be found in the Unforeseen Time Expectations section. More information on why milestones G and I are incomplete can be found in the Unforeseen Time Expectations section under LDAP to CAS Authentication Switch. Likewise information on milestones DD and EE can be found in the Risks Revisited section under Final Product Not Adopted by the University. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 21 Budget Table 4 gives the development budget for AdviseUP Mark II. Because the development software is free and the servers are provided by Information Services, the only expense was the food and drinks provided at the user testing session. Table 4: Project Budget Line Category 1 1.1 Printing 2 2.1 2.2 3 3.1 Food Description Number A hard copy of each of the previous team’s documents Large 1 topping pizza Drinks # of pages 245 Rate $0.05 Estimated Amount Subtotal $12.25 # of parts 10 10 $7 $2 $70 $20 3 $5 $15 $117.25 Actual Amount Subtotal $12.25 $75 $4.98 Accessories Plates and napkins TOTAL $8.83 $101.06 Unforeseen Time Expectations LDAP to CAS Authentication Switch Last year Team Foxfire planned to implement CAS authentication however they ultimately decided to authenticate using LDAP. Team Hopworks planned to change the authentication from LDAP to CAS to allow the use of single sign on. This means that if a user signs into one CAS authenticated website such as the Pilots portal, they can access other CAS authenticated websites without having to sign in again. Initial research showed that this would not be difficult to accomplish and would only require changing some parts of the web.config XML file. This was not the case. The team managed to modify the application to authenticate users using CAS, but while using CAS web browser cookies and session info could not be used. These are necessary for the application to function, and while it is technically possible to use these with CAS, it is very difficult and would have required extensive work. The team decided to continue using the working LDAP authentication and devote more time to higher priority functionalities. Receiving Materialized Views of Banner Data The application accesses Banner data via materialized views created by the team’s industry advisor Brian Toole. During the project the University of Portland’s Web and Administrative Systems (WAS) and Internal Systems (IS) departments underwent many personnel changes. Due to this the creation of the UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 22 materialized views was delayed for over a month. This delayed all aspects of the project that utilized Banner data. Internal Database Redesign Overview Significant modifications were made to the internal database over the course of the project. In the initial design of the project SQL queries were to be used to obtain information from Banner. This design was not possible and Brian Toole instead created materialized views of the Banner data that the application needed and connected these to the internal database through a database link. The materialized views contain all the information needed from Banner, however in some cases this differed from how the data was stored in the internal database. This required the internal database be redesigned to reflect how data is stored in Banner. Examples of three of the required changes are detailed below. Redesign: Prerequisite Table The AdviseUP database originally stored a prerequisite requirement as a courseID and a prereqID in the Prerequisite table. This design allowed a course to have multiple prerequisites, however each prerequisite course was required. Real courses can have more complicated prerequisite requirements, for example BIO 307 could require either BIO205 or BIO207 be taken previously. The Banner prerequisite data supports these more complicated prerequisite requirements, so the application had to be redesigned to accommodate this. Redesign: Multiple Advisors Additionally the internal database only allowed an advisee to have one advisor. In reality advisees can have several different advisors if they are double majoring or completing a minor. One of the materialized views of Banner data links each advisee with all of their advisors. The internal database was modified to no longer store their advisors ID as part of the student’s record. Instead the database accesses this materialized view when the advisee wants to see information about their advisor. Redesign: Course ID The most significant modification dealt with the way a course was identified in the internal database. Originally a unique number was generated for each course, and this was used in tables throughout the database to identify that course. This numeric ID did not correspond in any way to the course that it was identifying. With the inclusion of Banner course data this would have created problems when comparing courses internally to the Banner course data. This prompted the redefinition of a courseID to be the concatenation of the course department and number, i.e. CS203. This change had to be duplicated everywhere in the internal database where courses were stored, as well as everywhere in the C# processor where a numeric courseID was expected. Materialized Views Access Delay One unforeseen issue when accessing the materialized views was a 2-4 second delay. Since the application checks the advisees planned schedule against transcript, co-requisite, and prerequisite UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 23 information from the materialized views every time a course is moved, this delay slowed down the application considerably. To circumvent this issue tables were added to the internal database to store this information so that accessing the views and the corresponding delay only occurs during the initial login. This required the implementation of procedures that would purge the advisees’ transcript information from the internal database when they log out or when their session times out. Data Syncing Policies Some Banner data from the materialized views is duplicated and stored internally. The application had to ensure that the internally stored data was always consistent with the data from Banner. Some of the Banner data only changes once a semester such as course, prerequisite, and co-requisite data. Stored procedures were written that sync these internal database tables with the materialized views. Research into having these procedures run automatically discovered SQL Server Agent, which allows the procedures to be run at scheduled times. Implementing this scheduling via SQL Server Agent was not successful because this tool requires administrative privileges on the SQL Server hosting the database, which could not be granted to the team. An Administrative Management page was created where administrators could manually sync the internal database with the Banner data. Some information changes more frequently or at unscheduled times, such as when new advisees or advisors join the university. The application was originally only useable to users whose information was stored in the internal Advisee or Employee table, which would not allow recently added students to use the application. This problem was solved by having the application check the materialized views if a user logs in and is not in the internal database. If they are in the view, their information is added to the internal database and they can now access the application. Risks Revisited 1. The Office of the Registrar Will not Approve The Use Of Banner Data The primary goal of AdviseUP Mark II was to connect the application to live data from the University of Portland’s Banner database. The outcome of the project rested on the approval by the Registrar’s office to access this data. With the help of Brain Toole and WAS, AdviseUP was granted access to the data through materialized views of Banner data. 2. Not Enough Time for Testing Because the materialized views were received later than expected, Team Hopworks was not able to test AdviseUP as thoroughly as planned. The team did conduct a user test session but did not have enough time to implement the testers’ suggested features. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 24 3. Final Product Not Adopted by the University Team Hopworks worked hard to make AdviseUP a tool that could be adopted by University of Portland. While this is possible, the University purchased Degree Works, a degree auditing application that has a built-in planning tool. It is unlikely that the University will decide to host and maintain AdviseUP when they have already paid for a similar utility. The team is meeting with the Registrar’s office and WAS to allow them to assess AdviseUP and decide whether or not to adopt it. Additionally the team has prepared a maintenance document to detail what would need to be done by WAS to support AdviseUP in the future. This includes issues such as modifying the materialized views to pull the most current data. If the University did adopt AdviseUP then as part of this the link to AdviseUP would be moved to the live Portal site and the materialized views would be modified to pull live production Banner data. User Testing A user testing session with 45 student participants was conducted on April 3, 2013. The testers were initialized with the template for their major, or if that template did not exist, the closest existing template. Testers were then given instructions on how to access the website and asked to rearrange the courses in their template to best match their freshman year at the University. After testers had adjusted their schedules, they participated in a short survey asking for their thoughts about the application. The user test procedure and survey can be seen in Appendix A and Appendix B respectively. On a scale of one to five, with five being the easiest, the average ease of use score for the application was 3.63. This was very good considering that users were only given 10 minutes with the application and very little in the way of instructions. Additionally 93% of testers said they would use the application and that it was a useful addition to the current advising process. Client Response After demonstrating the application for the client, Dr. Lulay, he was very pleased with AdviseUP. His favorite functionality was the connection to Banner and the resulting color-coded violations. His two suggestions were to make the color key easier to understand and to change the file name to include advisees names when generating PDF documents. The original auto-generated file name format was: schedule_ID#.pdf. It has since been changed to: lastName_firstName_ID#_schedule.pdf. Possible Additions to Application Switch Authentication from LDAP to CAS The authentication switch would allow for single sign-on across the other CAS authenticated University websites such as the Pilots portal, email, and selfserve. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 25 Update User Interface Our application follows the University’s branding policies but it is not officially approved by the University. The University Brand Book was used to select the colors of the application. A meeting would have to be set with the University’s Marketing and Communications department along with the Registrar’s office. Button layout could also be improved. Allow Courses to Be Dragged Across More Than the Five Visible Semester Panels The most requested feature from the user testing session was to allow students to drag courses farther than the five visible semester regions in graphical view. This was an issue when upper class students were initialized with a template and had to move courses across many semesters, such as from their senior year to their freshman year. Smooth Page Refreshing When a student moves a course, the whole page reinitializes. Using JavaScript, future implementations can have this process appear smoother. Automatic database syncing (between internal database and Banner data) Currently the application relies on the administrators to manually sync student and course information with the materialized views of Banner data. Future implementations could have the internal database sync on a specified schedule making it easier to maintain. Conclusion AdviseUP provides the advisors and advisees of the University of Portland with a scheduling tool that can be used to expedite the advising process and help advisees create their academic schedule. Using AdviseUP advisees could plan their academic schedule by rearranging the classes in the template for their major. When advisees go to their advising meeting their advisor can pull up their schedule and can quickly see from the coloring that the advisee has taken everything they planned in previous semesters and that they have satisfied all prerequisite and co-requisite requirements for the next semester. This allows the advisee and advisor to spend more time talking about how the advisee is doing and answering any questions that they have. The team succeeded in implementing all of the primary and secondary functionality requirements. This was a significant accomplishment after the team was not able to understand the inherited project as quickly as planned and received the materialized views much later than anticipated. A significant portion of the team’s work was not covered by the initial planning. The team spent a lot of time making policy decisions and handling issues inherent in dealing with real data. The team learned a great deal while working on AdviseUP and is very proud of their efforts. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 26 Acknowledgements We would like to give special thanks to the people who helped make our project a success. First Dr. Tammy VanDeGrift, our faculty advisor, who provided guidance to our team and helped us solve the many policy issues. Next Sam Burich, one of our industry advisors and a member of Team Foxfire who helped us understand AdviseUP. Lastly we need to thank our other industry advisor Brian Toole. Brian created our views of Banner data and who attended our weekly meetings and gave us great information and advice. UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 27 References 1. Kekai Ariola, Eric Bergquist, Megan Yamamoto. Team Hopworks Functional Specification rev 1.0. Published: Sept, 2012. Accessed: September 2012. teaching.up.edu/SrDesign/AY13/Hopworks/documents.htm 2. Kekai Ariola, Eric Bergquist, Megan Yamamoto. Team Hopworks Design Document rev 1.0. Published: Dec, 2012. Accessed: December 2012. teaching.up.edu/SrDesign/AY13/Hopworks/documents.htm 3. Sam Burich, Kapua Chandler, Chris Lewis. Team Foxfire Functional Specification rev 0.9. Published: Sept, 2011. Accessed: September 2012. teaching.up.edu/SrDesign/AY12/Foxfire/documents.htm 4. Sam Burich, Kapua Chandler, Chris Lewis. Team Foxfire Design Document rev 0.97. Published: Nov, 2011. Accessed: September 2012. teaching.up.edu/SrDesign/AY12/Foxfire/documents.htm 5. Sam Burich, Kapua Chandler, Chris Lewis. Team Foxfire Final Report rev 0.97. Published: Apr, 2011. Accessed: April 2012. teaching.up.edu/SrDesign/AY12/Foxfire/documents.htm 6. Sam Burich, Kapua Chandler, Chris Lewis. Team Foxfire Developer Documentation. Published: Apr, 2012. Accessed: September 2012. teaching.up.edu/SrDesign/AY12/Foxfire/documents.htm 7. University of Portland Bulletin 2012-2013. Accessed: http://www.up.edu/provost/default.aspx?cid=9663&pid=1950 February 2013. 8. Transact SQL Reference (Database Engine) Accessed: September 2012 – April 2013. http://msdn.microsoft.com/en-us/library/bb510741(v=sql.105).aspx UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 28 Appendix A: Advisee User Test UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA FINAL REPORT TEAM HOPWORKS REV. 0.95 PAGE 29 Appendix B: Advisee User Survey UNIVERSITY OF PORTLAND SCHOOL OF ENGINEERING CONTACT: KEKAI ARIOLA