Download Building a Portal Framework: The Penn State

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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 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 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
Client
Browser
Apache/SSL
Server
CGI Programs
DB2
DFS Storage of
user prefs.
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 HTMLlike 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
• CAC
–
–
–
–
–
–
–
Karen Hackett
John Kalbach
Steve Kellogg
James Leous
Jeff Mace
Kevin Morooney
James Vuccolo
• CETS
– Jo Nutter
• OAS
– Peter deVries
– Ron Rash
– Carl Seybold
• Raytheon
– Lesley Wills (formerly with
OAS)
Wrap Up
• Comments
• Questions