CSDepot Computer Science Department Portal

Slides:



Advertisements
Similar presentations
A Blackboard Building Block™ Crash Course for Web Developers
Advertisements

UWCalendar 2 1 Communication & Collaboration Technologies Rensselaer Polytechnic Institute June 21, 2004 Rensselaer and UWCalendar2 an institute-wide open-source.
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
DT228/3 Web Development Introduction to Java Server Pages (JSP)
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
UPortal System Architecture. System Requirements Microsoft Windows Solaris Linux Mac OS X.
1 Statistics Tracker Channel Design As part of CSDepot Master’s Project In partial fulfillment of requirements for Master’s Degree Presented by Rebecca.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
UPortal: A framework for the Personalization of Library Services John Fereira: Programmer/Analyst Cornell University Mann Library.
Developing the NSDL User Portal Dean Krafft, Cornell University
1 Web Portal Project - - Lee, Austin - Narayan, Sujeeth - Viswanathan, Arun CS 526 Class Project.
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee.
Understanding and Managing WebSphere V5
Web 2.0: Concepts and Applications 2 Publishing Online.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Product Evaluation ADP E-Time Enterprise Kronos Workforce Central.
Semantic Sensor/Device Description System EEEM042-Mobile Applications and Web Services Assignment- Spring Semester 2015 Prof. Klaus Moessner, Dr Payam.
Getting started on informaworld™ How do I register my institution with informaworld™? How is my institution’s online access activated? What do I do if.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
Using the SAS® Information Delivery Portal
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter.
Microsoft FrontPage 2003 Illustrated Complete Finalizing a Web Site.
1.Getting Started 2.Modifying Design 3.Page 4.News 5.Events 6.Photo Gallery 7.Newsletter Index Training 15 th Mar., 2011.
UPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Running Kuali: A Technical Perspective Ailish Byrne - Indiana University Jay Sissom - Indiana University Foundation.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
Wiki Training: Introduction to Instructor: Zach Silveira (415)
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
IPortal Bringing your company and your business partners together through customized WEB-based portal software. SanSueB Software Presents iPortal.
XP 1 New Perspectives on XML Binding XML Data with Internet Explorer.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Reports and Learning Resources Module 5 1. SLMS Primary Administrator Training Module 5: Reports and Learning Resources 2.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
Using Ajax to Improve uPortal User Experience Jen Bourey Yale University
Content Management System Copyright © 2005 Liferay, LLC All Rights Reserved. No material may be reproduced electronically or in print without written permission.
CSC350: Learning Management Systems COMSATS Institute of Information Technology (Virtual Campus)
Imagining a Community Source Student Services System Leo Fernig Richard Spencer SOA Workshop Vancouver March 24, 2006.
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
11/14/00Copyright © Yale University1 uPortal: A Java Based Portal Framework A Project of JA-SIG ( Presented by: Susan Bramhall,
Www2.computer.org Web Publishing Training Leo Wadsworth, Staff Manager April 2008.
Jetspeed David Giaretta. Jetspeed Open Source Apache projectOpen Source Apache project Written in JavaWritten in Java Supports Portal API (JSP 168)Supports.
Prepared by Jim Farmer for the JA-SIG UK Meeting Monday, 26 January, 2004 University of Birmingham, United Kingdom The uPortal Roadmap.
The Jetspeed Portal Bluesunrise.com and The Apache Software Foundation January 28, 2002 From
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Cognos Connection and Cognos Portal Services Cognos 8 BI.
The Holmes Platform and Applications
Labs: Create, deploy and test a simple web service
Your Name Proposal Creation Module 5 Your Name
Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals Wikis are collections of searchable,
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
Web Portal Project.
Creating Novell Portal Services Gadgets: An Architectural Overview
Database Driven Websites
uPortal: architecture and features
The uPortal Roadmap uPortal Software Developers Meeting
SDMX IT Tools SDMX Registry
Presentation transcript:

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

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

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

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-SIG’s website: http://www.ja-sig.org/wiki/homepage.action

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

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

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

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

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

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

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

Department Message – Editing

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 channel’s ICCRegistry ViewerURL object is bound in viewer channel’s JNDI context When link is selected in course channel, URL is passed to viewer channel’s 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

Course Information Channel - Editing

Course Information Channel - Viewing

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

Graduate Application Channel – Guest View

Graduate Application Channel – Department Admin/Graduate Committee List View

Graduate Application Channel – Department Admin/Graduate Committee Detailed View

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 User’s access count totals Dates of most recent accesses Statistics caching is available as option in portal.properties file Enabled provides faster performance, but won’t show current statistics until Servlet container is rebooted Caching occurs at document and channel levels Default is caching disabled

Statistics Manager Channel – List View

Statistics Manager Channel – Detailed View

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

New Course and Message Channel Types in Channel Manager

Course Channel Type CPD <channelDef> <description> This is a channel which allows the creation of a customizable course channel. </description> <class>org.jasig.portal.channels.CCourse</class> <params> <step> <ID>1</ID> <name>Channel Parameters</name> Enter the course number and name in the form below. <parameter modify="publish-only"> <name>xmlUri</name> <label>XML URI</label> <type base="string" input="text" display="text"> <length>40</length> <maxlength>2000</maxlength> </type> <example>mutable/CCourse/CS100.xml</example> </parameter> <name>instructor</name> <label>Instructor Username</label> <length>25</length> <maxlength>35</maxlength> <defaultValue>400</defaultValue> </step> </params> <controls> <control type="edit" include="yes" override="no"/> <control type="about" include="no" override="no"/> <control type="help" include="no" override="no"/> </controls> </channelDef>

Course Channel Type – Course Info Step

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.

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

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)

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

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)