Web Portal Project CS 526 Class Project - -Lee, Austin -Narayan, Sujeeth -Viswanathan, Arun 1 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 - 2005 Web Portal 2 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 - 2005 Web Portal 3 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 - 2005 Web Portal 4 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 - 2005 Web Portal 5 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 - 2005 Web Portal 6 Portals Survey Survey by: http://portlets.blogspot.com 28 – Apr - 2005 Web Portal 7 Part 2 – uPortal Introduction 28 – Apr - 2005 Web Portal 8 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 - 2005 Web Portal 9 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 - 2005 Web Portal 10 uPortal Sample Screen 28 – Apr - 2005 Web Portal 11 Part 3 - uPortal Architecture 28 – Apr - 2005 Web Portal 12 Architecture Java Servlet Engine Apache Servlet Connector 28 – Apr - 2005 uPortal Framework Java Channels Web Browser Web Portal External Web Resources DB 13 System Requirements Microsoft Windows Solaris Linux Mac OS X 28 – Apr - 2005 Web Portal 14 Software Requirements Sun JDK 1.3 or above Ant 1.5.3 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 - 2005 Web Portal 15 Browser Compatibility Netscape 4 and above Internet Explorer 4 and above Mozilla 5 and above 28 – Apr - 2005 Web Portal 16 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 - 2005 Web Portal 17 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 - 2005 Web Portal 18 Portlet Packaged channel Requires compiled java class(es) Portlet library (lib/portlet-api-1.0.1.jar) Web descriptor (portlet.xml) When finished, package into a JAR file, then rename to .war 28 – Apr - 2005 Web Portal 19 Pushed Fragments A channel forced on a group of users Fragment owner has access to modify settings of a fragment 28 – Apr - 2005 Web Portal 20 Part 4 - Channels 28 – Apr - 2005 Web Portal 21 Channel Types Custom Applet Image Inline Frame Portlet RSS Web Proxy WSRP Consumer XML Transformation 28 – Apr - 2005 Web Portal 22 Channels - Demo 28 – Apr - 2005 Web Portal 23 Individual Explorations 28 – Apr - 2005 Web Portal 24 System Info OS: Fedora Core 3 (2.6.11 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 - 2005 Web Portal 25 Configuration Download zip file Extract Set JAVA_HOME, PATH env variables Start up HSQL server and Tomcat server On browser, http://localhost:8080/uPortal Login as admin, developer, demo, student, faculty, staff 28 – Apr - 2005 Web Portal 26 My Channel A campus news channel (RSS) • current happenings • discussion forums • student comments Weather channel ( WSRP) Usage-tracking functionality (implement?!) 28 – Apr - 2005 Web Portal 27 Individual Explorations 28 – Apr - 2005 Web Portal 28 PayPal Channel - Demo 28 – Apr - 2005 Web Portal 29 MySQL caveat Documentation refers to older version of MySQL and JDBC connector Current version (MySQL 4.1.11 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 - 2005 Web Portal 30 Individual Explorations 28 – Apr - 2005 Web Portal 31 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 - 2005 Web Portal 32 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 - 2005 Web Portal 33 Classifieds Channel - Design Built using XML and Portlets XML Schema used : <Classifieds> <Classified> <Title></Title> <Details></Details> <Link></Link> </Classified> </Classifieds> 28 – Apr - 2005 Web Portal 34 Design (Continue) Portlet JSR -168 Use IPersonal Interface by uPortal for user Identification 28 – Apr - 2005 Web Portal 35 Part 6 - Conclusion 28 – Apr - 2005 Web Portal 36 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 1.5.0 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 - 2005 Web Portal 37 References www.uportal.org www.sakaiproject.org www.cuconnect.colorado.edu www.portlets.blogspot.com www.w3c.org http://people.emich.edu/kmanickam/uportal_2_0_1 /channel_2_0_1.htm www.mysql.com 28 – Apr - 2005 Web Portal 38 Questions ?? 28 – Apr - 2005 Web Portal 39