1 Web Portal Project - - Lee, Austin - Narayan, Sujeeth - Viswanathan, Arun CS 526 Class Project
28 – Apr Web Portal 2 Agenda Part 1 – Portals Introduction Part 2 – uPortal Introduction Part 3 – uPortal Architecture Part 4 – Channels Part 5 – Individual Explorations Part 6 - Conclusion
28 – Apr Web Portal 3 Motivation Yes!! Portal jobs in market!! Middleware Technologies – Portlets, WebServices, XML, CSS,… CU-Boulder has implemented. UCCS too.. Bigger team size, different experiences and more learning
28 – Apr Web Portal 4 What is a Portal ? Portals wrap an organization’s documents and applications in a single web interface that provides distributed access, cross-platform usability, personalization, management, and security features.
28 – Apr Web Portal 5 List of Portal Features Categorization of content (taxonomy) Content management & aggregation Personalization Robust application integration Development tools Mobile/wireless support Single Sign-On Security
28 – Apr Web Portal 6 Available Portals Open Source Portals with Java eXo JetSpeed – Apache WebSphere Portal – IBM uPortal - JASIG Open Source Portals with Microsoft Technologies DotNetNuke Rainbow Others PHPNuke, Microsoft Share Point, Oracle Portal, Peoplesoft Portal,..
28 – Apr Web Portal 7 Portals Survey Survey by:
28 – Apr Web Portal 8 Part 2 – uPortal Introduction
28 – Apr Web Portal 9 What is uPortal ? Developed under JA-SIG (Java in Administration Special Interest Group) by institutions of higher-education including Princeton, Yale, and University of Delaware An open source, open standards effort built upon Java, XML, XSL, JSP, J2EE, and JDBC More of a framework for building custom portals than a proper portal
28 – Apr Web Portal 10 uPortal extended - SAKAI Developed by Universities – MIT, Stanford, Indiana and O.K.I SAKAI = Collaboration & Learning Environment Includes : Course Management System Research collaboration system Tool Portability Profile Tool – standard for future educational application SEPP – Sakai Education Partners Program
28 – Apr Web Portal 11 uPortal Sample Screen
28 – Apr Web Portal 12 Part 3 - uPortal Architecture
28 – Apr Web Portal 13 Architecture
28 – Apr Web Portal 14 System Requirements Microsoft Windows Solaris Linux Mac OS X
28 – Apr Web Portal 15 Software Requirements Sun JDK 1.3 or above Ant or above (Java build tool) Servlet Container/Engine compatible with Servlet 2.2 and JSP 1.1 API (Tomcat 3.3.2) JDBC Compliant Database (Hypersonic SQL)
28 – Apr Web Portal 16 Browser Compatibility Netscape 4 and above Internet Explorer 4 and above Mozilla 5 and above
28 – Apr Web Portal 17 J2EE The portal architecture can take advantage of the J2EE services provided by the Web Container. Can use JMS, JTA as available Can handle Applets, Servlets, JSP pages
28 – Apr Web Portal 18 Custom Channel Creation Custom channels are written in Java: CHelloWorld.java CHelloWorld.ssl (stylesheet) normal_explorer.xsl normal_netscape.xsl about.xsl (optional)
28 – Apr Web Portal 19 Portlet Packaged channel Requires compiled java class(es) Portlet library (lib/portlet-api jar) Web descriptor (portlet.xml) When finished, package into a JAR file, then rename to.war
28 – Apr Web Portal 20 Pushed Fragments A channel forced on a group of users Fragment owner has access to modify settings of a fragment
28 – Apr Web Portal 21 Part 4 - Channels
28 – Apr Web Portal 22 Channel Types Custom Applet Image Inline Frame Portlet RSS Web Proxy WSRP Consumer XML Transformation
28 – Apr Web Portal 23 Channels - Demo
28 – Apr Web Portal 24 Individual Explorations
28 – Apr Web Portal 25 System Info OS: Fedora Core 3 ( kernel) Processor/Memory: Pentium 4, 256 MB Browser: Mozilla Firefox v1.0.3 uPortal Quick Start v2.4.2 JDK v1.4.2 & v1.5.0
28 – Apr Web Portal 26 Configuration Download zip file Extract Set JAVA_HOME, PATH env variables Start up HSQL server and Tomcat server On browser, Login as admin, developer, demo, student, faculty, staff
28 – Apr Web Portal 27 My Channel A campus news channel (RSS) current happenings discussion forums student comments Weather channel ( WSRP) Usage-tracking functionality (implement?!)
28 – Apr Web Portal 28 Individual Explorations
28 – Apr Web Portal 29 PayPal Channel - Demo
28 – Apr Web Portal 30 MySQL caveat Documentation refers to older version of MySQL and JDBC connector Current version (MySQL and MySQL-JDBC-Connector 3.1.8) uses different naming schemes when you modify dbloader.xml, names and versions must be exact! (see JdbcExample1.java)
28 – Apr Web Portal 31 Individual Explorations
28 – Apr Web Portal 32 Classifieds Channel Goals: Enable users to have a separate classifieds channel It could be either push-fragment or user subscription Classifieds publish time frame Customizable by user Only Titles and Link (View) Title and Details (View) Subscribe to interested Categories – Cars, Rental
28 – Apr Web Portal 33 Classifieds - Roles Admin Channel Admin Content Manager Time Frame Manager Request User Fill in the content details and time period General Users Subscribe to the channel
28 – Apr Web Portal 34 Classifieds Channel - Design Built using XML and Portlets XML Schema used :
28 – Apr Web Portal 35 Design (Continue) Portlet JSR -168 Use IPersonal Interface by uPortal for user Identification
28 – Apr Web Portal 36 Part 6 - Conclusion
28 – Apr Web Portal 37 Lessons Learnt uPortal documentation refers to old versions, and/or is incomplete JDK 1.4 or higher....but JDK 1.5.0? RSS Portlet example fails to render with CLASSPATH is also necessary when using the JDBC database connector JAR Environment variable setting Set them once-and-for-all Running uPortal First time, start both servers as root user Subsequent startup, no need to be root Not mentioned in README!! Modify ant.bat (or ant.sh) with fixed path of Ant folder. Use ‘ant deploy’ in uportal folder to recompile java for your JDK!
28 – Apr Web Portal 38 References /channel_2_0_1.htm
28 – Apr Web Portal 39 Questions ??