building a portal framework: the penn state student portal project presented by james leous, program...

32
Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Upload: monica-harmon

Post on 23-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Building a Portal Framework: The Penn State Student Portal Project

Presented By

James Leous, Program Manager

James Vuccolo, Lead Research Programmer

Page 2: 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

Page 3: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Introduction

• What is a portal?

• Why do we need a portal?

• Student Portal vs. Commercial Portals

• Personalization vs. Customization

Page 4: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

What is a portal?

• A software application that aggregates heterogeneous data sources into a cohesive customizable presentation

Page 5: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 6: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 7: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 8: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Portal GUI

• Our First Design

• Main Interface

• Anatomy of a Channel

Page 9: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Our First Design

Page 10: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Main Interface

Page 11: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 12: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Let’s Get Technical

• Data Flow• Authentication• Database• LDAP• User Data Storage• Channels• Calendaring• Tools

Page 13: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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.

Page 14: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 15: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Database

Page 16: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 17: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 18: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 19: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Channels

• Types– Applet

– Content

– Execute

– Role

– Affiliate

• RSS– What is RSS?

– RSS Parser

Page 20: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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)

Page 21: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 22: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 23: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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)

Page 24: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 25: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 26: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 27: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 28: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 29: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 30: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 31: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

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

Page 32: Building a Portal Framework: The Penn State Student Portal Project Presented By James Leous, Program Manager James Vuccolo, Lead Research Programmer

Wrap Up

• Comments• Questions