320 likes | 539 Views
Building a Portal Framework: The Penn State Student Portal Project. Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer . Agenda. Introduction Portal GUI Let’s Get Technical Future Directions The Portal Team Wrap Up. Introduction. What is a portal?
E N D
Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer
Agenda • Introduction • Portal GUI • Let’s Get Technical • Future Directions • The Portal Team • Wrap Up
Introduction • What is a portal? • Why do we need a portal? • Student Portal vs. Commercial Portals • Personalization vs. Customization
What is a portal? • A software application that aggregates heterogeneous data sources into a cohesive customizable presentation
Why do we need a portal? • The portal is designed to make a person’s Web experience more efficient • It is a single point of access to University information resources • Ideally the portal will be the primary source of University communications and interactions with its constituents
Student Portal Allows users to have access to institutional data Keeps user information within the University Leverages our existing infrastructure Provides the framework for integration with legacy and future IT systems Commercial Portals Tracks personal information for a profit No guarantees when it comes to information privacy Proprietary infrastructure Closed framework Student Portal vs. Commercial Portals
Customization vs. Personalization • Customization • Done by the Portal software when you authenticate • Determines how your portal looks the first time you see it – and every time your roles, and functions change • Personalization • Allows you to change the portal’s look and feel • Subscribe/unsubscribe to channels • Set application parameters – reports and report parameters, cities, stocks, dates, e-mail and chat defaults • Format Portal page – colors, columns, … • Create/edit tabs • Add/remove links
Portal GUI • Our First Design • Main Interface • Anatomy of a Channel
Anatomy of a Channel Channel Controls Channel Title Displays help information. Change channel parameters Move channel to a tab Minimize/maximize channel Remove channel Channel Content
Let’s Get Technical • Data Flow • Authentication • Database • LDAP • User Data Storage • Channels • Calendaring • Tools
Data Flow DFS - Storage of user prefs. Apache/SSL Server Client Browser DFS - Storage of user prefs. CGI Programs DB2 DFS - Storage of user prefs.
Authentication • Authentication to the Portal is accomplished using an Apache module, called mod_auth_dce • The module obtains the user’s credentials when he/she authenticates • This enables the Web server to write into the user’s DFS file space, because it has his/her credentials
LDAP • Lightweight Directory Access Protocol (LDAP) is a method for providing directory information • LDAP is the replacement for Ph/Qi • Within the Portal framework LDAP is used to determine a person’s role, to include: • Affiliation (Faculty/Staff or Student) • Campus Code • Semester Standing • Semester Code • Residence Status
LDAP cont’d • Data that is used by the Portal is deemed as sensitive by nature • Ordinary LDAP queries cannot retrieve the Portal attributes • The Portal software does a secure bind to retrieve the attributes
User Data Storage • A user’s Portal data is stored in his/her DFS home directory • The Portal data includes: • User customizations • Channel specific data • Personal calendaring data • DCE ACLs control access to the Portal data
Channels • Types • Applet • Content • Execute • Role • Affiliate • RSS • What is RSS? • RSS Parser
Applet Channel • Allows the content developer to embed a Java language applet into the portal • Channel characteristics include: • Codebase (optional) • Class file • Width and Height • Jar files (optional)
Content Channel • HTML • Allows the content developer to specify a file containing HTML to be included in the Portal • ASCII • Allows the content developer to specify a file of text that is not to be formatted to be included into the Portal
Content Channel cont’d • Data source location can be either of the following: • File - channel resides on the Portal machine • URL • Channel resides on another machine • Enables you to use technologies like ColdFusion, WebObjects, and PHP, which the Portal doesn’t natively support
Execute Channel • Allows the content developer to specify a program that is executed when the Portal is loaded • This program will generate HTML as its output • The program is passed two arguments: the user’s Penn State Access Account userid and the current tab number • Channel characteristics include: • Program name • Input file (optional) • Output file (optional)
Role Channel • Very similar to an execute channel • Uses LDAP information to determine the user’s role • Based on the role, it will load a particular channel • For example • Career Services • Dickinson School of Law
Affiliate Channel • Can be any one of the channels previously mentioned • Used for channels, whose content will not fit inside of a normal-sized channel • The content will be displayed in a new window
What is RSS? • Rich Site Summary or RSS is an eXtensible Markup Language (XML) based format developed by Netscape for channels that are used in their portal (NetCenter) • RSS defines an XML grammar (a set of HTML-like tags) for sharing news • Each RSS text file contains both static information about your site, plus dynamic information about your news stories, all surrounded by matching start and end tags
RSS Parser • The parser performs the following: • Syntax checks an RSS file to make sure it conforms to the Document Type Definition (DTD) • Performs feature extraction • Generates HTML using the extracted features • Developed using Lex, Yacc and C
Calendaring • The portal currently only supports personal calendaring • The interface provides month, day, and week views • Calendar data is stored is in iCalendar format • rfc2445 - Internet Calendaring and Scheduling Core Object Specification • The Portal uses an open source library called libiCal
Software Development Sun Workshop C Compiler Lex Yacc Awk Sed Perl Bourne Shell Web Server Apache/SSL Mod_Auth_DCE Database IBM DB2 Enterprise Ed. LDAP IBM Secureway Directory Revision Control RCS Calendaring iCal Tools
Future Directions • Development of faculty/staff Portal • Increase Penn State specific Portal content • Drive changes in University business processes • Use this to re-engineer the way electronic information at Penn State is created, disseminated, updated, and presented • Pursue as an open source initiative
OAS Peter deVries Ron Rash Carl Seybold Raytheon Lesley Wills (formerly with OAS) CAC Karen Hackett John Kalbach Steve Kellogg James Leous Jeff Mace Kevin Morooney James Vuccolo CETS Jo Nutter The Portal Team
Wrap Up • Comments • Questions