The Three P - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

The Three P

Description:

Content Syndication Cocoon Style. Portal Engines. Commercial (more 'digital dashboards' ... Mongoose Portal Studio (www.mongoosetech.com/products/portalstudio.html) ... – PowerPoint PPT presentation

Number of Views:134
Avg rating:3.0/5.0
Slides: 49
Provided by: Matthew590
Category:
Tags: mongoose | three

less

Transcript and Presenter's Notes

Title: The Three P


1
The Three PsPortals, Portlets and uPortal
  • Matthew J. Dovey
  • Oxford e-Science Centre/RTS/OUCS
  • matthew.dovey_at_oucs.ox.ac.uk

2
Portals
3
Content Syndication
4
Content Syndication Cocoon Style
5
Portal Engines
  • Commercial (more digital dashboards)
  • CA CleverPath Portal (http//www3.ca.com/Solutions
    /Product.asp?ID262)
  • Elipva (http//www.elipva.com)
  • Epicentre (http//www.epicentric.com)
  • IBM WebSphere Portal (http//www-4.ibm.com/softwar
    e/webservers/portal)
  • Jahia (http//www.xo3.com)
  • Mongoose Portal Studio (www.mongoosetech.com/produ
    cts/portalstudio.html)
  • Sun iPlanet Portal Server (http//www.iplanet.com/
    products/iplanet_portal)
  • Oracle Portal (http//www.oracle.com)
  • Microsoft Sharepoint (http//www.microsoft.com/sha
    repoint)
  • OpenSource
  • JetSpeed (http//jakarta.apache.org/jetspeed/site/
    index.html)
  • Enhydra (http//www.enhydra.org/)
  • uPortal (http//mis105.mis.udel.edu/ja-sig/uportal
    /index.html)
  • The Grid Portal Development Kit
    (http//dast.nlanr.net/Projects/GridPortal/)

6
Portlets
7
Portlets Web Proxies
8
Portlets and Channels
Channel
Portlet
9
uPortal User Preferences
10
uPortal User Preferences
11
uPortal User Preferences
12
uPortal User Preferences
13
uPortal Skins
14
uPortal Skins
15
uPortal Profiles
  • c.f. Window Managers

16
uPortal - Profiles
17
uPortal Adding Portlets
18
uPortal Adding Portlets
19
uPortal Adding Portlets
20
uPortal- Adding Portlets
21
uPortal Adding Portlets
22
uPortal Adding Portlets
23
Portlet Types
  • Content Feed portlets
  • External XML (RSS, XML)
  • Proxy Portlets
  • Web Proxy, Inline Frame, Image, Applet
  • Interactive Portlets
  • Local API (portlet API, uPortal channel)
  • Remote API (uPortal SOAP, WSRP)

24
Anatomy of feed portlet
25
Sample SSL
  • lt?xml version"1.0"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_w
    ebbrowser.xsl" type"text/xsl"
    media"netscape"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_w
    ebbrowser.xsl" type"text/xsl"
    media"explorer"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_w
    ebbrowser.xsl" type"text/xsl" media"opera"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_p
    da.xsl" type"text/xsl" media"avantgo"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_w
    ml.xsl" type"text/xsl" media"WAP"?gt
  • lt?xml-stylesheet href"CGenericXSLT/RSS/rss-0_9x_w
    ml.xsl" type"text/xsl" media"up"?gt

26
RSS Feeds
  • ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
    df-syntax-ns" xmlnsrss"http//purl.org/rss/1.0/
    " xmlnsdc"http//purl.org/dc/elements/1.1/"
    xmlnssyn"http//purl.org/rss/1.0/modules/syndica
    tion/" xmlnstaxo"http//purl.org/rss/1.0/modules
    /taxonomy/"gt
  • ltrsschannel rdfabout"http//www.oucs.ox.ac.uk/
    rss/news.rss"gt
  • ltrsstitlegtOUCS Newslt/rsstitlegt
  • ltrssdescriptiongthttp//www.oucs.ox.ac.uk/lt/rss
    descriptiongt
  • ltrsslinkgtTopical news from OUCSlt/rsslinkgt
  • ltrssitemsgt
  • ltrdfSeqgt
  • ltrdfli rdfresource"http//www.oucs.ox.ac.uk
    /courses"/gt
  • ltrdfli rdfresource"http//www.oucs.ox.ac.uk
    /openday/"/gt
  • lt/rdfSeqgt
  • lt/rssitemsgt
  • lt/rsschannelgt
  • ltrssitem rdfabout"http//www.oucs.ox.ac.uk/cou
    rses"gt
  • ltrsstitlegtTrinity term course list now
    availablelt/rsstitlegt
  • ltrsslinkgthttp//www.oucs.ox.ac.uk/courseslt/rss
    linkgt
  • ltrssdescriptiongtTrinity term OUCS courses are
    now available for online booking. Click on the
    above title to view and book our courses. Our
    printed course brochure will also be available
    from next week (7th April 2003).lt/rssdescriptiongt
  • ltdccreatedgtMon 31 Mar 1537lt/dccreatedgt
  • ltdccreatorgtseniorlt/dccreatorgt

27
RSS Modules
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltrdfRDF xmlnsss"http//purl.org/rss/1.0/modules
    /servicestatus/" xmlnsrss"http//purl.org/rss/1.
    0/" xmlnsrdf"http//www.w3.org/1999/02/22-rdf-sy
    ntax-ns"gt
  • ltrsschannel rdfabout"http//someurl"gt
  • ltrsstitlegtServiceslt/rsstitlegt
  • ltrssdescriptiongtServiceslt/rssdescriptiongt
  • ltrsslinkgthttp//orglt/rsslinkgt
  • ltssaboutStatsgtPercentage responses over last
    100 sampleslt/ssaboutStatsgt
  • ltrssitemsgt
  • ltrdfSeqgt
  • ltrdfli rssresource"urnceridwen.orgservices
    tatusuid1"/gt
  • lt/rdfSeqgt
  • lt/rssitemsgt
  • lt/rsschannelgt
  • ltrssitem rdfabout"urnceridwen.orgservicestatu
    suid1"gt
  • ltrsstitlegtOLIS OPAC - telnetlt/rsstitlegt
  • ltrssdescriptiongtPublic access to OLIS via
    telnet (OPAC)lt/rssdescriptiongt
  • ltrsslinkgturnceridwen.orgservicestatusuid1lt/r
    sslinkgt
  • ltssrespondinggttruelt/ssrespondinggt

28
Some Local Feeds
  • OUCS
  • http//www.oucs.ox.ac.uk/rss/allnews.rss
  • Oxford Libraries
  • http//www.lib.ox.ac.uk/users/news/index.rss
  • Etc

29
Sample XSLT
  • ltxsltemplate match"rdfRDF"
    name"documentNode"gt
  • lt!--lthtmlgt
  • ltheadgt
  • lttitlegtuPortal 2.0lt/titlegt
  • lt/headgt
  • ltbodygt--gt
  • lttable width"100" border"0"
    cellspacing"0" cellpadding"0"gt
  • lttr align"left"gt
  • lttd width"100" valign"bottom"
    class"uportal-channel-subtitle"gt
  • ltxslvalue-of select"./rss10channel/rs
    s10description" /gt
  • lt/tdgt
  • ltxslif test"./rss10image ! ''"gt
  • lttdgt
  • lta target"_blank" href"./rss10image/
    rss10link"gt
  • ltimg border"0" alt"./rss10image/rs
    s10title" src"./rss10image/rss10url"/gt
  • lt/agt
  • lt/tdgt
  • lt/xslifgt

30
XML Feed
  • Similar to RSS
  • Need special XSLT

31
Proxies
  • Web Proxies
  • Need simple web pages
  • Ideally use uPortal CSS styles
  • IFrames
  • Need newer browsers
  • Potential security issues
  • As per web proxies re content
  • Applets
  • Images

32
Web Proxy
33
Applet
34
Image
35
Anatomy of Interactive Portlets
36
Local Portlets
  • uPortal API
  • Proprietary uPortal API
  • JAVA Portlet API
  • Java Community Specification
  • Implemented in JetSpeed
  • Overtaken by WSRP/WSIA

37
uPortal IChannel Interface
  • public interface IChannel
  • public void setStaticData(ChannelStaticData sd)
    throws PortalException
  • public void setRuntimeData(ChannelRuntimeData rd)
    throws PortalException
  • public ChannelRuntimeProperties
    getRuntimeProperties()
  • public void receiveEvent(PortalEvent ev)
  • public void renderXML(ContentHandler out) throws
    PortalException

38
setRuntimeData sample
  • this.runtimeData rd
  • String sGuess runtimeData.getParameter
    ("guess")
  • if (sGuess ! null)
  • try
  • iGuess Integer.parseInt (sGuess)
  • catch (NumberFormatException nfe)
  • // Assume that the guess was the same as
    last time
  • bFirstTime false
  • iGuesses

39
renderXML sample
  • String sSuggest null
  • if (iGuess lt iAnswer)
  • sSuggest "higher"
  • else if (iGuess gt iAnswer)
  • sSuggest "lower"
  • StringWriter w new StringWriter ()
  • w.write ("lt?xml version'1.0'?gt\n")
  • w.write ("ltcontentgt\n")
  • w.write (" ltminNumgt" iMinNum
    "lt/minNumgt\n")
  • w.write (" ltmaxNumgt" iMaxNum
    "lt/maxNumgt\n")
  • w.write (" ltguessesgt" iGuesses
    "lt/guessesgt\n")
  • w.write (" ltguessgt" iGuess
    "lt/guessgt\n")
  • if (bFirstTime)
  • // Do nothing
  • else if (iGuess iAnswer)

40
Sample XSLT
  • ltxslparam name"baseActionURL"gtdefaultlt/xslparam
    gt
  • ltxsltemplate match"content"gt
  • ltxslchoosegt
  • ltxslwhen test"suggest"gt
  • Your guess of ltxslvalue-of
    select"guess"/gt was incorrect.
  • Try again -- guess ltspan class"uportal-chan
    nel-strong"gtltxslvalue-of select"suggest"/gtlt/span
    gt!ltbr /gt
  • You have made ltxslvalue-of
    select"guesses"/gt guesses.
  • lt/xslwhengt
  • ltxslwhen test"answer"gt
  • You got it after ltspan class"uportal-channe
    l-strong"gtltxslvalue-of select"guesses"/gtlt/spangt
    tries!
  • The answer was ltspan class"uportal-channel-
    strong"gtltxslvalue-of select"answer"/gtlt/spangt!ltbr
    /gt
  • ltpgtPlease play again...lt/pgt
  • lt/xslwhengt
  • ltxslotherwisegtThis is a number guessing
    game.ltbr /gtlt/xslotherwisegt
  • lt/xslchoosegt
  • I am thinking of a number between

41
Customisation IPerson Interface
  • public interface IPerson extends
    IAdditionalDescriptor, IBasicEntity
  • public static final String USERNAME
    "username"
  • public void setID (int sID)
  • public int getID ()
  • public void setFullName (String sFullName)
  • public String getFullName ()
  • public Object getAttribute (String key)
  • public void setAttribute (String key, Object
    value)
  • public Enumeration getAttributes ()
  • public Enumeration getAttributeNames ()
  • public void setSecurityContext
    (ISecurityContext securityContext)
  • public ISecurityContext getSecurityContext ()
  • public boolean isGuest ()

42
uPortal Adding Portlets
43
Remote Portlets
  • uPortal SOAP API
  • SOAP Version of IChannel API
  • WSRP/WSIA
  • OASIS Standard for Interactive Applications and
    Remote Portals
  • http//www.oasis-open.org/committees/tc_home.php?w
    g_abbrevwsrp
  • 17 April 2003 Draft -gt 85 pages

44
Remote Portlets Anatomy
45
uPortal Adding Portlets
46
uPortal Remote Channel Interface
  • public interface RemoteChannel extends Remote
  • public void authenticate(String username,
    String password) throws RemoteException,
    org.jasig.portal.channels.remotechannel.Exception
  • public String instantiateChannel(String fname)
    throws RemoteException, org.jasig.portal.channels.
    remotechannel.Exception
  • public Element renderChannel(String instanceId,
    ChannelRuntimeData runtimeData) throws
    RemoteException, org.jasig.portal.channels.remotec
    hannel.Exception
  • public void receiveEvent(String instanceId,
    PortalEvent portalEvent) throws RemoteException,
    org.jasig.portal.channels.remotechannel.Exception
  • public void freeChannel(String instanceId)
    throws RemoteException, org.jasig.portal.channels.
    remotechannel.Exception
  • public void logout() throws RemoteException,
    org.jasig.portal.channels.remotechannel.Exception

47
WSRP Overview
WSRP Producer (Service)
User
WSRP Consumer (Portal)
Adds Portlet
Create Portlet Instance
I
I
Allocate new Instance
Views Portlet
Get Portlet Markup
A
I
S
I
I
Generate Markup, (opt create Session)
S
A
Clicks Action
Perform Portlet Action
I
A
I
A
I
S
A
S
Action Handling (opt create Session)
Removes Portlet
Destroy Portlet Instance
I
I
I
Destroy instance
48
Further Reading
  • http//www.ja-sig.org
  • http//mis105.mis.udel.edu/ja-sig/uportal/
  • http//www.oasis-open.org/committees/tc_home.php?w
    g_abbrevwsrp
  • http//www.jisc.ac.uk/index.cfm?nametechwatch_rep
    ort_0103
Write a Comment
User Comments (0)
About PowerShow.com