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

52
uPortal Roadmap uPortal Roadmap Patches, evolution, and Patches, evolution, and revolution revolution Andrew Petro, Yale Andrew Petro, Yale University University Eric Dalquist, Unicon Eric Dalquist, Unicon
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

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

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

uPortal RoadmapuPortal Roadmap

Patches, evolution, and revolutionPatches, evolution, and revolution

Andrew Petro, Yale UniversityAndrew Petro, Yale University

Eric Dalquist, UniconEric Dalquist, Unicon

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

uPortal ReleasesuPortal Releases

uPortal 2.4.3

MajorMinor

Patch

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

Types of releasesTypes of releases Patch releasesPatch releases

Bug fixes, backwards-compatibleBug fixes, backwards-compatible Every 1-2 monthsEvery 1-2 months Easy to upgradeEasy to upgrade

Minor releasesMinor releases New features and possible database changesNew features and possible database changes Every 6-12 monthsEvery 6-12 months May take work to upgradeMay take work to upgrade

Major releases Major releases Extensive changesExtensive changes Every 2-4 yearsEvery 2-4 years (May be) Difficult to upgrade(May be) Difficult to upgrade

2.4.32.5.1

2.5.02.6.0

3.0.0

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

Marching towards a particular Marching towards a particular releaserelease

Nightly buildNightly build ““Milestone”Milestone”AlphaAlphaBetaBetaRelease CandidateRelease Candidate

General Audience ReleaseGeneral Audience Release

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

This PresentationThis Presentation

uPortal 2.x RoadmapuPortal 2.x Roadmap

uPortal 3.x RoadmapuPortal 3.x Roadmap

Questions and AnswersQuestions and Answers

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

uPortal 2.x RoadmapuPortal 2.x Roadmap

2-4-patches2-4-patches

2-5-patches2-5-patches

Towards 2.6 and beyondTowards 2.6 and beyond

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

What’s a Roadmap?What’s a Roadmap?

2.5.0 Happened. What’s in it?2.5.0 Happened. What’s in it?2.4.3 Plans2.4.3 Plans2.5.1 Plans2.5.1 Plans

2.6.0 Opportunities2.6.0 Opportunities

3.0.0 Revolution3.0.0 Revolution

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

uPortal 2.5.0uPortal 2.5.0

Evolutionary improvementEvolutionary improvement

Incremental new features, Incremental new features,

Takes some work to upgradeTakes some work to upgrade

Released 26 May 2005Released 26 May 20052.5.0

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

2.5.0 features2.5.0 features

DLMDLMBetter JSR-168 supportBetter JSR-168 supportRequire / embrace JDK 1.4Require / embrace JDK 1.4

Chaining throwablesChaining throwablesSupport JDK 1.5Support JDK 1.5SpringSpringDOM3 / JAXP 1.3DOM3 / JAXP 1.3Threading / Concurrency libraryThreading / Concurrency library

2.5.0

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

DLMDLM

Alternative to ALMAlternative to ALMPushed fragments managed as layouts of Pushed fragments managed as layouts of

“fragment owners”“fragment owners”

2.5.0

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

What is DLM?What is DLM?

User’s Layout

Personal Preferences

Declarative Configuration

Fragment Owners

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

Library TabLibrary Tab

2.5.0

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

Library Tab PlusLibrary Tab Plus

2.5.0

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

Simple User Layout ManagementSimple User Layout Management

PersonDirectory

Template Assignment

Template Personal Layout

2.5.0

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

Simple User Layout ManagementSimple User Layout Management

PersonDirectory

Template Assignment

Template Personal Layout

2.5.0

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

““Distributed” User Layout Distributed” User Layout ManagementManagement

PersonDirectory

“Template” Assignment

Dynamic “Template” Personal Layout

2.5.0

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

““Distributed” User Layout Distributed” User Layout ManagementManagement

Person Directory

Template Assignment

Dynamic Template Personal Layout

2.5.0

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

SLM? ALM? DLM?SLM? ALM? DLM?Currently:

SLM ALM DLM

Where we’re going:

SLM CLM

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

JSR-168 support improvementsJSR-168 support improvements

Expiration cachingExpiration cachingRedirectsRedirectsWindow state changing in processActionWindow state changing in processAction

2.5.0

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

JDK 1.4 / Chaining ThrowablesJDK 1.4 / Chaining Throwables

NullPointerException

ChannelRenderingException

PortalException

PortalException

2.5.0

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

JDK 1.5 supportJDK 1.5 support

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

2.5.0

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

SpringSpring

Declarative configurationDeclarative configurationThat’s about Java Objects, rather than That’s about Java Objects, rather than

about Stringsabout Strings

The sun is setting on static factories that The sun is setting on static factories that read class names from portal.properties.read class names from portal.properties.

PersonDirectory as the first Springified PersonDirectory as the first Springified componentcomponent

2.5.0

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

uPortal 2.4.3uPortal 2.4.3

The next 2-4-patches deliverableThe next 2-4-patches deliverableBackwards compatible conservative Backwards compatible conservative

fixes, enhancementfixes, enhancementSharing of fixes for released code.Sharing of fixes for released code.

2.4.3

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

Adoption of threading libraryAdoption of threading library

Backport-util-concurrentBackport-util-concurrent

2.4.3

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

Minor bugfixesMinor bugfixes

2.4.3

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

2.5.12.5.1

Backwards-compatible Backwards-compatible improvement.improvement.

Bugfixes.Bugfixes.

2.5.1

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

uPortal 2.6uPortal 2.6

And beyondAnd beyond

2.6.0

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

uPortal CVS headuPortal CVS head

portal

2.5.0

2.4.0

2-4-patches

2-5-patchesHea

d

2.4.1

2.4.3…

2.5.1

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

Will there be a uP 2.6?Will there be a uP 2.6?

Are there incremental improvements that Are there incremental improvements that could be made beyond uP 2.5 that would could be made beyond uP 2.5 that would make you want to deploy 2.6?make you want to deploy 2.6?

So much so that there are developers, So much so that there are developers, resources interested in working to make resources interested in working to make this happen?this happen?

Then it makes sense to produce uP 2.6.Then it makes sense to produce uP 2.6.

2.6.0

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

Some uP 2.6 ideasSome uP 2.6 ideas

Continue to improve Layout ManagementContinue to improve Layout ManagementStability, Stability, StabilityStability, Stability, StabilityHave we stopped leaking memory yet?Have we stopped leaking memory yet?Skinning improvements, CSS/Divs as Skinning improvements, CSS/Divs as

default exampledefault exampleGroups and PermissionsGroups and PermissionsMore SpringMore Spring……

2.6.0

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

Serializable SessionsSerializable Sessions

And sessions worth serializingAnd sessions worth serializing

Beyond load balancing and clusteringBeyond load balancing and clusteringState-retaining failover *State-retaining failover *

(For channels written to take advantage)(For channels written to take advantage)

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

JIRA for project planningJIRA for project planning

Identify desired improvementsIdentify desired improvementsSchedule for 2.6Schedule for 2.6 ““Assign” resourcesAssign” resourcesTrack to completionTrack to completion

2.6.0

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

Lather, Rinse, RepeatLather, Rinse, Repeat

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

2.6.0

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

Many deployers of uP 2.xMany deployers of uP 2.x

Page 35: UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
Page 36: UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.

Work to doWork to do

portal

2.5.0

2.4.0

2-4-patches

2-5-patchesHea

d

2.4.1

2.4.3…

2.5.1

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

At some pointAt some point

Interest in continuing to develop uP 2.x Interest in continuing to develop uP 2.x waneswanes

Because there’s something better to work Because there’s something better to work onon

Move what we need into uP 3Move what we need into uP 3

And now, for uPortal 3 roadmap…And now, for uPortal 3 roadmap…

2.6.0

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

uPortal 3.0.0uPortal 3.0.0

What’s next in portal technologyWhat’s next in portal technology

3.0.0

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

uPortal 3.0: OverviewuPortal 3.0: OverviewTerminology and paradigm change: Terminology and paradigm change:

Channels replaced by Portlets Channels replaced by Portlets Componentization of framework Componentization of framework Modular rendering pipelineModular rendering pipelineClean separation of business logic and Clean separation of business logic and

persistence layerpersistence layerFull support for uPortal 2 ChannelsFull support for uPortal 2 ChannelsUpgrade toolsUpgrade tools

3.0.0

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

Portlet Domain ObjectsPortlet Domain ObjectsPortlet Application & Portlet DeploymentPortlet Application & Portlet Deployment

Information from portlet.xmlInformation from portlet.xmlGenerated from deployed applicationsGenerated from deployed applications

Portlet Application & Portlet DefinitionPortlet Application & Portlet DefinitionDeployment + ConfigurationDeployment + ConfigurationMaps application idioms to uPortal idiomsMaps application idioms to uPortal idioms

3.0.0

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

Portlet Domain ObjectsPortlet Domain ObjectsPortlet Application & Portlet EntityPortlet Application & Portlet Entity

Definition + ConfigurationDefinition + ConfigurationSynonymous with channel publishingSynonymous with channel publishing

Portlet WindowPortlet WindowPortlet Entities painted on the screenPortlet Entities painted on the screenTracks the state of the portletTracks the state of the portletReferenced by portal layoutReferenced by portal layout

3.0.0

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

3.0.0

Domain Object ArchitectureDomain Object Architecture

Database

DAO’s

Registries

DAO Implementations e.g. Spring JDBC

Caching

uPortal Framework

Domain objects

Domain objectsTransfer objects

DomainObject

Factories

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

WSRP Consumer and ProducerWSRP Consumer and Producer

ConsumerConsumerWSRP4J consumer proxy portletWSRP4J consumer proxy portlet

ProducerProducer Implementation of WSRP4J producerImplementation of WSRP4J producerCurrently using Java Data Objects (JDO)Currently using Java Data Objects (JDO)Missing DAO layer consistent with uPortal 3Missing DAO layer consistent with uPortal 3

3.0.0

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

3.0.0

Rendering ArchitectureRendering Architecture

Con

text

X

Con

text

A

Context Resolver

Def

ault

Con

text

Parameterprocessing

Ren

derin

g pi

pelin

e

Layoutgenerator

Transformer

Transformer

Filter

Serializer

Parses request URL andinitiates actions on portlets

Generates abstract user layout

Chain of transformers andfilters compiles presentationmarkup.

Selects context to process incoming request

Produces final markup, i.e. HTML, WML

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

SecuritySecurity

Acegi featuresAcegi featuresHas analog to uPortal 2 security providersHas analog to uPortal 2 security providersDesigned with Spring Framework in mindDesigned with Spring Framework in mindURL protectionURL protectionBean method-level protectionBean method-level protectionSupport for Yale CASSupport for Yale CASHTTP BASIC AuthenticationHTTP BASIC Authentication

3.0.0

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

Groups and PermissionsGroups and Permissions

Port of groups and permissions Port of groups and permissions from uPortal 2from uPortal 2

Separate module within uPortal 3.0Separate module within uPortal 3.0Configured using SpringConfigured using SpringBuild process to produce separate jar filesBuild process to produce separate jar files

Allows groups/permissions to be used in Allows groups/permissions to be used in applications outside of uPortalapplications outside of uPortal

3.0.0

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

Person DirectoryPerson Directory

Person Directory has already been Person Directory has already been refactored in uPortal 2refactored in uPortal 2

Separate module within uPortal 3Separate module within uPortal 3Build process to produce separate jar filesBuild process to produce separate jar files

Allows person directory to be used in Allows person directory to be used in applications outside of uPortalapplications outside of uPortal

3.0.0

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

Portlet PublishingPortlet Publishing

First publish the portlet applicationFirst publish the portlet applicationMap custom PortletModes and WindowStatesMap custom PortletModes and WindowStatesMap user attributes from uPortal to the portletMap user attributes from uPortal to the portlet

Second publish portlets from the appSecond publish portlets from the appDescriptionDescriptionConfigurationConfigurationGroups and Permissions Groups and Permissions

3.0.0

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

UtilitiesUtilities

Design to be configured as beansDesign to be configured as beansCommand line interface is a wrapper Command line interface is a wrapper

around the beanaround the beanAllows utilities to be run from portal codeAllows utilities to be run from portal codeDbLoaderDbLoader

Now supports constraintsNow supports constraintsPortlet DeployerPortlet Deployer

3.0.0

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

Milestones and BetaMilestones and Beta

Milestone buildsMilestone buildsRender a layout based on an XML layout fileRender a layout based on an XML layout fileRender a layout based on data from database and Render a layout based on data from database and

ability to interact with portletsability to interact with portletsRemaining features minus upgrade tools and Remaining features minus upgrade tools and

instructionsinstructions Beta releaseBeta release

uPortal 2 feature set completeuPortal 2 feature set completeChannels and CAR files workChannels and CAR files workUpgrade tools and instructions availableUpgrade tools and instructions available

3.0.0

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

uPortal 3.0: Help NeededuPortal 3.0: Help Needed

TestingTestingMove uPortal 2 Concurrency changes to Move uPortal 2 Concurrency changes to

3.03.0Move uPortal 2 XML API changes to 3.0Move uPortal 2 XML API changes to 3.0Move Person Directory into a stand-alone Move Person Directory into a stand-alone

JARJARCreate WSRP DAOs and provide Spring Create WSRP DAOs and provide Spring

JDBC implementationJDBC implementation

3.0.0

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

The Future of uPortalThe Future of uPortal

uPortal 2.5uPortal 2.5Testing and minor fixesTesting and minor fixes

uPortal 2.6uPortal 2.6 Incremental development along with uPortal 3Incremental development along with uPortal 3

uPortal 3uPortal 3 Incorporating current uPortal 2 development Incorporating current uPortal 2 development

with the complete re-architecturewith the complete re-architecture