Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Client Access A proposal for client access. Requirements It must be simple for the bundle writer to deliver content to a diverse range of clients Separation.
CREE Contextual Resource Evaluation Environment Stewart Waller (Archaeology Data Service,
CG0119 Web Database Systems Parsing XML: using SimpleXML & XSLT.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
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.
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
Searching uPortal with a third party Search Engine Katya Sadovsky University of California, Irvine Administrative Computing Services
Developing the NSDL User Portal Dean Krafft, Cornell University
UPortal Roadmap Presenters: Eric Dalquist Unicon, Inc. Andrew Petro Yale University Ken Weiner Unicon Inc. “uPortal Roadmap”
17 Apr 2002 XML Stylesheets Andy Clark. What Is It? Extensible Stylesheet Language (XSL) Language for document transformation – Transformation (XSLT)
Technical Track Session XML Techie Tools Tim Bornholt.
Sakai Architecture Charles Severance / Glenn Golden University of Michigan.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Product Evaluation ADP E-Time Enterprise Kronos Workforce Central.
UPortal 3 – What's New? JA-SIG Conference, Spring 2008 uPortal What's New? Eric Dalquist University of Wisconsin - Madison.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 9 JavaServer Pages (JSP) (Based on Møller.
JSP Standard Tag Library
15 November 2005Linking Outside the Box1 Cross referencing between XML documents Bob Stayton Sagehill Enterprises
Apache Chemistry face-to-face meeting April 2010.
1 3 Web Proxies Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB PROXIES  Web Proxy Definition  Three of the Most Common Intermediaries.
1 Understanding Cocoon2 Pankaj Kumar May 24, 2001 Web Services Organization HPMD, SSO, HP.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Concept demo System dashboard. Overview Dashboard use case General implementation ideas Use of MULE integration platform Collection Aggregation/Factorization.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
Building XML Portals with Cocoon M atthew Langham S&N AG
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Leveraging DLM Processors JA-SIG 2009 Conference, Dallas Monday, March 2, 2009, 2:00PM-3:00PM Tim Carroll University of Illinois.
Portlets in uPortal uPortal Domain Objects Portlet Application Deployment Portlet Deployment –Information from portlet.xml file Portlet Application Definition.
Chapter 8 Cookies And Security JavaScript, Third Edition.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
SDPL 2001Notes 7.2: Apache Cocoon1 7.2 Apache Cocoon An example of a Web publishing architecture based on XML technology An.
JSP Filters 23-Oct-15. JSP - FILTERS A filter is an object that can transform a request or modify a response. Filters are not servlets; they don't actually.
Proposal to Address AJAX Use Cases in WSRP Subbu Allamaraju BEA Systems Inc WSRP F2F Meeting, May 2006.
UPortal 3JA-SIG Summer Conference 2006 uPortal 3.
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.
XP New Perspectives on XML, 2 nd Edition Tutorial 8 1 TUTORIAL 8 CREATING ELEMENT GROUPS.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
XML Study-Session: Part III
Justin Tilton uPortal Framework and User Interface Demonstration.
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.
Copyright © 2002 ProsoftTraining. All rights reserved. Java Servlets.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
UPortal 3 RC2 PreviewJA-SIG Conference, Summer 2007 uPortal RC2 Preview Moving on Up Reviewing current work and future plans Standardizing the framework.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
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:
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
D Copyright © 2004, Oracle. All rights reserved. Using Oracle XML Developer’s Kit.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
z/Ware 2.0 Technical Overview
SOFTWARE DESIGN AND ARCHITECTURE
J2EE Lecture 7: Spring – Spring MVC
Sri Vatsav Konreddy CIS 764 FALL 2007
uPortal: architecture and features
uPortal3 navigation features
Concepts in ASP.NET Core App
Presentation transcript:

Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter syntax Portlet selections, session scopes –Multiple, concurrent contexts can be used Example contexts –static frame showing a single portlet –simple navigation with human-readable URLs –uPortal2 clone

Rendering Contexts and Components context Bcontext X … context resolver context A parameter processing rendering pipeline layout source transformer … filter serializer selects a context to be used in processing the incoming request parses request URL syntax initiates actions on: portlets rendering pipeline elements generates initial user layout markup. Aggregated, simple layouts a chain of transformers and filters compiles presentation markup. URL command syntax can be customized by providing alternate processing and URL generation components

Context resolvers Servlet Path context resolver –switch contexts by going to a specific servlet path – –default, ServletPathContextResolver implementation Alternatively contexts can be resolved using –user information authentication state user affiliation (groups), attributes (permissions) –user agent information (browser) –internal states, session (ex.:down for maintenance)

Context responsibilities uPortal Framework User InteractionPresentation Channel

Context responsibilities uPortal3 Context User InteractionPresentation Portlet IPortletWindowManager / JSR168 container (Pluto)

Contexts IContext –service(HttpRequest, HttpResponse) CompoundContext implements IContext –separates parameter processing and rendering –IRequestParameterController processParameters(HttpRequest, HttpResponse) –IPortalRenderer render(HttpRequest, HttpResponse)

Rendering: drilling down TreeRenderer implements IPortalRenderer –Responsible for rendering cycle initiation/events –Assumes a rooted structure of components IRenderingComponentManager –Defines the topology of rendering components –Responsible for finding optimal cache entry points PipelineComponentManager –defines linear pipeline rendering structures

Rendering: SAX pipelines uPortal2-like pipeline in which components pass SAX events to each other ISaxConsumer and ISaxRenderer Components –abstract Filters and Buffers –Serializers –XSL transformers SAX Cache entry points –know how to replay cache –returned by cache managers implementing IPipelineCacheManager

Rendering: String pipelines Pipeline that operates by transforming Strings quick, non-restricted IStringRenderer and IStringFilter Components –RegexStringFilter PortletRenderingInitiationFilter –StringResponseWriter String cache filters, managers, entry points

Rendering: Hybrid pipelines Pipelines that can be configured with multiple types of components –org.jasig.portal.rendering.hybrid –component manager implementation connector structure –cache manager implementation multiple cache types prioritized Should be primary choice for configuring context rendering uP2 context example

Rendering: XML layout sources Starting point for the SAX pipelines –XmlFileLayoutSource implements IPortalRenderer, ISaxRenderer org.jasig.portal.layout.uportal2 package –LegacyLayoutSource wraps IUserLayoutManager –SimpleUserLayoutManager lightly modified uPortal2 version with simplified DAO Impl

Rendering: XSLT TransformationFilter A flexible XSLT SAX rendering component –Configured with ITransformerPreferences –Insert arbitrary element attributes & params Transformer preferences –contain IStylesheetDescription location, mime type, etc. IParamDescription and IElementAttributeDescription –default values, persistance scope, target elements –responsible for keeping track of current values of stylesheet params, attributes –RuntimeTransformerPreferences (in memory) –TransformerPreferencesImpl (persistent) ITransformerHelper – stylesheet handling

Contexts IContext –service(HttpRequest, HttpResponse) CompoundContext implements IContext –separates parameter processing and rendering –IRequestParameterController processParameters(HttpRequest, HttpResponse) –IPortalRenderer render(HttpRequest, HttpResponse)

CompoundContext parameter processing Before the rendering starts, need to make sense of the request parameters … RequestParameterProcessorListController –based on a prioritized list of parameter processors –each parameter processor talks to some component –ordered list of IRequestParameterProcessors boolean processParameters(req, res) allows multiple rounds of processing for variable evaluation –set of IUrlConstructorProviders Example: uPortal2 transformation legacy syntax

Context patterns: parameter-aware component Goal –isolation and targeted injection of components Parameter-aware context component –directly involved in the rendering –assisting other rendering components –assisting other parameter processors Pattern: –Implement URL constructor (i.e. how to write) –Implement ParameterProcessor (i.e. how to parse) –Connect processor, component itself and other pieces using dependency injection –Test URL constructor and processor against eachother

Context patterns: parameter-aware component Example 1: Legacy (uP2) Layout param syntax –see PDF Example 2: Persistence manager –job: fire off persistence events –request param command to initiate persistence –no rendering, just param processing –injected into secondary parts of the downstream components (i.e. preferences impl for the XSLT Filter) –Commands interface (optional) –IRequestParameterProcessor impl. –URL constructor impl.

The fate of the URL constructors Controller configuration is passed to Pluto’s PortletURLFactoryImpl PortletURL delivered to the portlets –implements IPortletUrl adds ability to obtain uPortal-specific URL constructors getUrlConstructor(name) –IPortletUrlConstructor implements portlet URL syntax also configurable