Download - August 2011 uPortal Community Call
August 24, 2011
Community Call
Sharing IdeasEnabling CollaborationBuilding Community
Agenda
• Introduction and Announcements
• uPortal 4 Update
• uMobile Update
• Documentation Update
• Proposed Move to Git
• Questions and Open Discussion
uPortal Steering CommitteeElected by the Jasig membership
• Laura McCord, Southwestern University
Selected by the uPortal developers
• Eric Dalquist, University of Wisconsin-Madison
• Jen Bourey, Unicon
Appointed by the Committee
• Tim Carroll, University of Illinois
Representing the Jasig Board
• Jim Helwig, University of Wisconsin-Madison (chair, board liason)
• Patty Gertz, Jasig Executive Director (ex-officio member)
Announcements
Check out the fresh look for jasig.org and uportal.org!
Look for announcements soon regarding
• The Fall Jasig Unconference
• The 2012 Joint Jasig/Sakai Conference
Introducing uPortal 4
Framework
Image courtesy of http://www.flickr.com/photos/nocallerid_man/
Revolutionary Step
• 229 Issues Resolved so far
• Migration Path is KEY
• Installation and configuration is familiar
• Staging uPortal for the future
JSR-286
• Cross-portlet communication
• Events
• Public render parameters
• JS/CSS in <head>
• Resource serving
• ETag style caching API
• Cookies
Spring 3
• New REST services APIs
• Autowiring to reduce XML Configuration
• Easier to override functionality
• Compatible with future Spring versions
Removed IChannels
• Simplify uPortal codebase
• Clearly delineate portlet integration APIs
• Allow community to update internal uPortal code
Smaller Codebase
• Replaced custom code with standard libraries
• Refactored code using annotations
• Removed all IChannel code
Codebase Size
3.02.62.5 4.03.1 3.2
Performance
Image courtesy of http://www.flickr.com/photos/lrargerich/
Rendering Pipeline
• Refactored using standard JDK libraries
• Componentized and Spring-configured
• Advantages
• Fewer dependencies
• More configurable and modifiable
• Shared caching
• Improved test coverage
Rendering Pipeline
• Components are Spring Beans
• Request Based Data Access
• Aspect style Caching Capabilities
• Infinite Possibilites
Layout Manager
Portlet DataIncorporation
Structure XSLT
Portlet RenderingInitiation
JSON Serializer
Browser Client
Theme XSLT
HTML Serializer
Portlet RenderingIncorporation
uMobile Client
Portlet Execution
• Portlets are finally 1st class citizens
• IChannel layer added overhead to every execution
• All portlet operations execute in a Thread Pool
• Timeout and Resource Management support
JavaScript Performance
• jQuery 1.5 / jQuery UI 8
• Replacing XML with JSON
• ETag Support
• Browser only downloads AJAX resources if they’ve changed
• Pluto 2.0
• Eliminate 302 redirects in AJAX portlets
jQuery 1.4
Caching and ETags
URL Schema
Bookmarkable URLs
• Reflect navigation state in the URLs
• Multiple Browser Windows works!
• Back/Forward button support.
• Enforce canonical URLs
• Allow users to bookmark URLs
• Easier to use web stats packages
Administrative Tools
Administration Overview
• Spring Webflow-based portlets
• Standard user interfaces
• Less code duplication
• Re-usable javascript components
• User experience redesign
• More intuitive workflows
• More administrative portlet integration
Re-usable Webflows
Re-usable JavaScript
Administration Overview
• Hibernate-backed JPA Persistence
• Modern, widely-used technology
• Enforce relational constraints
• Provide better cross-database support
• Better caching, locking, and performance
• Easier to unit test
• Smaller codebase
New Administration Portlets
• Groups administration
• Permissions administration
• User Account Management
User Management Portlet
• Unified User Management Portlet
• Single portlet with links for common user operations
• User attributes summary
• Impersonation
• Local account management
• Update local passwords
• Modify local account attributes
• Create and delete local accounts
User Interface
Skin Refresh
• Clean, modern new look and feel
• Potentially better starting point for custom skins
Layout “Gallery”
• Created by Unicon, sponsored by BYU
• Rewrote all custom javascript as Fluid components
• Unified interface for selecting content, layouts, and skins
• New tab interface including tab drag and drop and inline editing
Content Selection
Skin Selection
Tab Editing
Tab Subscription
• Allow users to subscribe to pre-formatted, packaged tabs
• Define permissions for tab subscription
Tab Subscription
DLM Fragment Management
• Administer fragment permissions through the user interface
• Tabs
• Columns
• Portlets
Fragment Permissions
Internationalization
• Single unified messaging file used for all
• Webflows
• JSPs
• XSLT
• JavaScript
• Updated message codes for portlets and theme
• Potential new translations?
Unified Messages File
Integration
Image courtesy of http://www.flickr.com/photos/myklroventine/
Grouper Integration
• Browse, search, and view Grouper groups from uPortal
• Assign uPortal permissions and distribute content using Grouper groups
• Administer Grouper groups from uPortal
CAS Clearpass
• CAS Clearpass module and sample configuration included in build
• Clearpass features commented out by default
uMobile Update
Recent Updates
• Performance improvements
• Tablet support
• uMobile-specific branch in SVN
• Lots and lots of bug fixes!
1.0.0 RC1
• First release candidate
uMobile Server
uMobile native app
• Release includes quickstart and documentation
• http://www.jasig.org/umobile/download
Documentation
uMobile manual
https://wiki.jasig.org/display/UMM/Manual+Home
Portlet archetype
Helps create skeleton portlet project
Produces mobile-ready portlet
Includes view, edit, help screens
Demos and Screenshots
Updated public site
http://jasig.org/umobile
YouTube channel
http://youtube.com/jasigumobile
Phase 2 Roadmap
Architecture updates
Performance improvements
Android button integration
Content updates
Map: categories, browsing, multi-campus support
News and calendar: administrative and configuration improvements
Announcements / Notifications
https://wiki.jasig.org/display/umobile/uMobile+Roadmap
DocumentationUpdate
uPortal 4 Manual• https://wiki.jasig.org/display/UPM40/Home
• Copied over uPortal 3.2.4 content
• Revising the content to be uPortal 4 specific
• Get ready for emails starting in Sept
Participate by lending suggestions, proofreading, create new content
• Opening new Jira documentation tickets
Take a peek...maybe you can take ownership
• Excellent way to contribute!!!
uPortal 3.2.x Manual• https://wiki.jasig.org/display/UPM32/Home
• Don't worry it will NOT be abandoned!!
• Consistently being updated as mailing list topics arise specifically for the uP 3.2.x version
uMobile Manual• https://wiki.jasig.org/display/UMM/Manual+Home
• Helpful content to get you started
Send Feedback• uPortal Manuals
• uMobile Manual
Move to Git
uPortal and Git
• Distributed Version Control System
• You don't have to be a commiter to commit!
• Significantly better branch/merge semantics
• Fast! Everything is local first allowing for rapid and offline development
• GitHub provides powerful social-coding tools
Git – Common Questions
• Code Backups & Control
Every developer has a complete clone
Includes all history, branches and tags
• Learning Another VCS
Lots of very good SVN to Git tutorials out there
GitHub provides SVN access to git repositories
Git - Links
• Fluid Project's Perspectives on Git
http://old.nabble.com/Perspectives-on-Git-td31852449.html
• Git for those without Version Control background
http://hoth.entp.com/output/git_for_designers.html
• GitHub's wonderful help documentation
http://help.github.com/
Questions andOpen Discussion
The uPortal Steering [email protected]
Feedback?
Suggestions?
http://www.flickr.com/photos/aye_shamus/2972528931/ CC BY-NC-ND 2.0
The uMobile Working [email protected]