the three p’s portals, portlets and uportalprojects.oucs.ox.ac.uk/rts-events/ppp.pdf · the three...

48
The Three P The Three P s s Portals, Portals, Portlets Portlets and and uPortal uPortal Matthew J. Dovey Matthew J. Dovey Oxford e Oxford e- Science Centre/RTS/OUCS Science Centre/RTS/OUCS [email protected] [email protected]

Upload: others

Post on 10-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

The Three PThe Three P’’ssPortals, Portals, PortletsPortlets and and uPortaluPortal

Matthew J. DoveyMatthew J. DoveyOxford eOxford e--Science Centre/RTS/OUCSScience Centre/RTS/OUCS

[email protected]@oucs.ox.ac.uk

Page 2: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

PortalsPortals

Page 3: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Content SyndicationContent Syndication

Page 4: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Content Syndication Content Syndication –– Cocoon StyleCocoon Style

Page 5: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Portal EnginesPortal Engines

nn Commercial (more Commercial (more ““digital dashboardsdigital dashboards””))nn CA CA CleverPathCleverPath Portal (http://www3.ca.com/Solutions/Product.asp?ID=262)Portal (http://www3.ca.com/Solutions/Product.asp?ID=262)nn ElipvaElipva (http://(http://www.elipva.comwww.elipva.com))nn Epicentre (http://Epicentre (http://www.epicentric.comwww.epicentric.com))nn IBM IBM WebSphereWebSphere Portal (http://wwwPortal (http://www--4.ibm.com/software/webservers/portal)4.ibm.com/software/webservers/portal)nn JahiaJahia (http://www.xo3.com)(http://www.xo3.com)nn Mongoose Portal Studio (Mongoose Portal Studio (www.mongoosetech.com/products/portalstudio.htmlwww.mongoosetech.com/products/portalstudio.html))nn Sun Sun iPlanetiPlanet Portal Server (http://Portal Server (http://www.iplanet.com/products/iplanet_portalwww.iplanet.com/products/iplanet_portal))nn Oracle Portal (http://Oracle Portal (http://www.oracle.comwww.oracle.com))nn Microsoft Microsoft SharepointSharepoint ((http://www.microsoft.com/sharepointhttp://www.microsoft.com/sharepoint))

nn OpenSourceOpenSourcenn JetSpeedJetSpeed (http://(http://jakarta.apache.org/jetspeed/site/index.htmljakarta.apache.org/jetspeed/site/index.html))nn EnhydraEnhydra (http://(http://www.enhydra.orgwww.enhydra.org/)/)nn uPortaluPortal (http://mis105.mis.udel.edu/ja(http://mis105.mis.udel.edu/ja--sig/uportal/index.html)sig/uportal/index.html)nn The Grid Portal Development Kit (http://The Grid Portal Development Kit (http://dast.nlanr.net/Projects/GridPortaldast.nlanr.net/Projects/GridPortal/)/)

Page 6: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

PortletsPortlets

Page 7: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

PortletsPortlets –– Web ProxiesWeb Proxies

Page 8: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

PortletsPortlets and Channelsand Channels

Data Source

ChannelPortlet

Page 9: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– User PreferencesUser Preferences

Page 10: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– User PreferencesUser Preferences

Page 11: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– User PreferencesUser Preferences

Page 12: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– User PreferencesUser Preferences

Page 13: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– ““SkinsSkins””

Page 14: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– ““SkinsSkins””

Page 15: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– ProfilesProfiles

c.f. Window Managersc.f. Window Managers

Page 16: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal -- ProfilesProfiles

Page 17: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 18: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 19: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 20: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal-- Adding Adding PortletsPortlets

Page 21: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 22: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 23: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

PortletPortlet TypesTypes

nn Content Feed Content Feed portletsportletsnn External XML (RSS, XML)External XML (RSS, XML)

nn Proxy Proxy PortletsPortletsnn Web Proxy, Inline Frame, Image, AppletWeb Proxy, Inline Frame, Image, Applet

nn Interactive Interactive PortletsPortletsnn Local API (Local API (portletportlet API, API, uPortaluPortal channel)channel)nn Remote API (Remote API (uPortaluPortal SOAP, WSRP)SOAP, WSRP)

Page 24: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Anatomy of feed Anatomy of feed portletportlet

Web page

SSL

XML/RSS Source

XML/RSS Source

Formated HTML/WML

Formated HTML/WML

XSLT

CSS/Skin

XSLT

SSL

Select XSLT based on browser etc.

Select XSLT based on browser etc.

Page 25: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Sample SSLSample SSL<?xml version="1.0"?><?xml version="1.0"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_webbrowser.xsl" type="text/0_9x_webbrowser.xsl" type="text/xslxsl" media="" media="netscapenetscape"?>"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_webbrowser.xsl" type="text/0_9x_webbrowser.xsl" type="text/xslxsl" media="explorer"?>" media="explorer"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_webbrowser.xsl" type="text/0_9x_webbrowser.xsl" type="text/xslxsl" media="opera"?>" media="opera"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_pda.xsl" 0_9x_pda.xsl" type="text/type="text/xslxsl" media="" media="avantgoavantgo"?>"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_wml.xsl" 0_9x_wml.xsl" type="text/type="text/xslxsl" media="WAP"?>" media="WAP"?>

<?xml<?xml--stylesheetstylesheet hrefhref="CGenericXSLT/RSS/rss="CGenericXSLT/RSS/rss--0_9x_wml.xsl" 0_9x_wml.xsl" type="text/type="text/xslxsl" media="up"?>" media="up"?>

Page 26: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

RSS FeedsRSS Feeds<<rdf:RDFrdf:RDF xmlns:rdfxmlns:rdf="http://www.w3.org/1999/02/22="http://www.w3.org/1999/02/22--rdfrdf--syntaxsyntax--ns#" ns#"

xmlns:rssxmlns:rss="http://purl.org/rss/1.0/" ="http://purl.org/rss/1.0/" xmlns:dcxmlns:dc="http://purl.org/dc/elements/1.1/" ="http://purl.org/dc/elements/1.1/" xmlns:synxmlns:syn="http://purl.org/rss/1.0/modules/syndication/" ="http://purl.org/rss/1.0/modules/syndication/" xmlns:taxoxmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">="http://purl.org/rss/1.0/modules/taxonomy/"><<rss:channelrss:channel rdf:aboutrdf:about="http://="http://www.oucs.ox.ac.uk/rss/news.rsswww.oucs.ox.ac.uk/rss/news.rss">">

<<rss:titlerss:title>OUCS News</>OUCS News</rss:titlerss:title>><<rss:descriptionrss:description>http://>http://www.oucs.ox.ac.ukwww.oucs.ox.ac.uk/<//</rss:descriptionrss:description>><<rss:linkrss:link>Topical news from OUCS</>Topical news from OUCS</rss:linkrss:link>><<rss:itemsrss:items>>

<<rdf:Seqrdf:Seq>><<rdf:lirdf:li rdf:resourcerdf:resource="http://="http://www.oucs.ox.ac.ukwww.oucs.ox.ac.uk/courses"/>/courses"/><<rdf:lirdf:li rdf:resourcerdf:resource="http://="http://www.oucs.ox.ac.uk/opendaywww.oucs.ox.ac.uk/openday/"/>/"/>……

</</rdf:Seqrdf:Seq>></</rss:itemsrss:items>>

</</rss:channelrss:channel>><<rss:itemrss:item rdf:aboutrdf:about="http://="http://www.oucs.ox.ac.ukwww.oucs.ox.ac.uk/courses">/courses">

<<rss:titlerss:title>Trinity term course list now available</>Trinity term course list now available</rss:titlerss:title>><<rss:linkrss:link>http://>http://www.oucs.ox.ac.ukwww.oucs.ox.ac.uk/courses<//courses</rss:linkrss:link>><<rss:descriptionrss:description>Trinity term OUCS courses are now available for online booking.>Trinity term OUCS courses are now available for online booking. Click on Click on

the above title to view and book our courses. Our printed coursethe above title to view and book our courses. Our printed course brochure will also be available brochure will also be available from next week (7th April 2003).</from next week (7th April 2003).</rss:descriptionrss:description>>

<<dc:createddc:created>Mon 31 Mar 15:37</>Mon 31 Mar 15:37</dc:createddc:created>><<dc:creatordc:creator>senior</>senior</dc:creatordc:creator>>

</</rss:itemrss:item>>

Page 27: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

RSS ModulesRSS Modules<?xml version="1.0" encoding="UTF<?xml version="1.0" encoding="UTF--8"?>8"?><<rdf:RDFrdf:RDF xmlns:ssxmlns:ss="http://purl.org/rss/1.0/modules/servicestatus/"="http://purl.org/rss/1.0/modules/servicestatus/"

xmlns:rssxmlns:rss="http://purl.org/rss/1.0/" ="http://purl.org/rss/1.0/" xmlns:rdfxmlns:rdf="http://www.w3.org/1999/02/22="http://www.w3.org/1999/02/22--rdfrdf--syntaxsyntax--ns#">ns#">

<<rss:channelrss:channel rdf:aboutrdf:about="http://="http://someurlsomeurl">"><<rss:titlerss:title>Services</>Services</rss:titlerss:title>><<rss:descriptionrss:description>Services</>Services</rss:descriptionrss:description>><<rss:linkrss:link>http://org</>http://org</rss:linkrss:link>><<ss:aboutStatsss:aboutStats>Percentage responses over last 100 samples</>Percentage responses over last 100 samples</ss:aboutStatsss:aboutStats>><<rss:itemsrss:items>>

<<rdf:Seqrdf:Seq>><<rdf:lirdf:li rss:resourcerss:resource="="urn:ceridwen.org:servicestatus:uidurn:ceridwen.org:servicestatus:uid=1"/>=1"/>

</</rdf:Seqrdf:Seq>></</rss:itemsrss:items>>

</</rss:channelrss:channel>>

<<rss:itemrss:item rdf:aboutrdf:about="="urn:ceridwen.org:servicestatus:uidurn:ceridwen.org:servicestatus:uid=1">=1"><<rss:titlerss:title>OLIS OPAC >OLIS OPAC -- telnet</telnet</rss:titlerss:title>><<rss:descriptionrss:description>Public access to OLIS via telnet (OPAC)</>Public access to OLIS via telnet (OPAC)</rss:descriptionrss:description>><<rss:linkrss:link>>urn:ceridwen.org:servicestatus:uidurn:ceridwen.org:servicestatus:uid=1</=1</rss:linkrss:link>><<ss:respondingss:responding>true</>true</ss:respondingss:responding>><<ss:lastCheckedss:lastChecked>2003>2003--0404--22T14:13:13Z</22T14:13:13Z</ss:lastCheckedss:lastChecked>><<ss:lastSeenss:lastSeen>2003>2003--0404--22T14:13:13Z</22T14:13:13Z</ss:lastSeenss:lastSeen>><<ss:availabilityss:availability>96.0</>96.0</ss:availabilityss:availability>>

</</rss:itemrss:item>>

Page 28: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Some Local FeedsSome Local Feeds

nn OUCSOUCSnn http://http://www.oucs.ox.ac.uk/rss/allnews.rsswww.oucs.ox.ac.uk/rss/allnews.rss

nn Oxford LibrariesOxford Librariesnn http://www.lib.ox.ac.uk/users/news/index.rsshttp://www.lib.ox.ac.uk/users/news/index.rss

nn EtcEtc……

Page 29: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Sample XSLTSample XSLT<<xsl:templatexsl:template match="match="rdf:RDFrdf:RDF" name="" name="documentNodedocumentNode">">

<!<!----<html><html><head><head><title><title>uPortaluPortal 2.0</title>2.0</title>

</head></head>

<body><body>---->><table width="100%" border="0" <table width="100%" border="0" cellspacingcellspacing="0" ="0" cellpaddingcellpadding="0">="0">

<<trtr align="left">align="left"><td width="100%" <td width="100%" valignvalign="bottom" class="="bottom" class="uportaluportal--channelchannel--subtitle">subtitle">

<<xsl:valuexsl:value--of select="./rss10:channel/rss10:description" />of select="./rss10:channel/rss10:description" /></td></td>

<<xsl:ifxsl:if test="./rss10:image != ''">test="./rss10:image != ''"><td><td>

<a target="_blank" <a target="_blank" hrefhref="{./rss10:image/rss10:link}">="{./rss10:image/rss10:link}"><<imgimg border="0" alt="{./rss10:image/rss10:title}" border="0" alt="{./rss10:image/rss10:title}" srcsrc="{./rss10:image/rss10:url}"/>="{./rss10:image/rss10:url}"/>

</a></a></td></td>

</</xsl:ifxsl:if>></</trtr>>

</table></table><<brbr />/>

<<xsl:applyxsl:apply--templates select="/rdf:RDF/rss10:item" />templates select="/rdf:RDF/rss10:item" /><<brbr />/>

<<xsl:applyxsl:apply--templates select="/rdf:RDF/rss10:textinput" />templates select="/rdf:RDF/rss10:textinput" /><!<!----</body></body>

</html></html>---->></</xsl:templatexsl:template>>

……

Page 30: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

XML FeedXML Feednn Similar to RSSSimilar to RSSnn Need special XSLTNeed special XSLT

Page 31: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

ProxiesProxies

nn Web ProxiesWeb Proxiesnn Need simple web pagesNeed simple web pagesnn Ideally use Ideally use uPortaluPortal CSS stylesCSS styles

nn IFramesIFramesnn Need newer browsersNeed newer browsersnn Potential security issuesPotential security issuesnn As per web proxies re contentAs per web proxies re content

nn AppletsAppletsnn ImagesImages

Page 32: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Web ProxyWeb Proxy

Page 33: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

AppletApplet

Page 34: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

ImageImage

Page 35: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Anatomy of Interactive Anatomy of Interactive PortletsPortlets

Web page

SSL

XML

Formated HTML/WML

XSLT

CSS/Skin

User Generated Events (from link clicks)

Select XSLT based on browser etc.

Local Java IChannel class or remoteSOAP WebService

Page 36: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Local Local PortletsPortlets

nn uPortaluPortal APIAPInn Proprietary Proprietary uPortaluPortal APIAPI

nn JAVA JAVA PortletPortlet APIAPInn Java Community SpecificationJava Community Specificationnn Implemented in Implemented in JetSpeedJetSpeednn Overtaken by WSRP/WSIAOvertaken by WSRP/WSIA

Page 37: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal IChannelIChannel InterfaceInterfacepublic interface public interface IChannelIChannel{{public void public void setStaticData(ChannelStaticDatasetStaticData(ChannelStaticData sdsd) )

throws throws PortalExceptionPortalException;;public void public void setRuntimeData(ChannelRuntimeDatasetRuntimeData(ChannelRuntimeData

rd) throws rd) throws PortalExceptionPortalException;;public public ChannelRuntimePropertiesChannelRuntimeProperties

getRuntimePropertiesgetRuntimeProperties();();public void public void receiveEvent(PortalEventreceiveEvent(PortalEvent evev););public void public void renderXML(ContentHandlerrenderXML(ContentHandler out) throws out) throws

PortalExceptionPortalException;;}}

Page 38: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

setRuntimeDatasetRuntimeData samplesamplethis.runtimeDatathis.runtimeData = rd;= rd;

String String sGuesssGuess = = runtimeData.getParameterruntimeData.getParameter ("guess");("guess");

if (if (sGuesssGuess != null)!= null){{

trytry{{

iGuessiGuess = = Integer.parseIntInteger.parseInt ((sGuesssGuess););}}catch (catch (NumberFormatExceptionNumberFormatException nfenfe)){{

// Assume that the guess was the same as last time// Assume that the guess was the same as last time}}

bFirstTimebFirstTime = false;= false;iGuessesiGuesses++;++;

Page 39: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

renderXMLrenderXML samplesampleString String sSuggestsSuggest = null;= null;

if (if (iGuessiGuess < < iAnsweriAnswer))sSuggestsSuggest = "higher";= "higher";

else if (else if (iGuessiGuess > > iAnsweriAnswer))sSuggestsSuggest = "lower";= "lower";

StringWriterStringWriter w = new w = new StringWriterStringWriter ();();w.writew.write ("<?xml version='1.0'?>("<?xml version='1.0'?>\\n");n");w.writew.write ("<content>("<content>\\n");n");w.writew.write (" <(" <minNumminNum>" + >" + iMinNumiMinNum + "</+ "</minNumminNum>>\\n");n");w.writew.write (" <(" <maxNummaxNum>" + >" + iMaxNumiMaxNum + "</+ "</maxNummaxNum>>\\n");n");w.writew.write (" <guesses>" + (" <guesses>" + iGuessesiGuesses + "</guesses>+ "</guesses>\\n");n");w.writew.write (" <guess>" + (" <guess>" + iGuessiGuess + "</guess>+ "</guess>\\n");n");

if (if (bFirstTimebFirstTime)); // Do nothing; // Do nothing

else if (else if (iGuessiGuess == == iAnsweriAnswer)){{w.writew.write (" <answer>" + (" <answer>" + iAnsweriAnswer + "</answer>+ "</answer>\\n");n");bFirstTimebFirstTime = true;= true;iGuessesiGuesses = 0;= 0;iAnsweriAnswer = = getRandomNumbergetRandomNumber ((iMinNumiMinNum, , iMaxNumiMaxNum););

}}elseelsew.writew.write (" <suggest>" + (" <suggest>" + sSuggestsSuggest + "</suggest>+ "</suggest>\\n");n");

w.writew.write ("</content>("</content>\\n");n");

XSLT XSLT xsltxslt = new = new XSLT(thisXSLT(this););xslt.setXML(w.toStringxslt.setXML(w.toString());());xslt.setXSL(sslLocationxslt.setXSL(sslLocation, "main", , "main", runtimeData.getBrowserInforuntimeData.getBrowserInfo());());xslt.setTarget(outxslt.setTarget(out););xslt.setStylesheetParameter("baseActionURLxslt.setStylesheetParameter("baseActionURL", ", runtimeData.getBaseActionURLruntimeData.getBaseActionURL());());xslt.transformxslt.transform();();

Page 40: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Sample XSLTSample XSLT<<xsl:paramxsl:param name="name="baseActionURLbaseActionURL">default</">default</xsl:paramxsl:param>>

<<xsl:templatexsl:template match="content">match="content"><<xsl:choosexsl:choose>><<xsl:whenxsl:when test="suggest">test="suggest">Your guess of <Your guess of <xsl:valuexsl:value--of select="guess"/> was incorrect.of select="guess"/> was incorrect.Try again Try again ---- guess <span class="guess <span class="uportaluportal--channelchannel--strong"><strong"><xsl:valuexsl:value--of select="suggest"/></span>!<of select="suggest"/></span>!<brbr />/>You have made <You have made <xsl:valuexsl:value--of select="guesses"/> guesses.of select="guesses"/> guesses.

</</xsl:whenxsl:when>><<xsl:whenxsl:when test="answer">test="answer">You got it after <span class="You got it after <span class="uportaluportal--channelchannel--strong"><strong"><xsl:valuexsl:value--of select="guesses"/></span> tries!of select="guesses"/></span> tries!The answer was <span class="The answer was <span class="uportaluportal--channelchannel--strong"><strong"><xsl:valuexsl:value--of select="answer"/></span>!<of select="answer"/></span>!<brbr />/><p>Please play again...</p><p>Please play again...</p>

</</xsl:whenxsl:when>><<xsl:otherwisexsl:otherwise>This is a number guessing game.<>This is a number guessing game.<brbr /><//></xsl:otherwisexsl:otherwise>>

</</xsl:choosexsl:choose> >

I am thinking of a number between I am thinking of a number between <<xsl:valuexsl:value--of select="of select="minNumminNum"/> and "/> and <<xsl:valuexsl:value--of select="of select="maxNummaxNum"/>.<"/>.<brbr />/>What's your guess?What's your guess?<form action="{$<form action="{$baseActionURLbaseActionURL}" method="post">}" method="post"><input type="hidden" name="<input type="hidden" name="uP_rootuP_root" value="me"/>" value="me"/><input type="text" name="guess" size="4" class="<input type="text" name="guess" size="4" class="uportaluportal--inputinput--text"/>text"/><input type="submit" value="Submit" class="<input type="submit" value="Submit" class="uportaluportal--button"/>button"/>

</form></form></</xsl:templatexsl:template>>

Page 41: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Customisation Customisation –– IPersonIPerson InterfaceInterface

public interface public interface IPersonIPerson extends extends IAdditionalDescriptorIAdditionalDescriptor, , IBasicEntityIBasicEntity{{public static final String USERNAME = "username";public static final String USERNAME = "username";public void public void setIDsetID ((intint sIDsID););public public intint getIDgetID ();();public void public void setFullNamesetFullName (String (String sFullNamesFullName););public String public String getFullNamegetFullName ();();public Object public Object getAttributegetAttribute (String key);(String key);public void public void setAttributesetAttribute (String key, Object value);(String key, Object value);public Enumeration public Enumeration getAttributesgetAttributes ();();public Enumeration public Enumeration getAttributeNamesgetAttributeNames ();();public void public void setSecurityContextsetSecurityContext ((ISecurityContextISecurityContext securityContextsecurityContext););public public ISecurityContextISecurityContext getSecurityContextgetSecurityContext ();();public public booleanboolean isGuestisGuest ();();

}}

Page 42: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 43: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Remote Remote PortletsPortlets

nn uPortaluPortal SOAP APISOAP APInn SOAP Version of SOAP Version of IChannelIChannel APIAPI

nn WSRP/WSIAWSRP/WSIAnn OASIS Standard for Interactive Applications OASIS Standard for Interactive Applications

and Remote Portalsand Remote Portalsnn http://www.oasishttp://www.oasis--

open.org/committees/tc_home.php?wg_abbrev=wsrpopen.org/committees/tc_home.php?wg_abbrev=wsrpnn 17 April 2003 Draft 17 April 2003 Draft --> 85 pages> 85 pages

Page 44: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Remote Remote PortletsPortlets AnatomyAnatomy

Web page

Formated HTML/WML

CSS/Skin

User Generated Events (from link clicks)

Local IChannel SOAP Stub SOAP WebService

Function Callsand Responses

over SOAP

Init: Browser Type/User Information etc

Page 45: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal –– Adding Adding PortletsPortlets

Page 46: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

uPortaluPortal Remote Channel InterfaceRemote Channel Interfacepublic interface public interface RemoteChannelRemoteChannel extends Remote {extends Remote {public void public void authenticate(Stringauthenticate(String username, String password) throws username, String password) throws

RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

public String public String instantiateChannel(StringinstantiateChannel(String fnamefname) throws ) throws RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

public Element public Element renderChannel(StringrenderChannel(String instanceIdinstanceId, , ChannelRuntimeDataChannelRuntimeDataruntimeDataruntimeData) throws ) throws RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

public void public void receiveEvent(StringreceiveEvent(String instanceIdinstanceId, , PortalEventPortalEvent portalEventportalEvent) ) throws throws RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

public void public void freeChannel(StringfreeChannel(String instanceIdinstanceId) throws ) throws RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

public void logout() throws public void logout() throws RemoteExceptionRemoteException, , org.jasig.portal.channels.remotechannel.Exceptionorg.jasig.portal.channels.remotechannel.Exception;;

}}

Page 47: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

WSRP OverviewWSRP Overview

Perform Portlet Action

Destroy Portlet Instance

Create Portlet Instance

WSRP Consumer(Portal)

WSRP Producer(Service)Adds

Portlet

RemovesPortlet

ClicksAction

Get Portlet MarkupI S

S

User

ViewsPortlet

Allocate new Instance

Generate Markup,(opt: create Session)

Action Handling(opt: create Session)

I

I

A

I A

I

I A

I

I S

I

Destroy instance

I

AS

I A

Page 48: The Three P’s Portals, Portlets and uPortalprojects.oucs.ox.ac.uk/rts-events/PPP.pdf · The Three P’s Portals, Portlets and uPortal Matthew J. Dovey Oxford e-Science Centre/RTS/OUCS

Further ReadingFurther Reading

nn http://www.jahttp://www.ja--sig.orgsig.orgnn http://mis105.mis.udel.edu/jahttp://mis105.mis.udel.edu/ja--sig/uportal/sig/uportal/nn http://www.oasishttp://www.oasis--

open.org/committees/tc_home.php?wg_abbrevopen.org/committees/tc_home.php?wg_abbrev==wsrpwsrp

nn http://www.jisc.ac.uk/index.cfm?name=tehttp://www.jisc.ac.uk/index.cfm?name=techwatch_report_0103chwatch_report_0103