uPortal Roadmap
   uPortal Community Call
    December 17, 2009
Agenda

 •   Introduction

 •   uPortal at the Jasig 2010 March Conference

 •   The uPortal Roadmap

 •   Getting Involved

 •   Questions
Introduction
uPortal Steering Committee
 Elected by the Jasig membership

   •   Erik Olssen, University of California - Irvine

   •   Dwight Raum, The Johns Hopkins University

 Selected by the uPortal developers

   •   Eric Dalquist, University of Wisconsin-Madison

   •   Jen Bourey, Unicon

 Representing the Jasig Board

   •   Jim Helwig, University of Wisconsin-Madison (chair, board liason)

   •   Jonathan Markow, Jasig Executive Director (ex-officio member)
uPortal Community Calls

                                                                  Sharing


                                                                  Collaboration


                                                                  Community


        http://www.flickr.com/photos/iandolphin CC BY-NC-ND 2.0
Hold that thought…
                                                            Questions and
                                                            discussion at the end


                                                            Additional feedback
                                                            by email appreciated




    http://www.flickr.com/photos/marcobellucci/ CC BY 2.0
Jasig 2010
Conference
Jasig 2010 Conference

  “Ten Years of Open Source Innovation”

  March 8 - 10, 2010
  Supplementary Seminars March 7th and 10th
  Developer Days, March 11 – 12


  Town and Country Resort, San Diego, CA

  Registration is open:
  http://www.ja-sig.org/conferences/10spring/index.html
uPortal Presentations

 •   “uPortal Environment Management Clinic”

 •   “Content Management in uPortal: Two Case Studies”

 •   “ZotPortal: Integrating with Legacy Systems and
     Planning for the Worst Case”

 •   “Implementing Multi-Level Navigation in uPortal”

 •   “Easy Portlet Development with Struts 2”
uPortal Presentations (cont.)

 •   “Rich Portlet Development”

 •   “Annotation-Based Spring Portlet MVC”

 •   “uPortal 3.2 and Beyond”

 •   “The Future of the Campus Portal”

 •   “uPortal Distributed Administration and Development”
uPortal Presentations

 uPortal Supplementary Seminars
  •   “Implementing uPortal”

  •   “uPortal Migration: 3.0 and Beyond”

  •   “Developing JSR 286 Portlets”

  •   “uPortal Mobile Development”
Jasig 2010 Conference

 Plus…
  •   uPortal BOFs

  •   uPortal Poster displays and demos

  •   jQuery Seminar

  •   Building accessible web apps

 And…
  •   Plenty of opportunities to speak with colleagues and
      experts!
uPortal Roadmap
uPortal 3.2

 •   Portlet Management

 •   Mobile Browsing

 •   CSS/JS Aggregation

 •   Config Portlet Mode

 •   All Portlets
CSS/JS Aggregation

 •   Reduce the number of CSS & JS files

 •   Uniquely name aggregations

 •   Cache aggregations “forever”

 •   XML to define skin resources
CSS/JS Aggregation

Multiple Scripts (36KB):
  <script type="text/javascript" src="javascript/uportal/ajax-preferences-jquery.js"></script>
  <script type="text/javascript" src="javascript/uportal/search.js"></script>
  <script type="text/javascript" src="javascript/uportal/up-channel-browser.js"></script>
  <script type="text/javascript" src="javascript/uportal/up-group-browser.js"></script>
  <script type="text/javascript" src="javascript/uportal/flyout-nav.js"></script>



Become One Script (19KB):
  <script type="text/javascript"
     src="javascript/uportal/uportal3_10_CA4AFE27EC643E4F96C7A724419E5C1E.aggr.min.js">
  </script>
(Page generated 2009/12/16)




uPortal Aggregated Imports
Config Portlet Mode

 •   Portlets can provide their own admin UI

 •   Integrated into the new Portlet Manager

 •   Simplifies complex portlets (Web Proxy)

 •   This will be usable by any portlet

 •   Uses spec defined extension points
Everything is a Portlet!

 •   Default publishing types are all portlets

 •   All the IChannels are still there for migrators

 •   Ease migration to portlets

 •   Steer implementers away from IChannel
Updated Portlet Types: SQL Query
Deprecating IChannel

 •   Explicitly mark channels as not recommended

 •   Start planning around removing channel support
Portlet Administration

 •   Re-designed user interface

 •   Channel lifecycle management features
     •   Mark channels as created, approved, published, and
         expired

     •   Delegate permissions for each lifecycle step

 •   Automatic publishing and expiration dates

 •   Parent CPD for common channel parameters
Browsing Portlets
Selecting Entities
Lifecycle Management
Mobile Theme

 •   Designed for the iPhone and other WebKit devices

 •   Layout and interactions customized for the mobile
     environment

 •   Themes for both uPortal and CAS
uPortal Mobile: Navigation
uPortal Mobile: Portlet View
Demos and More
http://www.youtube.com/uPortal
uPortal 3.3

 •   Portlet 2.0 (JSR-286)

 •   Removing IChannel Support

 •   Consistent URLs

 •   DLM Management in AJAX UI

 •   Groups & Permissions Management Portlets

 •   Spring 3.0
Portlet 2.0 (JSR-286)

 •   Upgrading to Pluto 2.0

 •   Events, JS/CSS in <head>, resource serving

 •   Will require us to drop direct support for IChannels
Removing IChannel Support

 •   Necessary to move forward with uPortal

 •   Channels never had a fully defined API

 •   Significant overhead in feature development

 •   This will greatly simplify uPortal's code base
IChannel Initiatives

 •   Portlet to Channel adaptor stub project

 •   Support for converting your Channels to Portlets
     •   Open-source an IChannel and get help converting it
Consistent URLs
/uPortal/folderName/state/channelName.subscribeId/render.uP

  •   Move navigation state into the URL

  •   Enforce canonical URLs

  •   Allow usage of stats packages
      •   AWStats

      •   Google Analytics
DLM Fragment Management

 •   Add fragment administration to AJAX UI

 •   REST based service APIs for management

 •   Will replace current User Preferences channel
Spring 3.0

 •   Using the new REST Services APIs

 •   Converting to annotation based MVC support


 •   All libraries are reviewed for upgrading with every
     uPortal release
uPortal - Long Term
 •   Refactored Build & Deployment - Maven Only

 •   Spring Security for Authentication

 •   Refactoring of user/profile/layout data model

 •   JPA for all database interaction

 •   Grouper Integration

 •   Multiple layouts per User

 •   Integrated Content Management

 •   Integrated Search Indexing
Refactored Build

 •   Stop using Ant for utilities

 •   Custom Maven plugins for utility functions

 •   Command line tools that don't require the entire
     uPortal source
Spring Security

 •   Replace custom ISecurityContext code

 •   Becomes much easier after channels are removed

 •   Provides for authorization aspects, simplifying
     code

 •   “Outsource” documentation
Data Model Cleanup / JPA

 •   Clarify user/profile/layout relationships

 •   Create uPortal ER Diagram


 •   Replace direct JDBC DAOs with JPA

 •   Enforce database level data constraints
Grouper Integration

 •   Talking with I2 about what Grouper can provide

 •   Consider replacing group management

 •   Consider just adding it as an additional group
     service
Integrated CMS

 •   Embedded Java Content Repository

 •   Portlet with basic WYSIWYG editor

 •   Easy way to publish content


 •   Content Management Integration Support (CMIS)

 •   SOAP based API for CMS integration

 •   Alfresco supports CMIS
Integrated Search

 •   Embedded Java Search Engine

 •   Searching across static portlet meta-data

 •   Design API for portlets to dynamically add indexed
     content
Getting Involved
How Can I Participate?

 •   Portlets

 •   Documentation

 •   Email lists

 •   Testing

 •   Sharing deployments
Portlet Development

 New Portlet Initiatives
   •   Content Management

   •   Banner

 Existing Portlets
   •   Patches

   •   Extensions
Share Your Portal

 •   Demo at uPortal Webinars

 •   Share Screenshots

 •   Contribute to uPortal’s YouTube Channel

 •   Register your portal
Other Ways to Participate

 Documentation
   •   Help build skeleton manual

   •   Contribute to uPortal and portlet documentation

   •   Fix errors and omissions

 Email lists
 Testing
Questions?




The uPortal Steering Committee
       uportal-steering-committee@lists.ja-sig.org
Feedback?

                                                            Suggestions?
  http://www.flickr.com/photos/aphrodite/ CC BY-NC-ND 2.0




The uPortal Steering Committee
                            uportal-steering-committee@lists.ja-sig.org

uPortal Roadmap Community Call: uPortal 3.2 and Beyond

  • 1.
    uPortal Roadmap uPortal Community Call December 17, 2009
  • 2.
    Agenda • Introduction • uPortal at the Jasig 2010 March Conference • The uPortal Roadmap • Getting Involved • Questions
  • 3.
  • 4.
    uPortal Steering Committee Elected by the Jasig membership • Erik Olssen, University of California - Irvine • Dwight Raum, The Johns Hopkins University Selected by the uPortal developers • Eric Dalquist, University of Wisconsin-Madison • Jen Bourey, Unicon Representing the Jasig Board • Jim Helwig, University of Wisconsin-Madison (chair, board liason) • Jonathan Markow, Jasig Executive Director (ex-officio member)
  • 5.
    uPortal Community Calls Sharing Collaboration Community http://www.flickr.com/photos/iandolphin CC BY-NC-ND 2.0
  • 6.
    Hold that thought… Questions and discussion at the end Additional feedback by email appreciated http://www.flickr.com/photos/marcobellucci/ CC BY 2.0
  • 7.
  • 8.
    Jasig 2010 Conference “Ten Years of Open Source Innovation” March 8 - 10, 2010 Supplementary Seminars March 7th and 10th Developer Days, March 11 – 12 Town and Country Resort, San Diego, CA Registration is open: http://www.ja-sig.org/conferences/10spring/index.html
  • 9.
    uPortal Presentations • “uPortal Environment Management Clinic” • “Content Management in uPortal: Two Case Studies” • “ZotPortal: Integrating with Legacy Systems and Planning for the Worst Case” • “Implementing Multi-Level Navigation in uPortal” • “Easy Portlet Development with Struts 2”
  • 10.
    uPortal Presentations (cont.) • “Rich Portlet Development” • “Annotation-Based Spring Portlet MVC” • “uPortal 3.2 and Beyond” • “The Future of the Campus Portal” • “uPortal Distributed Administration and Development”
  • 11.
    uPortal Presentations uPortalSupplementary Seminars • “Implementing uPortal” • “uPortal Migration: 3.0 and Beyond” • “Developing JSR 286 Portlets” • “uPortal Mobile Development”
  • 12.
    Jasig 2010 Conference Plus… • uPortal BOFs • uPortal Poster displays and demos • jQuery Seminar • Building accessible web apps And… • Plenty of opportunities to speak with colleagues and experts!
  • 13.
  • 14.
    uPortal 3.2 • Portlet Management • Mobile Browsing • CSS/JS Aggregation • Config Portlet Mode • All Portlets
  • 15.
    CSS/JS Aggregation • Reduce the number of CSS & JS files • Uniquely name aggregations • Cache aggregations “forever” • XML to define skin resources
  • 16.
    CSS/JS Aggregation Multiple Scripts(36KB): <script type="text/javascript" src="javascript/uportal/ajax-preferences-jquery.js"></script> <script type="text/javascript" src="javascript/uportal/search.js"></script> <script type="text/javascript" src="javascript/uportal/up-channel-browser.js"></script> <script type="text/javascript" src="javascript/uportal/up-group-browser.js"></script> <script type="text/javascript" src="javascript/uportal/flyout-nav.js"></script> Become One Script (19KB): <script type="text/javascript" src="javascript/uportal/uportal3_10_CA4AFE27EC643E4F96C7A724419E5C1E.aggr.min.js"> </script>
  • 17.
  • 18.
    Config Portlet Mode • Portlets can provide their own admin UI • Integrated into the new Portlet Manager • Simplifies complex portlets (Web Proxy) • This will be usable by any portlet • Uses spec defined extension points
  • 19.
    Everything is aPortlet! • Default publishing types are all portlets • All the IChannels are still there for migrators • Ease migration to portlets • Steer implementers away from IChannel
  • 20.
  • 21.
    Deprecating IChannel • Explicitly mark channels as not recommended • Start planning around removing channel support
  • 22.
    Portlet Administration • Re-designed user interface • Channel lifecycle management features • Mark channels as created, approved, published, and expired • Delegate permissions for each lifecycle step • Automatic publishing and expiration dates • Parent CPD for common channel parameters
  • 23.
  • 24.
  • 25.
  • 26.
    Mobile Theme • Designed for the iPhone and other WebKit devices • Layout and interactions customized for the mobile environment • Themes for both uPortal and CAS
  • 27.
  • 28.
  • 29.
  • 30.
    uPortal 3.3 • Portlet 2.0 (JSR-286) • Removing IChannel Support • Consistent URLs • DLM Management in AJAX UI • Groups & Permissions Management Portlets • Spring 3.0
  • 31.
    Portlet 2.0 (JSR-286) • Upgrading to Pluto 2.0 • Events, JS/CSS in <head>, resource serving • Will require us to drop direct support for IChannels
  • 32.
    Removing IChannel Support • Necessary to move forward with uPortal • Channels never had a fully defined API • Significant overhead in feature development • This will greatly simplify uPortal's code base
  • 33.
    IChannel Initiatives • Portlet to Channel adaptor stub project • Support for converting your Channels to Portlets • Open-source an IChannel and get help converting it
  • 34.
    Consistent URLs /uPortal/folderName/state/channelName.subscribeId/render.uP • Move navigation state into the URL • Enforce canonical URLs • Allow usage of stats packages • AWStats • Google Analytics
  • 35.
    DLM Fragment Management • Add fragment administration to AJAX UI • REST based service APIs for management • Will replace current User Preferences channel
  • 36.
    Spring 3.0 • Using the new REST Services APIs • Converting to annotation based MVC support • All libraries are reviewed for upgrading with every uPortal release
  • 37.
    uPortal - LongTerm • Refactored Build & Deployment - Maven Only • Spring Security for Authentication • Refactoring of user/profile/layout data model • JPA for all database interaction • Grouper Integration • Multiple layouts per User • Integrated Content Management • Integrated Search Indexing
  • 38.
    Refactored Build • Stop using Ant for utilities • Custom Maven plugins for utility functions • Command line tools that don't require the entire uPortal source
  • 39.
    Spring Security • Replace custom ISecurityContext code • Becomes much easier after channels are removed • Provides for authorization aspects, simplifying code • “Outsource” documentation
  • 40.
    Data Model Cleanup/ JPA • Clarify user/profile/layout relationships • Create uPortal ER Diagram • Replace direct JDBC DAOs with JPA • Enforce database level data constraints
  • 41.
    Grouper Integration • Talking with I2 about what Grouper can provide • Consider replacing group management • Consider just adding it as an additional group service
  • 42.
    Integrated CMS • Embedded Java Content Repository • Portlet with basic WYSIWYG editor • Easy way to publish content • Content Management Integration Support (CMIS) • SOAP based API for CMS integration • Alfresco supports CMIS
  • 43.
    Integrated Search • Embedded Java Search Engine • Searching across static portlet meta-data • Design API for portlets to dynamically add indexed content
  • 44.
  • 45.
    How Can IParticipate? • Portlets • Documentation • Email lists • Testing • Sharing deployments
  • 46.
    Portlet Development NewPortlet Initiatives • Content Management • Banner Existing Portlets • Patches • Extensions
  • 47.
    Share Your Portal • Demo at uPortal Webinars • Share Screenshots • Contribute to uPortal’s YouTube Channel • Register your portal
  • 48.
    Other Ways toParticipate Documentation • Help build skeleton manual • Contribute to uPortal and portlet documentation • Fix errors and omissions Email lists Testing
  • 49.
    Questions? The uPortal SteeringCommittee uportal-steering-committee@lists.ja-sig.org
  • 50.
    Feedback? Suggestions? http://www.flickr.com/photos/aphrodite/ CC BY-NC-ND 2.0 The uPortal Steering Committee uportal-steering-committee@lists.ja-sig.org