Presentation is loading. Please wait.

Presentation is loading. Please wait.

UPortal 3JA-SIG Summer Conference 2006 uPortal 3.

Similar presentations


Presentation on theme: "UPortal 3JA-SIG Summer Conference 2006 uPortal 3."— Presentation transcript:

1 uPortal 3JA-SIG Summer Conference 2006 uPortal 3

2 JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 Architecture overview: Spring configuration … … User layout Structure and theme Caching/Serialization Portlet rendering uPortal2 lookalike context rendering pipeline configuration

10 uPortal 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 Architecture overview: URL construction URL construction in XSLT stylesheets –Using extension elements portlet framework

14 uPortal 3JA-SIG Summer Conference 2006 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 3JA-SIG Summer Conference 2006 Architecture overview: rendering attributes Rendering attributes – “rendering preferences” –Information associated with layout elements –Defined by users, transforms, components –uPortal2 example: column width before attribute injection after attribute injection

16 uPortal 3JA-SIG Summer Conference 2006 Architecture overview: rendering attributes 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

17 uPortal 3JA-SIG Summer Conference 2006 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

18 uPortal 3JA-SIG Summer Conference 2006 Architecture overview: rendering attributes Using different providers and injectors before attribute injection after attribute injection

19 uPortal 3JA-SIG Summer Conference 2006 Architecture overview: URL construction <rendering:attribute soruce=“theme” name=“width” value=“30%” select=“//column[@ID=‘7’]”/> explicit node selection applying to current node

20 uPortal 3JA-SIG Summer Conference 2006 More on URL construction: layout management Problem –Integrated modes, AJAX, etc. requires construction of URLs for layout management –uP2 provides only basic commands (i.e. add new folder, delete, etc.) Approach –Flexible set of simple extension elements –Compose complex LM commands –Integrate with rendering attribute commands

21 uPortal 3JA-SIG Summer Conference 2006 Architecture overview: URL construction basic operations add node operations

22 uPortal 3JA-SIG Summer Conference 2006 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

23 uPortal 3JA-SIG Summer Conference 2006 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)

24 uPortal 3JA-SIG Summer Conference 2006 Architecture overview: portlet registries Database DAO’s Registries DAO Implementations e.g. Spring JDBC Caching uPortal Framework Domain objects Transfer objects Domain Object Factories

25 uPortal 3JA-SIG Summer Conference 2006 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

26 uPortal 3JA-SIG Summer Conference 2006 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

27 uPortal 3JA-SIG Summer Conference 2006 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

28 uPortal 3JA-SIG Summer Conference 2006 Object Caching Cache Configuration Registries context 32 Caches context

29 uPortal 3JA-SIG Summer Conference 2006 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

30 uPortal 3JA-SIG Summer Conference 2006 uPortal 2 Compatibility - TODO IChannel Support –Support for basic channels is already there –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

31 uPortal 3JA-SIG Summer Conference 2006 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

32 uPortal 3JA-SIG Summer Conference 2006 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

33 uPortal 3JA-SIG Summer Conference 2006 Services Sub-Project Development –Break out uPortal independent services –Provides functionality to more than just uPortal Current Sub-Projects –Groups and Permissions –Person Directory

34 uPortal 3JA-SIG Summer Conference 2006 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

35 uPortal 3JA-SIG Summer Conference 2006 Release Strategy Alpha –Target: End of February 2006 –Implementation cleanup –Permissions framework integration –Service integration testing –Portlet support verification December January February MarchApril May

36 uPortal 3JA-SIG Summer Conference 2006 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

37 uPortal 3JA-SIG Summer Conference 2006 Release Strategy Release Candidates & 3.0 Final –Need community involvement! –IChannel support –Database migration tools –Distributed Layout Management


Download ppt "UPortal 3JA-SIG Summer Conference 2006 uPortal 3."

Similar presentations


Ads by Google