UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.

Slides:



Advertisements
Similar presentations
HyperContent 2.0 JA-SIG Winter Conference December 5, 2005 Alex Vigdor, Columbia University.
Advertisements

UPortal 2 Status Andrew Petro, Yale Bill Thompson, Rutgers.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Managing Content in uPortal Susan Bramhall Yale University ITS Technology and Planning.
UPortal System Architecture. System Requirements Microsoft Windows Solaris Linux Mac OS X.
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.
UPortal Roadmap Presenters: Eric Dalquist Unicon, Inc. Andrew Petro Yale University Ken Weiner Unicon Inc. “uPortal Roadmap”
JA-SIG Summer Conference, 2006 Experiences upgrading uPortal Panelists: Katya Sadovsky (UC Irvine) Adam Rybicki (Unicon) Susan Bramhall (Yale) Steve Barrett.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Sakai Architecture Charles Severance / Glenn Golden University of Michigan.
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.
IAssessment’s High Performance Gateway Presentation System 
UPortal: Hands On Mark Mazelin Cedarville University.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
UNICON Warlock Portlets A.K.A. toro-portlets Andrew Wills JA-SIG 2007 Summer Conference, Denver Tuesday June 26th, 2007 © Copyright Unicon, Inc., 2006.
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
UPortal Performance & Memory Issues Scott Battaglia Rutgers, the State University of New Jersey.
J2EE Structure & Definitions Catie Welsh CSE 432
Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter.
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.
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.
Struts: An Insiders View October Abstract Struts is the de facto standard framework for Java web applications, but where did it come from, and where.
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
HyperContent 2.0 Common Solutions Group September 21, 2005 Alex Vigdor, Columbia University.
UPortal 2.6. Yes, there will be a uPortal 2.6 Many institutions using uPortal 2.x Have needs for new features, bugfixes, and improvements Will be using.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
CAS Lightning Talk Jasig-Sakai 2012 Tuesday June 12th 2012 Atlanta, GA Andrew Petro - Unicon, Inc.
A Community of Learning Moving Forward with Luminis IV Presented by: Dan Bramer Plymouth State University March 20, 2007 Evaluation Code 1011.
UPortal 3JA-SIG Summer Conference 2006 uPortal 3.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
UPortal and CHEF Charles Severance University of Michigan
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.
Mach II at Macromedia Sean Corfield Director, Architecture An introduction to Mach II and its use on macromedia.com.
Presentation.
Prepared by Jim Farmer for the JA-SIG UK Meeting Monday, 26 January, 2004 University of Birmingham, United Kingdom The uPortal Roadmap.
The Jetspeed Portal Bluesunrise.com and The Apache Software Foundation January 28, 2002 From
UPortal 2.6 Status Update Andrew Petro uP dev 24 April 2007 © Copyright Unicon, Inc., This work is the intellectual property of Unicon,
July 28, 2004WSRF Technical Committee F2F meeting1 WSRP leveraging WSRF Use case for Portlets as WS-Resources.
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.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
Portal Software Unit Testing Supporting agile development of Sakai VRE enhancements Graham Klyne Oxford University Computing Service.
Identity and Access Management Challenges in uPortal
DotNetNuke® Web Application Framework
Sri Vatsav Konreddy CIS 764 FALL 2007
Sakai WebApp Structure
uPortal: architecture and features
Developing and testing enterprise Java applications
The uPortal Roadmap uPortal Software Developers Meeting
ASP.NET Core Middleware Fundamentals
Presentation transcript:

uPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon

uPortal Releases uPortal Major Minor Patch

Types of releases Patch releases Patch releases Bug fixes, backwards-compatible Bug fixes, backwards-compatible Every 1-2 months Every 1-2 months Easy to upgrade Easy to upgrade Minor releases Minor releases New features and possible database changes New features and possible database changes Every 6-12 months Every 6-12 months Not trivial to upgrade Not trivial to upgrade Major releases Major releases Extensive changes Extensive changes Every 2-4 years Every 2-4 years Difficult to upgrade Difficult to upgrade

Marching towards a particular release Nightly build Nightly build “Milestone” “Milestone” Alpha Alpha Beta Beta Release Candidate Release Candidate General Audience Release General Audience Release

This Presentation uPortal 2.x Roadmap uPortal 2.x Roadmap uPortal 3.x Roadmap uPortal 3.x Roadmap Questions and Answers Questions and Answers

uPortal 2.x Roadmap 2-4-patches2-5-patches Towards 2.6 and beyond

What’s a Roadmap? Happened. What’s in it? Happened. What’s in it? Plans Plans Plans Plans Opportunities Opportunities Revolution Revolution

uPortal Evolutionary improvement Incremental new features, Takes some work to upgrade Released 26 May

2.5.0 features DLM DLM Better JSR-168 support Better JSR-168 support Require / embrace JDK 1.4 Require / embrace JDK 1.4 Chaining throwables Chaining throwables Support JDK 1.5 Support JDK 1.5 Spring Spring DOM3 / JAXP 1.3 DOM3 / JAXP 1.3 Threading / Concurrency library Threading / Concurrency library 2.5.0

DLM Alternative to ALM Alternative to ALM Pushed fragments managed as layouts of “fragment owners” Pushed fragments managed as layouts of “fragment owners” 2.5.0

What is DLM? User’s Layout Personal Preferences Declarative Configuration Fragment Owners

Library Tab 2.5.0

Library Tab Plus 2.5.0

Simple User Layout Management PersonDirectory Template Assignment TemplatePersonal Layout 2.5.0

Simple User Layout Management PersonDirectory Template Assignment TemplatePersonal Layout 2.5.0

“Distributed” User Layout Management PersonDirectory “Template” Assignment Dynamic “Template”Personal Layout 2.5.0

“Distributed” User Layout Management Person Directory Template Assignment Dynamic TemplatePersonal Layout 2.5.0

SLM? ALM? DLM? Currently: SLMALMDLM Where we’re going: SLM CLM

JSR-168 support improvements Expiration caching Expiration caching Redirects Redirects Window state changing in processAction Window state changing in processAction 2.5.0

JDK 1.4 / Chaining Throwables NullPointerException ChannelRenderingException PortalException 2.5.0

JDK 1.5 support Compiles and runs under JDK / JRE 1.5 Compiles and runs under JDK / JRE

Spring Declarative configuration Declarative configuration That’s about Java Objects, rather than about Strings That’s about Java Objects, rather than about Strings The sun is setting on static factories that read class names from portal.properties. The sun is setting on static factories that read class names from portal.properties. PersonDirectory as the first Springified component PersonDirectory as the first Springified component 2.5.0

uPortal The next 2-4-patches deliverable Backwards compatible conservative fixes, enhancement Sharing of fixes for released code

Adoption of threading library Backport-util-concurrent Backport-util-concurrent 2.4.3

Minor bugfixes 2.4.3

2.5.1 Backwards-compatible improvement. Bugfixes

uPortal 2.6 And beyond 2.6.0

uPortal CVS head portal patches 2-5-patches Head … 2.5.1

Will there be a uP 2.6? Are there incremental improvements that could be made beyond uP 2.5 that would make you want to deploy 2.6? Are there incremental improvements that could be made beyond uP 2.5 that would make you want to deploy 2.6? So much so that there are developers, resources interested in working to make this happen? So much so that there are developers, resources interested in working to make this happen? Then it makes sense to produce uP 2.6. Then it makes sense to produce uP

Some uP 2.6 ideas Continue to improve Layout Management Continue to improve Layout Management Stability, Stability, Stability Stability, Stability, Stability Have we stopped leaking memory yet? Have we stopped leaking memory yet? Skinning improvements, CSS/Divs as default example Skinning improvements, CSS/Divs as default example Groups and Permissions Groups and Permissions More Spring More Spring … 2.6.0

Serializable Sessions And sessions worth serializing And sessions worth serializing Beyond load balancing and clustering Beyond load balancing and clustering State-retaining failover * State-retaining failover * (For channels written to take advantage) (For channels written to take advantage)

JIRA for project planning Identify desired improvements Identify desired improvements Schedule for 2.6 Schedule for 2.6 “Assign” resources “Assign” resources Track to completion Track to completion 2.6.0

Lather, Rinse, Repeat Continue to incrementally improve uPortal 2.x so long as there’s interest and resources. Continue to incrementally improve uPortal 2.x so long as there’s interest and resources

At some point Interest in continuing to develop uP 2.x wanes Interest in continuing to develop uP 2.x wanes Because there’s something better to work on Because there’s something better to work on And now, for uPortal 3 roadmap… And now, for uPortal 3 roadmap… 2.6.0

uPortal What’s next in portal technology 3.0.0

uPortal 3.0: Overview Terminology and paradigm change: Channels replaced by Portlets Terminology and paradigm change: Channels replaced by Portlets Componentization of framework Componentization of framework Modular rendering pipeline Modular rendering pipeline Clean separation of business logic and persistence layer Clean separation of business logic and persistence layer Full support for uPortal 2 Channels Full support for uPortal 2 Channels Upgrade tools Upgrade tools 3.0.0

Portlet Domain Objects Portlet Application & Portlet Deployment Portlet Application & Portlet Deployment Information from portlet.xml Information from portlet.xml Generated from deployed applications Generated from deployed applications Portlet Application & Portlet Definition Portlet Application & Portlet Definition Deployment + Configuration Deployment + Configuration Maps application idioms to uPortal idioms Maps application idioms to uPortal idioms 3.0.0

Portlet Domain Objects Portlet Application & Portlet Entity Portlet Application & Portlet Entity Definition + Configuration Definition + Configuration Synonymous with channel publishing Synonymous with channel publishing Portlet Window Portlet Window Portlet Entities painted on the screen Portlet Entities painted on the screen Tracks the state of the portlet Tracks the state of the portlet Referenced by portal layout Referenced by portal layout 3.0.0

Domain Object Architecture Database DAO’s Registries DAO Implementations e.g. Spring JDBC Caching uPortal Framework Domain objects Transfer objects Domain Object Factories

WSRP Consumer and Producer Consumer Consumer WSRP4J consumer proxy portlet WSRP4J consumer proxy portlet Producer Producer Implementation of WSRP4J producer Implementation of WSRP4J producer Currently using Java Data Objects (JDO) Currently using Java Data Objects (JDO) Missing DAO layer consistent with uPortal 3 Missing DAO layer consistent with uPortal

Rendering Architecture Context X Context A … Context Resolver Default Context Parameter processing Rendering pipeline Layout generator Transformer … Filter Serializer Parses request URL and initiates actions on portlets Generates abstract user layout Chain of transformers and filters compiles presentation markup. Selects context to process incoming request Produces final markup, i.e. HTML, WML

Security Acegi features Acegi features Has analog to uPortal 2 security providers Has analog to uPortal 2 security providers Designed with Spring Framework in mind Designed with Spring Framework in mind URL protection URL protection Bean method-level protection Bean method-level protection Support for Yale CAS Support for Yale CAS HTTP BASIC Authentication HTTP BASIC Authentication 3.0.0

Groups and Permissions Port of groups and permissions from uPortal 2 Port of groups and permissions from uPortal 2 Separate module within uPortal 3.0 Separate module within uPortal 3.0 Configured using Spring Configured using Spring Build process to produce separate jar files Build process to produce separate jar files Allows groups/permissions to be used in applications outside of uPortal Allows groups/permissions to be used in applications outside of uPortal 3.0.0

Person Directory Person Directory has already been refactored in uPortal 2 Person Directory has already been refactored in uPortal 2 Separate module within uPortal 3 Separate module within uPortal 3 Build process to produce separate jar files Build process to produce separate jar files Allows person directory to be used in applications outside of uPortal Allows person directory to be used in applications outside of uPortal 3.0.0

Portlet Publishing First publish the portlet application First publish the portlet application Map custom PortletModes and WindowStates Map custom PortletModes and WindowStates Map user attributes from uPortal to the portlet Map user attributes from uPortal to the portlet Second publish portlets from the app Second publish portlets from the app Description Description Configuration Configuration Groups and Permissions Groups and Permissions 3.0.0

Utilities Design to be configured as beans Design to be configured as beans Command line interface is a wrapper around the bean Command line interface is a wrapper around the bean Allows utilities to be run from portal code Allows utilities to be run from portal code DbLoader DbLoader Now supports constraints Now supports constraints Portlet Deployer Portlet Deployer 3.0.0

Milestones and Beta Milestone builds Milestone builds Render a layout based on an XML layout file Render a layout based on an XML layout file Render a layout based on data from database and ability to interact with portlets Render a layout based on data from database and ability to interact with portlets Remaining features minus upgrade tools and instructions Remaining features minus upgrade tools and instructions Beta release Beta release uPortal 2 feature set complete uPortal 2 feature set complete Channels and CAR files work Channels and CAR files work Upgrade tools and instructions available Upgrade tools and instructions available 3.0.0

uPortal 3.0: Help Needed Testing Testing Move uPortal 2 Concurrency changes to 3.0 Move uPortal 2 Concurrency changes to 3.0 Move uPortal 2 XML API changes to 3.0 Move uPortal 2 XML API changes to 3.0 Move Person Directory into a stand-alone JAR Move Person Directory into a stand-alone JAR Create WSRP DAOs and provide Spring JDBC implementation Create WSRP DAOs and provide Spring JDBC implementation 3.0.0