Building a Portal Framework: The Penn State Student Portal Project
description
Transcript of Building a Portal Framework: The Penn State Student Portal Project
Building a Portal Framework: The Penn State Student Portal Project
Presented ByJames 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 vs. Commercial Portals• 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
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
Our First Design
Main Interface
Anatomy of a Channel
Channel Content
Channel Title
Channel Controls
Displays help information.Change channel parameters
Move channel to a tab
Minimize/maximize channel
Remove channel
Let’s Get Technical• Data Flow• Authentication• Database• LDAP• User Data Storage• Channels• Calendaring• Tools
Data Flow
Client Browser
DFS - Storage of user prefs.Apache/SSL
Server
CGI Programs
DB2
DFS - Storage of user prefs.
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
Database
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
Tools• 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
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
The Portal Team• 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
Wrap Up• Comments• Questions