CSDepot Computer Science Department Portal - PowerPoint PPT Presentation

About This Presentation
Title:

CSDepot Computer Science Department Portal

Description:

A webpage aggregating content and applications from disparate sources ... example mutable/CCourse/CS100.xml /example /parameter parameter modify='publish-only' ... – PowerPoint PPT presentation

Number of Views:428
Avg rating:3.0/5.0
Slides: 32
Provided by: SEAG153
Learn more at: http://cs.uccs.edu
Category:

less

Transcript and Presenter's Notes

Title: CSDepot Computer Science Department Portal


1
CSDepotComputer Science Department Portal
  • Final Project Report
  • In partial fulfillment of the requirements for a
  • Masters Degree in Computer Science
  • Presented by
  • Rebecca Twigg
  • For
  • Dr. Edward Chow
  • Dr. Charlie Shub
  • Dr. Tim Chamillard
  • May 30, 2006

2
What is a Portal?
  • A webpage aggregating content and applications
    from disparate sources
  • Content unit is a channel, or portlet
  • uPortal mostly refers to channels - Sun One
    Server term
  • Portlet is an emerging term associated with
    standards JSR-168, WSRP
  • Commercial portal solutions Plumtree, IBM, SAP
    and BEA - high license fees
  • Open-source enterprise portals include Apache
    Jetspeed, eXo, jPorta, Liferay, JBoss

3
What is uPortal?
  • Free open-source J2EE portal framework targeting
    higher education institutions
  • Developed collaboratively by JA-SIG, Princeton,
    Cornell, others ongoing effort
  • Based on J2EE standards, including Java, JNDI,
    JDBC, JSP, Java Servlets, XML, XSLT
  • Many universities have implemented uPortal see
    list at www.uPortal.org

4
The uPortal Framework
  • uPortal is not a portal, but a portal framework
    a reusable design
  • uPortal provides a skeletal set of Java classes,
    XML and XSL files from which a custom campus
    portal can be developed
  • Not intended as a turnkey solution
  • uPortal documentation on wiki at JA-SIGs
    website
  • http//www.ja-sig.org/wiki/homepage.action

5
System Requirements
  • Server Any platform that can run Java 2 Runtime
    Environment
  • - CSDepot tested with Windows XP, Linux, UNIX
  • - uPortal also implemented on Solaris,
  • MacOS X.
  • Browser CSDepot tested with IE 6.0, Netscape 8.1
  • Development Requires Java Development Kit
  • - JDK 1.4 Standard Edition
  • - Versions 1.4.2_08, 1.4.2_10, 1.4.2_11 work

6
XML
  • Transient portal data
  • Can be thought of as tree structure
  • XML sources
  • - Built from portal database data (e.g. layout
    structures)
  • - Written in Java classes
  • - Stored on application server as XML file
  • - Accessed from external source, e.g. as RSS
    stream

7
XSLT
  • Transforms XML from one tree structure to another
  • Involves selection of node or set of nodes in XML
    tree
  • Performs processing on selected nodes/nodesets to
    produce transformed XML tree
  • Portal layouts undergo first a structure
    transformation to produce initial structure, e.g.
    tab-column structure for HTML browsers
  • Layouts then undergo a theme transformation using
    XSLT stylesheets to produce mark-up, e.g. XHTML,
    read by browser

8
CSDepot
  • Prototype portal developed for UCCS Computer
    Science Department
  • Implements and extends uPortal framework
  • Holistic extensions include
  • - Statistics tracking
  • - Editable channels
  • - Editing permissions
  • - Per-channel publishing permissions
  • UCCS skin, layouts and portal users
  • CSDepot application can be viewed at
    https//wind.uccs.edu/CSDepot

9
Statistics Tracking
  • StatsRecorder service is started when portal is
    initialized with new session creation,
    StatsListener is added
  • When portal user adds a new channel to layout,
    instantiates a channel or targets a channel,
    channel-specific entry is created in HashTable in
    RDBMStatsRecorder.
  • When user logs out, database table
    UP_CHANNEL_STATS is updated with HashTable
    contents.
  • Channel must have statistics tracking enabled to
    track statistics
  • Design optimizations decisions
  • 1) Statistics only recorded in database when
    user logs out saves time and database
    connections
  • 2) Statistics only recorded for channels
    tracking stats saves space, also time

10
New CSDepot Channels
  • Department Message - implements new Message
    channel type
  • Course Information channels implements new
    Course channel type
  • Graduate Application
  • Statistics Manager reports statistics

11
Department Message Channel
  • Implements new Message channel type
  • Channel is editable by users with editing
    permissions
  • Access is controlled via presence/absence of edit
    button
  • GenericXSLT as base, adding code to channel to
    handle edit event
  • If edit event is received, edit form displayed
  • New XML file is re-created each time message is
    edited

12
Department Message Editing
13
Course Information Channel
  • Implements new Course channel type
  • Implements inter-channel communication from
    uPortal ICC demo
  • Uses JNDI context and event handlers to
    communicate
  • Viewer channel is registered as a listener in
    course channels ICCRegistry
  • ViewerURL object is bound in viewer channels
    JNDI context
  • When link is selected in course channel, URL is
    passed to viewer channels JNDI context
  • Event causes viewer channel to retrieve bound
    ViewerURL object and update display
  • Hyperlink text and underlying URL values can be
    edited by course instructor
  • Other course information can also be edited

14
Course Information Channel - Editing
15
Course Information Channel - Viewing
16
Graduate Application Channel
  • Deferential view based on editing permissions
  • Guests can submit new graduate application online
  • Applicants can later check their application
    status
  • Department administrators and graduate committee
    members have edit permissions
  • Are presented with list of applicants
  • Can select individual applicant and view details,
    update transcript and/or application status
  • When status of an application is updated to
    Transcripts Received, graduate committee
    members are notified that new applicant is ready
    for evaluation

17
Graduate Application Channel Guest View
18
Graduate Application Channel Department
Admin/Graduate Committee List View
19
Graduate Application Channel Department
Admin/Graduate Committee Detailed View
20
Statistics Manager Channel
  • Displays usage statistics for all channels
  • List shows total times channel has been
    instantiated and targeted
  • Channel is instantiated when user clicks tab on
    which channel is located
  • Channel is targeted when user interacts with
    channel, e.g. clicks link, button, etc.
  • Details provide list of users who have accessed a
    channel
  • Users access count totals
  • Dates of most recent accesses
  • Statistics caching is available as option in
    portal.properties file
  • Enabled provides faster performance, but wont
    show current statistics until Servlet container
    is rebooted
  • Caching occurs at document and channel levels
  • Default is caching disabled

21
Statistics Manager Channel List View
22
Statistics Manager Channel Detailed View
23
New Channel Types
  • Course and Message channels have respective new
    channel types
  • New .cpd file results in creation of
    type-specific steps
  • Steps seen during publishing via Channel Manager
    channel
  • Course channel also has extra Course Info step
    before General Settings step
  • Entering course information results in the
    pre-population of several publishing step forms

24
New Course and Message Channel Types in Channel
Manager
25
Course Channel Type CPD
  • ltchannelDefgt
  • ltdescriptiongt
  • This is a channel which allows the creation
    of a customizable course channel.
  • lt/descriptiongt
  • ltclassgtorg.jasig.portal.channels.CCourselt/classgt
  • ltparamsgt
  • ltstepgt
  • ltIDgt1lt/IDgt
  • ltnamegtChannel Parameterslt/namegt
  • ltdescriptiongt
  • Enter the course number and name in the
    form below.
  • lt/descriptiongt
  • ltparameter modify"publish-only"gt

26
Course Channel Type Course Info Step
27
CSDepot Access Control
  • New CSDepot channels implement role-based
    security
  • Security is determined by user group
    permissions to portal activity for each channel
  • Activities include subscribe, publish and edit
  • New to CSDepot All editing permissions
  • uPortal 2.4.1 All-or-nothing publishing
    permissions
  • New to CSDepot Channel-specific publishing
    permissions
  • For example, allows instructors to change channel
    definition of their channels track statistics,
    assign channel subscription permissions, etc.

28
Access Control - Message and Course channels
  • Editing is controlled, only users/groups with
    permission to edit may edit channel
  • Department Message anyone in dchair group can
    edit
  • Course channels instructor can edit
  • Edit button is present if channel is editable AND
    user has editing permissions
  • These are checked when user layout XML is created
    and when user adds channel to layout
  • Controlled via new channel XML attribute
    isUserEditable
  • If isUserEditaable set to true, edit button is
    added during theme transformation

29
Access Control Graduate Application
  • Deferential view controlled via editing
    permission assigned to user/group
  • Channel is not defined as editable, so edit
    button does not appear in channel title bar
  • Overloading of editing permissions
  • If user/group has editing permissions, options
    presented are those to show applicant lists
  • Otherwise options are to apply or check
    application status (current portal user only)

30
Access Control Statistics
  • Reporting controlled by permission to subscribe
    to Statistics Manager channel
  • Tracking controlled by Boolean channel statistics
    tracking flag

31
Conclusion
  • CSDepot provide a working prototype for further
    study and development
  • UCCS has been investigating uPortal for almost a
    year
  • Pros
  • Inexpensive portal solution framework student
    labor is free
  • Provides ability to implement large degree of
    customization
  • Flexible Java offers platform independent code
    XML/XSLT offer data independence
  • Cons
  • Steep learning curve many technologies to
    learn
  • Java, Servlets, JSP, JDBC, JNDI, XML, XSLT, SQL,
    JavaSript, XHTML, Tomcat, Ant
  • Possibly also WML, UDDI, SOAP, WSRP-Portlets,
    JSR-Portlets
  • Application itself contains large number of files
    - 12,300 files in development package (including
    Tomcat, Ant and HSQL)
Write a Comment
User Comments (0)
About PowerShow.com