Presentation is loading. Please wait.

Presentation is loading. Please wait.

UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.

Similar presentations


Presentation on theme: "UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc."— Presentation transcript:

1 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.

2 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Outline Project goals Architecture overview –Flexibility through configuration Demonstration –uPortal2 UI support Features –What’s currently there Release targets and timelines –More features to come

3 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Project goals Long-term goals for the framework –configuration flexibility rendering mechanisms HTTP parameter generation/processing mechanisms data layer implementations –code maintenance in a long run isolated, individually configured groups of components transparent, sparse coupling

4 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Project goals Goals for the initial release –Spring framework Dependency injection Unified configuration –JSR168 support –Complete WSRP integration –uPortal2 backwards-compatibility –Modular support for subprojects: GAP, PersonDir –Shedding custom code: ACEGI, Hibernate

5 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Outline Project goals Architecture overview –Flexibility through configuration Demonstration –uPortal2 UI support Features –What’s currently there Release targets and timelines –More features to come

6 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: portal contexts What is a Portal Context ? –Defines all aspects of a traditional portal instance Parameter syntax Design, navigation, profiles Portlet selections, session scopes –Multiple, concurrent contexts can be used Example contexts –uPortal2 clone –static frame showing a single portlet –service context for AJAX callback uPortal context

7 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: context resolvers Alternative context resolution strategies –user information authentication state user affiliation (groups), attributes (permissions) –user agent information (browser) –internal states, session (i.e. down for maintenance) Servlet Path resolver –switch contexts by going to a specific servlet path –http://host/uPortal/context/... AJAX callbacks … Context Resolver uPortal2 lookalike Single portlet

8 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 output Architecture overview: rendering Rendering is compiled by components –Rendering trees –Linear pipelines Rendering component –Creates or modifies content –Determines viable rendering path –Multiple component types SAX components –XSLT transformer filter String components –Portlet content injector –Built to accommodate other component types

9 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: Spring configuration … … User layout Structure and theme Caching/Serialization Portlet rendering uPortal2 lookalike context rendering pipeline configuration

10 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 output Architecture overview: render caching Some components cache content –ICacheFilter interface –Independent of the content type (SAX, String) Cache manager –Determines available cache entry points –Checks entry point validity –Chooses optimal entry point –Replays cache

11 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: URL parameter syntax URL construction and request parameter processing is programmatic and modular –URLs are generated by implementations, not by hand –Framework components come with their own URL constructors and parameter processors Constructors Processors

12 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: URL construction URL construction in Java code –Construct URLs by calling methods on command interfaces –Portlet error handler URL example: –Portlets can access framework URL syntax Outside of JSR168 Used by uPortal3 management portlets IPortletErrorCommands c = portalUrl.getUrlConstructor (name); c.restartBrokenPortlet (portletWindowId); portalUrl.toString ();

13 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: URL construction URL construction in XSLT stylesheets –Using extension elements portlet framework

14 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: Examples of URL syntax features uPortal2 syntax support –Layout management, Channel/Folder attributes, etc. Encode navigational state –Chemistry Tab: http://host/uPortal/Chemistry101/ –Mail portlet: http://host/uPortal/portlet/mail Encode user spaces –Users’ tab: http://host/uPortal/~peter/blogPage/

15 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: controllers User –Keeps track of the current user –Distributes authentication events –ACEGI implementation Persistence –Coordinates persistence for a context Locale manager –Maintains and resolves multiple sources of locale preference

16 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: portlet handling PortletWindowManager –Coordinates portlet render/action requests –Rendering models Linear Multithreaded –Error handler Portlet Domain Objects –Deployment (as distributed) –Definition (published) –Entity (subscribed) –Window (placed in the layout)

17 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: portlet registries Database DAO’s Registries DAO Implementations e.g. Spring JDBC Caching uPortal Framework Domain objects Transfer objects Domain Object Factories

18 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 WSRP Consumer Support –Similar to uPortal 2.4 –Confirmed integration to the Sakai framework Producer Support –Any portlet can be exposed –Re-use configured instances –uPortal as a service provider

19 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Porltets Specification Compliance –Complete JSR-168 specification compliance –Ease of extension for custom features Management –Better use of portlet deployment data –Administrators need less detailed portlet knowledge Future compatibility –JSR-286 on the horizon –Significantly less effort for integration with uPortal3

20 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Object Caching uPortal2 has no explicit caches –Caches are hidden in the framework –Difficult to configured One cache per object type Reduces long term references –Lowers the possibility of memory leaks long term –Less complicated framework code Performance tuning for your environment –Fine grained controls provide flexibility

21 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Object Caching Cache Configuration registries Context 32 caches Context

22 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 2 Compatibility Full uPortal 2 stylesheet support is available –Structure and theme style compatibility –URL Syntax –Stylesheet Definition Files (SDFs) –Support provided by uPortal3 API implementations Simple User Layout Management –Port of the basic uPortal 2 layout manager –Provides layout customization for uPortal 3 –Template user support

23 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 2 Compatibility - TODO IChannel Support –We need community feedback –What APIs do your channels use? –IBM’s API Scanner: http://www.alphaworks.ibm.com/tech/aus DLM Integration –Targeted as the default layout manager Database Upgrade Tools –Layout customizations –User preferences

24 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Hibernate Standard persistence mechanism for uPortal3 –All DAOs will use Hibernate for persistence Greatly reduced persistence code –No SQL to maintain –Simplifies adding persisted data –Integrated schema update tools Provides greater range of database support

25 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Unit Testing New design is easier to test –Smaller components are more specialized Long term stability –Tests provide assurance during customization Greater initial coverage –Majority of the code is covered by tests

26 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Services Sub-Project Development –Break out uPortal independent services –Provides functionality to more than just uPortal Current Sub-Projects –Groups and Permissions –Person Directory

27 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Release Strategy Milestone 3 –Released December 2nd –Group management portlet ported –User locale preference framework –uPortal 2 stylesheet support –uPortal 3 Rendering context –Service integration Person Directory Groups Framework December January February MarchApril May

28 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Release Strategy Alpha –Target: End of February 2006 –Implementation cleanup –Permissions framework integration –Service integration testing –Portlet support verification December January February MarchApril May

29 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Release Strategy Beta –Target: End of March 2006 –Ready to Rock! –Complete ‘Portlet Only’ portal –Usable by new adopters for evaluation and planning December January February MarchApril May

30 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Release Strategy Release Candidates & 3.0 Final –Need community involvement! –IChannel support –Database migration tools –Distributed Layout Management

31 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: rendering attributes Rendering attributes – “rendering preferences” –Information associated with layout elements –Defined by users, transforms, components –uPortal2 example: column width Generalized in uPortal3 –Providers: determine appropriate attribute sources By folderId, portletWindowId, element name, etc. –Values: handle persistence, scoping –Injectors: insert rendering attribute information XSLT params, elements, etc. –Multiple attribute scopes: transforms, layouts, portlets

32 uPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 Architecture overview: rendering attributes Simple rendering attribute provider example –Recognizes elements by @ID attribute –Stores attribute values for that user in a DB –Outputs default values for missing attributes –Configured to inject attributes as elements Hierarchical rendering attribute provider –Recognizes elements by @ID attribute Outputs attribute values defined by the user –Recognizes by @fragmentId attribute Outputs attribute values defined by the fragment author


Download ppt "UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc."

Similar presentations


Ads by Google