Leveraging DLM Processors JA-SIG 2009 Conference, Dallas Monday, March 2, 2009, 2:00PM-3:00PM Tim Carroll University of Illinois.

Slides:



Advertisements
Similar presentations
A Toolbox for Blackboard Tim Roberts
Advertisements

Tom Sheridan IT Director Gas Technology Institute (GTI)
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
HyperContent 2.0 JA-SIG Winter Conference December 5, 2005 Alex Vigdor, Columbia University.
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Managing Content in uPortal Susan Bramhall Yale University ITS Technology and Planning.
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.
Searching uPortal with a third party Search Engine Katya Sadovsky University of California, Irvine Administrative Computing Services
JA-SIG Summer Conference, 2006 Experiences upgrading uPortal Panelists: Katya Sadovsky (UC Irvine) Adam Rybicki (Unicon) Susan Bramhall (Yale) Steve Barrett.
The LTI Protocol An Opportunity for Deep Integration into the LMS.
Microsoft SharePoint 2010 Upgrade Preview FSU SharePoint Users Group Presents: Thursday, December 1 st, 2011.
INCOSE.ORG MIGRATION SharePoint 2013 Presented by Betty Morimoto.
Monitoring uPortal - First Steps to Heartbeat and Usage Statistics JA-SIG 2009 Conference, Dallas Wednesday, March 4, 2009, 8:30AM-9:30AM Tim Carroll University.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
UPortal 3 – What's New? JA-SIG Conference, Spring 2008 uPortal What's New? Eric Dalquist University of Wisconsin - Madison.
November 24, 2005 JA-SIG UK, Edinburgh CMS for websites & portals - Luminis & Documentum Presented by: David Simpson, The University of Nottingham.
Training Course 2 User Module Training Course 3 Data Administration Module Session 1 Orientation Session 2 User Interface Session 3 Database Administration.
39 Copyright © 2007, Oracle. All rights reserved. Module 39: Siebel Task UI Siebel 8.0 Essentials.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 12: Deploying and Managing Software with Group Policy.
Building a UI with Zen Pat McGibbon –Sales Engineer.
Lesson 4: Using HTML5 Markup.  The distinguishing characteristics of HTML5 syntax  The new HTML5 sectioning elements  Adding support for HTML5 elements.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
1 The following presentation is from the Oracle Webcast “What’s New in P6 EPPM Release 8.1.” As a partner, you may not use the Oracle Power Point template,
1 Successful Ingredients and zShell Josten Ma 12 March 2008.
EQUELLA Product Strategy and Development
Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter.
Portlets in uPortal uPortal Domain Objects Portlet Application Deployment Portlet Deployment –Information from portlet.xml file Portlet Application Definition.
UPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006.
DLM: The uPortal Pushmi-Pullyu JA-SIG with Altitude, Denver 2007 Susan Bramhall,Yale University Jim Helwig, University of Wisconsin-Madison.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
HyperContent 2.0 Common Solutions Group September 21, 2005 Alex Vigdor, Columbia University.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
UPortal Presentation Layer For FLUID Summit September 27, 2007 Susan Bramhall, Yale University
UPortal 3JA-SIG Summer Conference 2006 uPortal 3.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Using Ajax to Improve uPortal User Experience Jen Bourey Yale University
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
Justin Tilton uPortal Framework and User Interface Demonstration.
UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.
11/14/00Copyright © Yale University1 uPortal: A Java Based Portal Framework A Project of JA-SIG ( Presented by: Susan Bramhall,
WikiPlus Configurations Configure WikiPlus elements to your needs.
Creating Google Sites Laura Assem, Director of Technology.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
VERSION 12.5 HIHGLIGHTS Lead Developer - Rob Nikkel.
SC Demo Training. 2 LiveOps Training Curriculum Overview SALES Courses (SC) – SC101 – LiveOps Basic Sales Training Class – SC102 – LiveOps Advanced.
UPortal 2.6 Status Update Andrew Petro uP dev 24 April 2007 © Copyright Unicon, Inc., This work is the intellectual property of Unicon,
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
UPortal3 navigation features Fall’05 developer meeting day 2.
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
IBM Software Group © 2008 IBM Corporation Tivoli Provisioning Manager Beta Program Web Replay Intro and Lab September, 2008 Robert Uthe.
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
Portals: Background, Development & Conversion
Project Management: Messages
Best Practices for Dynamics NAV Administration and Security
Gadgets and Dashboards
DWQ Web Transformation
My Oracle Support (The next generation Metalink experience) lynn
Displaying Form Validation Info
uPortal: architecture and features
5 Tips for Upgrading Reports to v 6.3
uPortal3 navigation features
Basic Agiloft Terminology
ASP.NET Core Middleware Fundamentals
Presentation transcript:

Leveraging DLM Processors JA-SIG 2009 Conference, Dallas Monday, March 2, 2009, 2:00PM-3:00PM Tim Carroll University of Illinois

Our JA-SIG Background  Working with uPortal for 4+ years  First 2 years were exploring Portals in general and completing uPortal proof-of-concept  First Production Implementation 1+ year ago

Our JA-SIG Background  Rolled out to Incoming Students Fall 2008  Recently Opened Portal to All Students –my.illinois (Urbana-Champaign Campus) –my.uic (Chicago Campus) –my.uis (Springfield Campus – in progress)  We are using uPortal with patches  We hope to migrate to uPortal 3.x later this year

Agenda  Structures, themes, skins. Now processors?  How do DLM processors change things?  What is new?  What remains the same?  How are DLM processors useful?

Agenda  The rendering pipeline is very powerful and somewhat complicated. We will not cover ALL the pieces in this session  However, I will highlight several pieces of the pipeline as they relate to DLM processors  How many people are familiar with the rendering pipeline? DLM processors?

The Rendering Pipeline (a simplified view) User Instance User Layout Distributed Layout Manager Structure & Theme Transformations

You don’t have to Change! The processors simply add opportunity

uPortal layouts  Layout pulled from database as hierarchy of folders and channels  The structure transform filters the layout, rewriting it to be more representative of the page… Header, Navigation, Content, Footer  The theme transform converts the filtered layout to markup like HTML or WML

Still Leverage Classic Interactions //Set the value of structure or theme stylesheet parameter uP_sparam={pName}&{pName}={pValue} uP_tparam={pName}&{pName}={pValue} //Set value(s) of structure folder or channel attribute(s) uP_sfattr={aName}&{aName}_folderId={ID}&{aName}_value={aValue} uP_scattr={aName}&{aName}_channelId={ID}&{aName}_value={aValue} //Set value(s) of theme channel attribute(s) uP_tcattr={aName}&{aName}_channelId={ID}&{aName}_value={aValue}  Communicate with layout manager to maintain state etc.  How many people have modified the structure and/or theme XSLTs?  How many people are familiar with these classics interactions?

Business as Usual  All this stuff is still good to know… it still applies  In fact, in many cases, you still use these techniques to train the structure and theme to react to DLM processors  If you don’t use DLM processors, then it is business as usual… they are not required  However, you should be aware of what they can do  They may come in handy someday

They have for us!  Accessibility very important at our university (making it usable or more usable to EVERYONE)  Our proof-of-concept, produced an accessible theme using ALM and integrated modes  This set an expectation with our Steering Team  Shortly after, uPortal adopted DLM as the future direction  This was a good (no great) decision  But, it was a scary announcement from our standpoint

We had Work to Do  We wanted to move to DLM to leverage the benefits  We did not want to lose the theme development and accessibility work  Much of which relied upon the integrated modes model, where customizations were made inline  The user moved portlets around the screen rather than…

We had Work to Do  The out-of-box DLM theme was not accessible and it was not at all like integrated modes

Processors to the Rescue  DLM Processors Allowed us to accomplish this quickly  We developed processors to support the integrated modes model  What do I mean by Integrated Modes?

Integrated Modes Demonstration View Mode Edit Mode Add Mode

The Rendering Pipeline with Processors (a simplified view) User Instance User Layout Distributed Layout Manager Structure & Theme Transformations Parameter Processors SAX Processors

So how does it work?  Step 1 – Implement one or more Interfaces –Processors must implement IParameterProcessor and/or ISAXProcessor –IParameterProcessor is a URL handler that gives you access to current user info through the setResources(…) and processParameters(…) methods –ISaxProcessor implementations can take part in modifications to the SAX event stream to cause temporary modifications to layout using the getCacheKey() and getContentHandler(…) methods

So how does it work?  Step 1 – Implement one or more Interfaces –Processors can also ALSO implement IOptionalProcessor –This interface must be implemented in conjunction with another DLM processor interface –It allows a processor to automatically remove itself from being the currently selected optional processor when it has completed its processLayoutParameter tasks using the isFinished() method –Otherwise, a second request has to be made to disable it

So how does it work?  Step 2 – Reference the Implementation –Spring Configured in properties/dlmContext.xml –Fixed Processors run every time the rendering pipeline cycles (every user request to uPortal) –Optional Processors run only when invoked through the theme using the spring defined method key (explained on subsequent slides) … …

So how does it work?  Step 2 – Reference the Implementation –Configuring Fixed Processors <bean class=“edu.illinois.my.layout.dlm.processing. UserPublicationInjector” singleton="false"/>

So how does it work?  Step 2 – Reference the Implementation  Configuring Optional Processors: <bean class=“edu.illinois.my.layout.dlm.processing.NodeRemove” singleton="false"/>

So how does it work?  Step 3 – Modify the theme.xsl to call optionalProcessors clickable invokation <a class="deletePage" href="{$baseActionURL}?uP_dlmPrc=nodeRemove&uP_dlmPar title="Remove Page"> <img class="domroll {$page-remove-icon-hot}” height="16" width="16” alt="Remove Page" src="{$page-remove-icon}”/>

So how does it work?  OR Step 3 – Modify the structure.xsl and/or theme.xsl to react to SAX style processors that temporary layout modifications the layout.

In Our Integrated Modes Edit Example

 Provided ALM style user customizations  These are parameter style  Require a dlmPrc request from the theme  The processor is called before the layout is retrieved again  Changes made are reflected when it re- renders to the user through typical cycle

In Our Add Content Example

 iGoogle like add stuff functions - publication list, category filter, and portlet search are all done with processors  Combines SAX and Parameter style  Publication content is injected into layout before it gets to structure transform  Requires changes to the structure and the theme to train them how to use the new injected tags (,, etc)

The Power of Open Source  It’s open source!  You could always customize and accomplish what you needed  Yes. But,  Before you had to change the core of the framework  This was a nightmare during upgrades now it’s easier…

The Power of Pluggable Open Source  Now, you can create pluggable stand-alone extensions  These port from one version to another in a snap  And, like portlets we can share them

The Power of Pluggable Open Source  NodeMoveToPreviousParent  NodeMoveToNextParent  NodeMoveToPreviousSibling  NodeMoveToNextSibling  NodeWidthSetPercent  NodeWidthDecreasePercent  NodeWidthEqualizePercent  NodeWidthIncreasePercent  UserPublicationInjector  UserDockStateInjector  UserDockStateFilter  NodeEditRename  NodeRemove  NodeFnameZoom  NodeAddContent  NodeAddContainer

Important References  The uP Architecture Overview: sig.org/wiki/display/UPC/uPortal+Architecture +Overviewhttp:// sig.org/wiki/display/UPC/uPortal+Architecture +Overview  The DLM Administrator Guide: sig.org/wiki/display/UPM/02+DLM+Administra tion+Guidehttp:// sig.org/wiki/display/UPM/02+DLM+Administra tion+Guide  The uP Sandbox Integrated Modes Theme:  Mark Boyd’s Slides from the Denver: sig.org/wiki/download/attachments/ / DlmSummer2007.ppt sig.org/wiki/download/attachments/ / DlmSummer2007.ppt

Closing These slides will be on the conference website Q & A Share Experiences and Ideas