INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Develop and Deploy JSR-168 Portlets Presented by:

Slides:



Advertisements
Similar presentations
MS Access Reporting (BOF) Evaluation Code 303 Bruce Knox University of Arkansas Cooperative Extension Service Bruce Loving University of North Carolina.
Advertisements

Pennsylvania Banner Users Group 2008 Fall Conference Banner 8.0 Upgrade Banner 8.1 Requirements and Tips.
SCT Banner ® Advancement Self-Service Gerald A. Lennon Lehigh University Session Date and Time Tue, October 28, :45am-12:15pm.
Struts Portlet Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Struts Portlet Adding an Action Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without.
Apache Struts Technology
A Blackboard Building Block™ Crash Course for Web Developers
March 7, 2005 SCT Luminis and Wayne’s World! Presented by: Genetha Smith, Wayne State University Eric Dau, Wayne State University Morris Reynolds, Wayne.
Evaluation Code 036 Wednesday, 9:00 a.m. – 10:00 a.m. March 31, 2004 STARS Student Tracking & Advising Presented by: Robert Berman, William Hill, Wayne.
A Community of Learning SUNGARD SUMMIT 2007 | sungardsummit.com 1 Password Manager Using Luminis APIs Presented by: Ron Romao Savannah College of Art and.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Starting with Gridsphere Albert Einstein Institute Gridsphere Installation.
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. Banner Training and Help Desk Post Go-Live Becky.
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Your Campus Can Enter Time Using Banner Tanya Wickersham,
Indianapolis Java User Group JSR-168 Portal Presentation Introduction: Kurt Desserich.
Portlet Deployment Albert Einstein Institute Deploying JSR portlet applications to GridSphere.
Java Portlets (JSR-168) SSE USTC Qing Ding.
Objectives:1. Investigate the Web application deployment descriptor 2. Install and deploy Tomcat and struts 3. Design and deploy a struts application Struts.
JSR-168 Portlets and uPortal Matt Young
Tomcat Configuration A Very, Very, Very Brief Overview.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Portals and portlets Sean C. Sullivan October 24, 2006 Portland Java Users Group.
Java Servlets and JSP.
COMS 6125 –Student Presentation Series Web PORTAL Enhanced Information Management Sabyasachi Patjoshi sp2705atColumbiadotEdu
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Introduction to MS ® Access for SCT Banner ® Users Evaluation Code 607 Sarah Lawrence and Malinda Richbourg University of North Carolina at Greensboro.
Argos - Moving into the Community Presented by: Bruce Knox University of Arkansas Division of Agriculture Cooperative Extension Service March 23, 2009.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
Apache Tomcat Web Server SNU OOPSLA Lab. October 2005.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Luminis and external Presented by:
Indianapolis Java User Group Portal Presentation - Part 2 Introduction: Kurt Desserich.
WebCAPP Kimberly A Saving-Sherman SunGard SCT. 2 Agenda u WebCAPP Preview u Self Service for Students u Self Service for Faculty & Advisor u WebCAPP Implementation.
A Community of Learning Luminis Platform Workshop Creating a Personal User Experience Presented by: Steven Forman, SunGard Higher Education March 20 th,
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Class Title Presented by: Presenter name(s), Institution(s)
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. Improving Web Usability with a Content Management.
Guidelines for Homework 6. Getting Started Homework 6 requires that you complete Homework 5. –All of HW5 must run on the GridFarm. –HW6 may run elsewhere.
111 Java Servlets Dynamic Web Pages (Program Files) Servlets versus Java Server Pages Implementing Servlets Example: F15 Warranty Registration Tomcat Configuration.
Introduction to Java Server Pages (JSPs) Robert Thornton.
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
J2EE Overview Web Programming CSCI J2EE multi-tier architecture Servlet: Java class loaded into Web server JSP page: enhanced HTML page that is.
Chapter 6 Server-side Programming: Java Servlets
A Community of Learning SUNGARD SUMMIT 2007 | sungardsummit.com 1 Extending SSO – CAS in Luminis Presented by: Zachary Tirrell Plymouth State University.
A Community of Learning Moving Forward with Luminis IV Presented by: Dan Bramer Plymouth State University March 20, 2007 Evaluation Code 1011.
A Community of Learning SUNGARD SUMMIT 2007 | sungardsummit.com 1 LEAPing with Luminis Presented by: Bob Coon Luminis Technical Services SunGard Higher.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Application Specific Module Tutorial Akos Balasko 02/07/
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. Improving Web Usability with a Content Management.
JSR 168 Overview Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Portlets 1.
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Peek-A-Portal: Part Two Hosted by: Doug Ruschman.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) The EPIKH Project Riccardo Rotondo
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
© MIT 2000 Building Web Applications With Webjects Michael D. Barker The MIT Educational Media Creation Center November 2001.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
HTTP protocol Java Servlets. HTTP protocol Web system communicates with end-user via HTTP protocol HTTP protocol methods: GET, POST, HEAD, PUT, OPTIONS,
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Grid Initiatives for e-Science virtual communities in Europe and Latin America Riccardo Rotondo
The EPIKH Project Portlet Develop Introduction Riccardo Rotondo Consortium GARR Tutorial per l’integrazione.
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. Improving Web Usability with a Content Management.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Web Application Development Introduction to application servers, web applications and portlets.
Introduction to portlet development Carla Carrubba INFN Dpt. Of Catania Giuseppina Inserra
Course Outcomes of Advanced Java Programming AJP (17625, C603)
Sri Vatsav Konreddy CIS 764 FALL 2007
MBUG 2018 Session Title: Banner Extensibility - Page Builder
Java Servlets and JSP.
Introduction to Java Servlets
MBUG 2019 Session Title: Banner Extensibility - Page Builder
Presentation transcript:

INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Develop and Deploy JSR-168 Portlets Presented by: Bob Mitchell, Indiana University Purdue University Fort Wayne April 14, 2008 Course ID 0542

2 Session Rules of Etiquette Please turn off or silence your cell phone/pager If you must leave the session early, please do so as discreetly as possible Please avoid side conversations during the session Thank you for your cooperation!

3 Course ID 0542 Agenda What and Why Developing Portlets Deploying Portlets in Luminis

INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 4 What and Why And maybe why not

5 Course ID 0542 What are Portlets Standard Java Technology for the component of a portal Same basic functionality as Channels Defined by the Java Community Process JSR-168 Next generation currently being defined in JSR-286

6 Course ID 0542 Portlets in Luminis New feature of Luminis IV Implementation Container framework is Pluto (RC2) uPortal portal side implementation (PortletChannel) Open Source Implementation

7 Course ID 0542 Why Use Portlets Standard Abstraction of Features Security uPortal/Luminis Evolution: Currently channels primary Future uPortal release will make Portlets primary Luminis moving towards standards

8 Course ID 0542 Why Not Use Portlets Lack of Documentation E.g. mapping between Portlet security and Luminis roles Lack of Tools No deployment tool in Luminis: supposed to be in IV.1 Lack of Integration Portlets are not part of uPortal/Luminis web application Difficult to interact with core uPortal/Luminis features This presentation will help with first two issues.

INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 9 Developing Portlets with Luminis/uPortal specifics

10 Course ID 0542 General Portlet Development Create Web Application /WEB-INF/server.xml required, but may be nearly empty Create Portlet Class Usually subclass of GenericPortlet Override at least doView To support edit and help modes override doEdit and doHelp If the portlet supports updates, override processAction For initialization and shutdown, override init and destroy Create Needed Resources JSP pages for actual rendering Graphics Resource Bundles Create /WEB-INF/portlet.xml

11 Course ID 0542 Simple Example: Code HelloWorldPortlet.java … public class HelloWorldPortlet extends GenericPortlet { protected void doView(RenderRequest req, RenderResponse resp) throws PortletException, IOException { PortletContext pc = getPortletContext(); pc.getRequestDispatcher("/WEB-INF/jsp/HelloWorld/view.jsp"). include(req, resp); } } /WEB-INF/jsp/HelloWorld/view.jsp page language="java" contentType="text/html; charset=UTF-8" pageEncoding=“UTF-8"%> Hello World!

12 Course ID 0542 Simple Example: Deployment Descriptors /WEB-INF/web.xml <web-app xmlns:xsi=" xmlns=" xsi:schemaLocation=" version="2.4"> hello world application

13 Course ID 0542 Simple Example: Deployment Descriptors /WEB-INF/portlet.xml <portlet-app version="1.0" xmlns=" xmlns:xsi=" xsi:schemaLocation=" app_1_0.xsd "> HelloWorld edu.ipfw.portlet.hello.HelloWorldPortlet text/html Hello World

14 Course ID 0542 Portlet Lifecycle Model One Portlet Object Per Portlet Definition Per Context Init() and destroy(): Startup and Shutdown processAction Called on “action URL” Handles state changes renderResponse Called to create output GenericPortlet implementation calls doView, doEdit, or doHelp based on PortletMode PortletRequest and PortletResponse Similar to ChannelRuntimeData Passed to both processAction and renderResponse Sub-classed for action (ActionRequest) vs. render (RenderRequest)

15 Course ID 0542 Portlet Mode and State PortletMode Standard modes VIEW, EDIT, and HELP EDIT and HELP map to uPortal edit and help buttons uPortal about button not supported uPortal has no non-standard modes WindowState Standard states are NORMAL, MINIMIZED, and MAXIMIZED Supported by uPortals buttons. uPortal has no non-standard states

16 Course ID 0542 Portlet Rendering Content Type Must be set (can be set by included Servlet/JSP) uPortal only supports text/html (HTML or XHTML) Portal URLs Action URLs RenderResponse.createActionURL Render only URLs RenderResponse.createRenderURL Mode and state changes invoked by adding to URL Parameters can also be added Internationalization ResourceBundle part of portlet configuration Includes default portlet title for GenericPortlet HelloWorld portlet uses alternative configuration

17 Course ID 0542 Portlet Rendering (continued) HTML Styles Portlet specification recommends portable HTML classes Luminis/uPortal does not have these in its style sheets Javascript RenderResponse.getNamespace as a name prefix or suffix Including Portlet Application Graphics, etc: Cannot use path relative URLs PortletRequest.getContextPath gives the root for the URL Use PortletResponse.encodeURL to encode the result Using Servlets (including JSPs) PortletContext.getRequestDispatcher or getNamedDispatcher JSPs are a great way to render a portlet Can use portlet tag library

18 Course ID 0542 User Attributes Accessing: PortletRequest.getAttribute(PortletRequest.USER_INFO) Map with attribute name key Portlet specification defines standard names Standard for given name is user.name.given Must Be Declared in portlet.xml uPortal Implementation Names and values are same as attribute on IPerson Defined in PersonDirectory.xml Portlet names are not in uPortal or Luminis configuration Can be added, or can use uPortal/Luminis names

19 Course ID 0542 Portlet Attribute Names in uPortal/Luminis Adding user.name.given to Luminis: Locate given name mapping in PersonDirectory.xml: urn:mace:dir:givenName Make LDAP attribute map to a set of attributes: urn:mace:dir:givenName Add user.name.given to the set: urn:mace:dir:givenName user.name.given Alternative: Use Name urn:mace:dir:givenName

20 Course ID 0542 Portlet State Portlets Are An Application Object Unlike channels, cannot store state in Portlet Equivalent is “Portlet Window” – not an object Request, Session, Context Attributes setAttribute method in PortletRequest, PortletSession, and PortletContext Session state can be portlet window only or application Request state not visible to calling portal Persistent State: Portlet Preferences PortletRequest.getPreferences No equivalent channel feature Portlet window specific Luminis/uPortal stores in database

21 Course ID 0542 Portlet Security Simple Security Model Uses roles defined in web.xml Declarative Security Restrict portlet access by role in portlet.xml Programmatic Security Use PortletRequest.isUserInRole to determine roles Can also do security based on user name Mapping to Luminis Roles Portlet roles map to uPortal GroupService keys Luminis group service names are lower case For Luminis, use the namespace ‘sct’ For example: the Student role is named ‘sct.student’

INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 22 Deploying Portlets Luminis instructions, tips, and tricks

23 Course ID 0542 Pluto/uPortal Deployment Model Pluto Portlet Container Wraps Portlets in a special Servlet Modifies portlet applications web.xml during deployment Requires Portal to find portlets uPortal Implementation Distribution includes ant deployPortletApp target Modifies web.xml as needed Always generates a Servlet 2.3 web.xml Application must be deployed to same directory as uPortal Application’s context name must be same as directory name

24 Course ID 0542 Luminis Deployment Requirements Same as Pluto/uPortal No deployment tool (scheduled for Luminis IV.1) Application must be $CP_ROOT/webapps Modifying web.xml Download uPortal and use its deployment tool Alternative: Hand create servlet entries Tomcat Deployment Enables Tomcat to find application Documentation says put copy in $CP_WEB_ROOT/webapps Alternative: Context file in $CP_WEB_ROOT/conf/Catalina/localhost Channel Definition To be used a channel must be defined for the portlet

25 Course ID 0542 Luminis Deployment Example Create WAR File helloWorld.war Run uPortal Deployment ant deployPortletApp –DportletApp=helloWorld.war Will deploy to configured directory (Optional) Restore Servlet Version Change: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " For Hello World: Remove DOCTYPE declaration, restore namespace declaration and version attribute.

26 Course ID 0542 Luminis Deployment Example (Continued) Deploy to Luminis: cd cp -r helloWorld $CP_ROOT/webapps Deploy to Tomcat: Create helloWorld.xml: Copy to $CP_WEB_ROOT/conf/Catalina/localhost For Parallel Deployment: Must be deployed on all portal tier machines Restart Luminis Or at least the webserver On all portal tier machines Need so uPortal will find the new portlet application

27 Course ID 0542 Luminis Deployment Example (Continued) Create Portlet’s Channel Use Portal Admin ->Publish a new channel Type “Portlet” Portlet Definition ID is. E.g. helloWorld.HelloWorld If you used Portlet Preferences, you can define default values. Enable Help or Edit buttons if those modes are supported. Other values are like any other channel.

28 Course ID 0542 Summary Portlets are standardized Portlets are the future Portlet support in Luminis IV is incomplete Portlets are fun

29 Course ID 0542 Questions & Answers If you have not asked yet, now is the time.

30 Course ID 0542 Thank You! Bob Mitchell Please complete the online class evaluation form Course ID 0542 SunGard, the SunGard logo, Banner, Campus Pipeline, Luminis, PowerCAMPUS, Matrix, and Plus are trademarks or registered trademarks of SunGard Data Systems Inc. or its subsidiaries in the U.S. and other countries. Third-party names and marks referenced herein are trademarks or registered trademarks of their respective owners. © 2008 SunGard. All rights reserved.