UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist,...
-
date post
21-Dec-2015 -
Category
Documents
-
view
218 -
download
1
Transcript of UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist,...
uPortal RoadmapuPortal Roadmap
Patches, evolution, and revolutionPatches, evolution, and revolution
Andrew Petro, Yale UniversityAndrew Petro, Yale University
Eric Dalquist, UniconEric Dalquist, Unicon
uPortal ReleasesuPortal Releases
uPortal 2.4.3
MajorMinor
Patch
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
Marching towards a particular Marching towards a particular releaserelease
Nightly buildNightly build ““Milestone”Milestone”AlphaAlphaBetaBetaRelease CandidateRelease Candidate
General Audience ReleaseGeneral Audience Release
This PresentationThis Presentation
uPortal 2.x RoadmapuPortal 2.x Roadmap
uPortal 3.x RoadmapuPortal 3.x Roadmap
Questions and AnswersQuestions and Answers
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
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
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
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
DLMDLM
Alternative to ALMAlternative to ALMPushed fragments managed as layouts of Pushed fragments managed as layouts of
“fragment owners”“fragment owners”
2.5.0
What is DLM?What is DLM?
User’s Layout
Personal Preferences
Declarative Configuration
Fragment Owners
Library TabLibrary Tab
2.5.0
Library Tab PlusLibrary Tab Plus
2.5.0
Simple User Layout ManagementSimple User Layout Management
PersonDirectory
Template Assignment
Template Personal Layout
2.5.0
Simple User Layout ManagementSimple User Layout Management
PersonDirectory
Template Assignment
Template Personal Layout
2.5.0
““Distributed” User Layout Distributed” User Layout ManagementManagement
PersonDirectory
“Template” Assignment
Dynamic “Template” Personal Layout
2.5.0
““Distributed” User Layout Distributed” User Layout ManagementManagement
Person Directory
Template Assignment
Dynamic Template Personal Layout
2.5.0
SLM? ALM? DLM?SLM? ALM? DLM?Currently:
SLM ALM DLM
Where we’re going:
SLM CLM
JSR-168 support improvementsJSR-168 support improvements
Expiration cachingExpiration cachingRedirectsRedirectsWindow state changing in processActionWindow state changing in processAction
2.5.0
JDK 1.4 / Chaining ThrowablesJDK 1.4 / Chaining Throwables
NullPointerException
ChannelRenderingException
PortalException
PortalException
2.5.0
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
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
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
Adoption of threading libraryAdoption of threading library
Backport-util-concurrentBackport-util-concurrent
2.4.3
Minor bugfixesMinor bugfixes
2.4.3
2.5.12.5.1
Backwards-compatible Backwards-compatible improvement.improvement.
Bugfixes.Bugfixes.
2.5.1
uPortal 2.6uPortal 2.6
And beyondAnd beyond
2.6.0
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
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
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
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)
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
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
Many deployers of uP 2.xMany deployers of uP 2.x
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
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
uPortal 3.0.0uPortal 3.0.0
What’s next in portal technologyWhat’s next in portal technology
3.0.0
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
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
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
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
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
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
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
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
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
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
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
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
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
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