Presentation is loading. Please wait.

Presentation is loading. Please wait.

The uPortal Framework and Channels

Similar presentations


Presentation on theme: "The uPortal Framework and Channels"— Presentation transcript:

1 The uPortal Framework and Channels
Robert Sherratt Digital University Project ( University of Hull

2 The uPortal Framework and Channels
Background – uPortal and JA-SIG Channels APIs deployment in the portal What next…

3 JA-SIG Java Architectures Special Interest Group Formed in 1999
Formerly Administrative Computing Formed in 1999 Consortia of over 200 institutions Clearinghouse uPortal JA-SIG UK

4 What is uPortal Open source portal framework Developed by JA-SIG
Based on open standards Java, XML, XSL Used for production of institutional portals Staff, students (alumni, perspective students) c. 35 live sites

5 uPortal details Designed to integrate with existing IT infrastructure
Servlet containers, databases, directory services, authentication systems Very flexible layout engine Layout details stored in db via JDBC Output (XML), Structure (XSL), Skins (CSS + graphics) Customization

6 uPortal details - 2 User profile Framework contributions
LDAP/JDBC storage Uses eduPerson standard Add your own attributes Framework contributions Development community plus core team Both commercial and higher education

7 uPortal versions 1.0 - July 2000 1.5/1.6 – 2001 2.0 – February 2002
Roles, performance 2.0 – February 2002 XSLT 2.1 – December 2002 Groups & Permissions, Composite group service 2.2 – October 2003 Aggregated layouts, i18n

8 What is a channel? User Channel Portal layer Content Data Applications

9 uPortal Channels For displaying content within uPortal
Access back-end content/functions and present to user Default channel types Applet, Image, Inline Frame, Remote Channel Proxy, RSS, Web Proxy, XML Transformation “Proprietary” Channel APIs IChannel – simple structure Multithreaded/cacheable - base classes and interfaces

10 The Channel APIs - IChannel
setStaticData called once when the channel is started setRuntimeData called every time the channel is used renderXML transforms the channel content

11 IChannel – Hello Name setRuntimeData
public void setRuntimeData (ChannelRuntimeData rd) { runtimeData = rd; sName = runtimeData.getParameter ("name"); }

12 IChannel - renderXML public void renderXML (ContentHandler out) throws PortalException { StringWriter w = new StringWriter (); w.write ("<?xml version='1.0'?>\n"); w.write ("<content>\n"); if (sName != null) w.write (" <name>" + sName + "</name>\n"); w.write ("</content>\n"); XSLT xslt = new XSLT(this); xslt.setXML(w.toString()); xslt.setXSL(sslLocation, "main", runtimeData.getBrowserInfo()); xslt.setTarget(out); xslt.setStylesheetParameter("baseActionURL", runtimeData.getBaseActionURL()); xslt.transform(); }

13 Transforming content – Stylesheet list
private static final String sslLocation = "CHelloName/CHelloName.ssl"; <?xml-stylesheet title="main" href="CHelloName/xhtml.xsl" type="text/xsl" media="netscape"?> <?xml-stylesheet alternate="yes" href="CHelloName/xhtml.xsl" type="text/xsl" media="explorer"?> Use to support different devices/formats

14 Transforming content - XSL
<xsl:template match="content"> <xsl:choose> <xsl:when test="name"> Welcome to uPortal <xsl:value-of select="name"/> .<br /> </xsl:when> </xsl:choose> Please enter your name:<br /> <form action="{$baseActionURL}" method="post"> <input type="text" name="name" size="10" class="uportal-input-text"/> <input type="submit" value="Submit" class="uportal-button"/> </form> </xsl:template>

15 Multithreaded and cacheable channels
Multithreaded channels are trusted to keep their own state/session the same methods as IChannel and also include channel instance key renderXML the same except for: ChannelState channelState = (ChannelState)channelStateMap.get(uid); ChannelStaticData staticData = channelState.getStaticData(); ChannelRuntimeData runtimeData = channelState.getRuntimeData(); additional methods for generating a channel instance key

16 The channel within the framework

17 General settings

18 Channel specific data

19 Channel categories

20 Channel groups

21 What next Easier deployment with CARs JSR 168 awaiting final release
Web Services… WSRP awaiting approval as an OASIS standard Next version of uPortal, 2.2, will have: WSRP producer channel WSRP consumer channel

22 Questions? Digital University Project (www.digital.hull.ac.uk)


Download ppt "The uPortal Framework and Channels"

Similar presentations


Ads by Google