uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

29
uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008 uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

description

uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison. Roadmap Review. How did we get here? uPortal 2 is a solid base Identified areas for improvement Focused on major changes Where are we going? All those not-quite major changes - PowerPoint PPT Presentation

Transcript of uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

Page 1: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

uPortal 3.0.0Where did everything go?

Eric Dalquist

University of Wisconsin - Madison

Page 2: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Roadmap Review

• How did we get here?–uPortal 2 is a solid base–Identified areas for improvement–Focused on major changes

• Where are we going?–All those not-quite major changes–Planning semi-annual releases

Page 3: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Core Changes

• Theme & Skin• Project Structure• Build System• Spring Configuration• Portlet Container• Caching Framework• Import/Export Tools• CAS Authentication

Page 4: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Theme & Skin

• Clean XHTML & CSS markup• Easier to Skin

–More CSS Hooks–Generic Document Structure

• Modifiable Theme XSL–Multiple Well-Scoped Files–Internally Well Documented–Red/Yellow/Green Ratings

Page 5: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Theme & Skin

• Simple Directory Structure–Separate Structure & Theme–Meaningful Directory Names

• Flexible Skin Directories–Allows for shared files–Skins are assumed to be theme

specific

Page 6: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008New Theme & Skin

Theme File Summary

universality.xsl - Core file, has instructions and configuration

page.xsl - Contains base portal page layout templatesnavigation.xsl - Contains portal navigation templatescolumns.xsl - Per-column layout and formatting templatescontent.xsl - Portlet/Channel container templatespreferences.xsl - User Preferences UI templatescomponents.xsl - Common utility templatesmessages.xml - I18n capable messages file, contains all

text

Page 7: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Project Structure

• Maven Standard Directory Layout–src/main/java

• Application/Library sources–src/main/resources

• Application/Library resources–src/main/webapp

• Web application sources–src/test/java

• Test sources–src/test/resources

• Test resources

Page 8: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Project Structure

• Multiple sub-projects (uportal-*)–impl – Source code & resources–war – Web content & configuration–portlets – Bundled portlet overlays–ear – The full package–ear-deployer – Tomcat deploy tool–ant-tasks – Ant deployer tasks

Page 9: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Project Modules

• uportal-impl–src/main/java

• All uPortal source code

–src/main/resources• All non-UI classpath resources (config)

• uportal-war–src/main/resources

• UI classpath resources

–src/main/webapp• WebApp config, images, css, js

Page 10: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Project Modules

• uportal-portlets-overlay–Uses Maven's WAR Overlay feature–How portlets are bundled with uPortal–Includes Pluto assembling step–Allows uPortal specific configurations

• uportal-ear–depends on uportal-war and portlets–generates standard EAR file

Page 11: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Build System

• Maven 2 at the core–Dependency Management–Compiling, Testing, Packaging–WAR Overlay Packaging

• Ant Utilities–Deployment–uPortal Tools

• Database Setup• User Management• Import/Export Command Line

Page 12: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Build System

• Targets moved into Maven–all, compile, compiletests, dist,

javadoc, runtests–Helpful error messages are included

• Targets renamed–deploy => deploy-war–pubchan => crn-import

• Retains 2.6 Functionality

Page 13: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

New Build System

• Integration via maven-ant-tasks–Low Maintenance

• Project build information loaded from pom• Project deploy information specified in

build.properties• No need to edit build.xml

–Intelligent Build Performance• determines if module builds are needed

–Easily Extendable• Future project modules• Additional portlets

Page 14: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•Spring Configuration

• Single ApplicationContext Instance• Multiple Context Files

–/uportal-impl• /src/main/resources/properties/contexts

• PortalApplicationContextLocator–Provides seamless access–Ensures the context is a singleton–Works from Web and CLI

Page 15: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Spring Configuration

• What has moved?–Core and Portlet related factories–Service configuration

• How does it work?–Spring Context is the master–Most factories are context backed–Care to not create cycles!

• What's next?–Continue the factory hunt

Page 16: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•Portlet Container

• Upgraded to Pluto 1.1–Complete re-write of SPI–Very similar to Pluto 2.0 SPI–Significant reduction of portal code

• Pluto provides many services

• Complete Re-Integration–Added portletisms into uPortal–Portlets are the new public API–Resolved IChannel mismatches

Page 17: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•JPA & Hibernate

• All New and Refactored DAOs• Using J2EE5 Annotations• Hibernate as the EntityManager• Benefits

–SQL Abstraction–Minimal Code–DDL Generation–Caching Layer

Page 18: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•Caching Framework

• Uses Spring-Modules for abstraction–Supports multiple caching frameworks–EhCache is used by default

• Clustering Support!–Invalidation based replication

• Single cache manager shared by:–Portal caches–Hibernate caches

• Not all portal caches are converted

Page 19: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•JMX

• Monitoring & Management• JDBC & LDAP Connections

–View pool health and performance• Cache Statistics & Management

–Gather performance statistics–Help with portal tuning direction

• Hibernate Statistics–Watch database performance

Page 20: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

JMX

Page 21: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Import / Export

• All (almost) data in entity files• Minimal data.xml

–430 lines, down from 5800 in 2.6• Supports Import of 2.6 Entities• Much easier to modify, maintain and

migrate

• See Andrew Wills' presentations for more information

Page 22: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Bundling Portlets

• Portlets are bundled as Maven dependencies

• Uses the WAR-Overlay feature–Allows for uPortal specific files to be

injected–Includes use of the Pluto assembly

Maven plugin• Easy to add more portlets

–Add an overlay project–Add dependency to uportal-ear

Page 23: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Bundling Portlets - Overlay Example

• Pluto-Testsuite–Configure expected test results–Configure logging correctly for uP3

• Maven will overlay these files on the specified WAR artifact

Page 24: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008•Bundling CAS

• A CAS 3.1 Server is bundled–Authenticates via the Portal DB

• Same uPortal Security system–Doesn't preclude existing

configurations• Promote CAS for SSO with uPortal• CAS Proxy support for Portlets

–Proxy ticket via USER_INFO Map–"casProxyTicket” attribute

Page 25: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008User Groups

• PAGS is enabled out of the box• pags.root is a member of Everyone• New “All Users (PAGS)” Group

–Tester always returns true–Much more performant than adding

users to local groups

Page 26: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008Reducing Custom Code

• Avoid re-inventing those wheels• Use well vetted FOSS libraries

–Free & Open Source Software• Focus on the interesting problems• Simplifies long-term maintenance• Reduces needs for uPortal specific

documentation–Switch to Spring-LDAP is an example

Page 27: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008Development

• Eclipse 3.3–M2Eclipse

• http://m2eclipse.codehaus.org/–SpringIDE

• http://springide.org/blog/–Subclipse

• http://subclipse.tigris.org/• svnmerge.py

–http://www.ja-sig.org/wiki/x/AwbP

Page 28: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

3.1 and Beyond

• Many interesting opportunities–Fluid Reorderer Integration–Stand-Alone Groups and Permissions–Spring-Security (aka Acegi)–Refactoring DAOs to use JPA–Implement portlet based admin tools–Refactored rendering pipeline

Page 29: uPortal 3.0.0 Where did everything go? Eric Dalquist University of Wisconsin - Madison

uPortal 3 – Where did everything go? JA-SIG Conference, Spring 2008

Thank You!

Many thanks to everyone who contributed to uPortal 3.0!