Return-Path: Delivered-To: apmail-portals-jetspeed-user-archive@www.apache.org Received: (qmail 47146 invoked from network); 20 Aug 2010 19:14:06 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Aug 2010 19:14:06 -0000 Received: (qmail 54548 invoked by uid 500); 20 Aug 2010 19:14:06 -0000 Delivered-To: apmail-portals-jetspeed-user-archive@portals.apache.org Received: (qmail 54530 invoked by uid 500); 20 Aug 2010 19:14:06 -0000 Mailing-List: contact jetspeed-user-help@portals.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Jetspeed Users List" Delivered-To: mailing list jetspeed-user@portals.apache.org Received: (qmail 54522 invoked by uid 99); 20 Aug 2010 19:14:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Aug 2010 19:14:06 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [206.190.38.148] (HELO web51106.mail.re2.yahoo.com) (206.190.38.148) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 20 Aug 2010 19:13:59 +0000 Received: (qmail 67531 invoked by uid 60001); 20 Aug 2010 19:13:38 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1282331618; bh=W5bTi/lJj24GNsWdtu8Rc5wf4aLgIJ6YU4YdrTAjD8c=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=AI9JOLaQdM5bYsZ0qtQUe26MnJCIJUK3S+lYVoqPy75uRCNSRxHkYJWpqlikMfFrItRzoxaEq+GjkAH8P82pVtyR9794/UfJkCgv4FUWGmwS8zmEaOzWaZKcK6Blg4e37/ttpN6ESKkKQPUO2zvD3OW8FYu1liPewAvfr+GQs9E= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=1+/NaQbZDwDatScFQUrddX+WvR6qYfEcksHT//p7YVGRUd3XJ+nA1EzQs6PdQ1J5lHEj/A4DIrHqg5uLcY8bUogiElk7o+trzLL6WxDAhrwrk7Wn8vFU8L0q96RC0PBK73GuMwPLnKwLpPUBaG9jl2ufxH+2wS44im5RA58i7qY=; Message-ID: <58783.57977.qm@web51106.mail.re2.yahoo.com> X-YMail-OSG: NCO9HxoVM1nurWLSs.j1jF1cWQMTLQv50n_qBhO.eIeS02f _LlkLPpYh0i7rf8VjrmdQbXp8hlZbkmvfm9ne9BMj4pwdFLGnzppI9dGA.Kv YSn_VIQtykeaKhEiPxO4gLYYFvDMHZoR.xUC7InI1P__CcfgFyqiOpUkMxeu G9DbsPzOVudCQG4RquJac6EFUFGCDF.A7Yumhsb3j5EypS2te5Cj.UeD1edk edkqfS6JSssGkObc8u7jogjg1micjfdlUcB220JBrBrI2hLlAzwhe15yUb07 Rp0l1b3grEUz8.1k1J5hWYx8Ve0gJFO2_dUvdNnWX1HlzGA-- Received: from [99.30.81.146] by web51106.mail.re2.yahoo.com via HTTP; Fri, 20 Aug 2010 12:13:37 PDT X-Mailer: YahooMailClassic/11.3.2 YahooMailWebService/0.8.105.279950 Date: Fri, 20 Aug 2010 12:13:37 -0700 (PDT) From: Woonsan Ko Subject: Re: SSO IFrame form authentication To: Jetspeed Users List In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org I guess the first page which tried to redirect to the second page with wron= g url by using javascript.=0AIf it redirects to other page from the server-= side with http status code and header, then the reverse proxy service can d= etect and rewrite to a proxied url from the reverse proxy configurations if= found.=0A=0AAnyway, if the first page has javascript to redirect, e.g., 'l= ocation.href =3D /otrs/customer.pl?CSID=3D1047f4e2a54420bc329c4f2e3cd511e23= a', that script line is not rewritten by default.=0A(By the way, you can re= fer to the default rewriting class here if you're interested in: http://svn= .apache.org/repos/asf/portals/applications/webcontent/trunk/webcontent-jar/= src/main/java/org/apache/portals/applications/webcontent/proxy/impl/Default= ReverseProxyLinkRewritingParserAaptor.java)=0A=0AIf the redirecting script = line is simple, then you can add a custom replace pattern in the reverse pr= oxy configuration like the following example:=0A=0Aproxy.reverse.pass.issue= s.rewriter.parserAdaptor.html.property.customPatterns =3D \\/otrs\\/custome= r\\.pl=0Aproxy.reverse.pass.issues.rewriter.parserAdaptor.html.property.cus= tomReplaces =3D /j2-admin/rproxy/otrs/otrs/customer.pl=0A=0AThe above addit= ional custom replace configuration will replace every line having that rege= x pattern.=0A=0A-Woonsan=0A=0A--- On Fri, 8/20/10, mballard@oreillyauto.com= wrote:=0A=0A> From: mballard@oreillyauto.com =0A> Subject: Re: SSO IFrame form authentication=0A= > To: "Jetspeed Users List" =0A> Date: Fr= iday, August 20, 2010, 8:19 PM=0A> I am using=0A> j2-admin::SSOReverseProxy= IFramePortlet.=A0 I also believe=0A> I am =0A> using the exact reverse prop= erties as the apache=0A> example.=A0 I have =0A> discovered one issue when = accessing directly in that it=0A> appears when I =0A> enter =0A> http://hos= t.domain-name.com:8080/j2-admin/rproxy/otrs/otrs/customer.pl,=0A> =0A> and = login manually, I am redirected to =0A> http://host.domain-name.com:8080/ot= rs/customer.pl?CSID=3D1047f4e2a54420bc329c4f2e3cd511e23a=0A> =0A> and I get= an HTTP 404 error.=A0 If I then correct the=0A> url and put the =0A> j2-ad= min/rproxy/otrs back in, I get the correct page=0A> rendered and I am =0A> = logged in.=A0 In any case, once I get logged in and try=0A> to drill down t= o an =0A> incident link, I get an error trying to load the javascript=0A> b= ecause =0A> something has changed the .js in the link to .html=A0=0A> Again= , I am using the =0A> apache example config for rewriting.=0A> =0A> # ... S= et max matching path part count=0A> proxy.reverse.pass.maxMatchingPathPartC= ount =3D 2=0A> =0A> # ... Sets detail attributes for apache path mapping=0A= > proxy.reverse.pass =3D otrs=0A> proxy.reverse.pass.otrs.local =3D /otrs/= =0A> proxy.reverse.pass.otrs.remote =3D http://host.domain-name.com/=0A> pr= oxy.reverse.pass.otrs.rewriter.basic =3D =0A> org.apache.portals.applicatio= ns.webcontent.rewriter.WebContentRewriter=0A> proxy.reverse.pass.otrs.rewri= ter.parserAdaptor =3D html=0A> proxy.reverse.pass.otrs.rewriter.parserAdapt= or.html =3D =0A> org.apache.portals.applications.webcontent.proxy.impl.Defa= ultReverseProxyLinkRewritingParserAaptor=0A> proxy.reverse.pass.otrs.rewrit= er.parserAdaptor.html.mimeType=0A> =3D text/html=0A> proxy.reverse.pass.otr= s.rewriter.parserAdaptor.html.property.lookUpAllMappings=0A> =0A> =3D true= =0A> =0A> Thanks, MikeB=0A> =0A> Mike Ballard=0A> Director of Internet Deve= lopment and Networking=0A> O'Reilly Auto Parts=0A> (417) 874-7107 Ofc=0A> (= 417) 838-0271 Cell=0A> =0A> This message is protected by the Electronic Com= munications=0A> Privacy Act, 18 =0A> USCS =A7 2510 et seq., and may not be = used, copied or=0A> forwarded without the =0A> consent of the named recipie= nt(s).=A0 The information=0A> contained in this =0A> message is confidentia= l, is intended only for the use of=0A> the individual or =0A> entity named.= =A0 If the reader of this message is not=0A> the intended =0A> recipient, y= ou are hereby notified that any dissemination,=0A> distribution or =0A> cop= ying of this communication is strictly prohibited.=A0=0A> If you have =0A> = received this communication in error, please notify me=0A> immediately at = =0A> 417-874-7107. =0A> =0A> =0A> =0A> From:=0A> Woonsan Ko =0A> To:=0A> Jetspeed Users List =0A= > Date:=0A> 08/20/2010 12:55 PM=0A> Subject:=0A> Re: SSO IFrame form authen= tication=0A> =0A> =0A> =0A> Regarding the problem of javascript link ending= in .js to=0A> .html, with =0A> which portlet do you meet the problem?=0A> = j2-admin::SSOReverseProxyIFramePortlet, =0A> j2-admin::SSOFormBasedAuthReve= rseProxyIFramePortlet, =0A> j2-admin::SSOIFramePortlet, j2-admin::SSOWebCon= tentPortlet,=0A> or =0A> j2-admin::SSOProxyPortletPortlet?=0A> =0A> j2-admi= n::SSOReverseProxyIFramePortlet and =0A> j2-admin::SSOFormBasedAuthReverseP= roxyIFramePortlet only=0A> are using the =0A> reverse proxy service.=0A> = =0A> If you are using those reverse proxy portlets, then how's=0A> the rewr= iter =0A> configurations for the reverse proxy pass mapping in =0A> /j2-adm= in/WEB-INF/conf/reverseproxy.properties?=0A> I'd like to recommend you to u= se the default configuration=0A> like the apache =0A> example:=0A> =0A> # .= .. Sets detail attributes for apache path mapping=0A> proxy.reverse.pass.ap= ache.local =3D /apache/=0A> proxy.reverse.pass.apache.remote =3D http://apa= che.org/=0A> proxy.reverse.pass.apache.rewriter.basic =3D =0A> org.apache.p= ortals.applications.webcontent.rewriter.WebContentRewriter=0A> proxy.revers= e.pass.apache.rewriter.parserAdaptor =3D html=0A> proxy.reverse.pass.apache= .rewriter.parserAdaptor.html =3D =0A> org.apache.portals.applications.webco= ntent.proxy.impl.DefaultReverseProxyLinkRewritingParserAaptor=0A> proxy.rev= erse.pass.apache.rewriter.parserAdaptor.html.mimeType=0A> =3D text/html=0A>= proxy.reverse.pass.apache.rewriter.parserAdaptor.html.property.lookUpAllMa= ppings=0A> =0A> =3D true=0A> =0A> With the default example above, the rewri= ting xml rule=0A> files such as =0A> default-rewriter-rules.xml and rewrite= r-rules-mapping do=0A> not play any role =0A> with reverse proxying portlet= s.=0A> =0A> The last example in the configuration file still uses the=0A> N= eko and Sax =0A> parser adaptor configuation, which was provided for the ol= d=0A> web content =0A> portlets. However, it turns out to be less useful in= this=0A> reverse proxy =0A> portlets. (The old rewriting xml rules were ma= inly for=0A> rewriting urls to =0A> portlet urls, while reverse proxy servi= ce is just another=0A> servlet-based =0A> solution with integration to port= let, meaning the url=0A> rewriting doesn't =0A> need to be that complex any= more.)=0A> =0A> One more tip is that you could test the reverse proxying b= y=0A> navigating the =0A> proxied urls directly.=0A> So, for example, if ht= tp://www.yourdomain.com/orders/ is mapped to =0A> /j2-admin/rproxy/yourdoma= in/orders/, then you can browse=0A> directly to =0A> http://localhost:8080/= j2-admin/rproxy/yourdomain/orders/.=0A> You can see what =0A> happens for r= ewriting problems with this direct access.=0A> =0A> HTH,=0A> =0A> Woonsan= =0A> =0A> --- On Fri, 8/20/10, mballard@oreillyauto.com=0A> =0A> =0A> wrote:=0A> =0A> > From: mballard@oreillyauto.com=0A> <= mballard@oreillyauto.com>=0A> > Subject: Re: SSO IFrame form authentication= =0A> > To: "Jetspeed Users List" =0A> > D= ate: Friday, August 20, 2010, 6:55 PM=0A> > Good to know.=A0 So I have rebu= ilt=0A> > my site on 2.2.1 and it seems to be =0A> > stable, unlike the pre= vious implementation on Derby. =0A> > Not sure if that's =0A> > an indicati= on of a problem with 2.2.1 & Derby, or=0A> just=0A> > a local issue.=A0 My = =0A> > remaining issue is the rewrite in the reverse proxy=0A> portlet=0A> = > is changing a =0A> > javascript link ending in .js to .html=A0 Any=0A> id= eas?=0A> > =0A> > =0A> > =0A> > From:=0A> > Woonsan Ko = =0A> > To:=0A> > Jetspeed Users List =0A>= > Date:=0A> > 08/20/2010 11:50 AM=0A> > Subject:=0A> > Re: SSO IFrame form= authentication=0A> > =0A> > =0A> > =0A> > I believe the pages can be simpl= y copied because I=0A> cannot=0A> > find anything to =0A> > watch with psml= pages either.=0A> > By the way, you can copy those pages into any other=0A= > folder=0A> > by configuring =0A> > the path in=0A> /jetspeed/WEB-INF/conf= /override.properties. For=0A> > example,=0A> > =0A> > # default path to (XM= L) PSML pages root folder=0A> > psml.pages.path =3D=0A> > ${applicationRoot= }/WEB-INF/migrated_pages=0A> > =0A> > Regards,=0A> > =0A> > Woonsan=0A> > = =0A> > --- On Fri, 8/20/10, mballard@oreillyauto.com=0A> > =0A> > =0A> > wrote:=0A> > =0A> > > From: mballard@oreillyauto.co= m=0A> > =0A> > > Subject: Re: SSO IFrame form aut= hentication=0A> > > To: "Jetspeed Users List" =0A> > > Date: Friday, August 20, 2010, 3:05 PM=0A> > > I have install= ed 2.2.1 with MySQL and=0A> > > I now need to move my pages and =0A> > > la= youts from the 2.2.0 installation.=A0 Given=0A> that=0A> > my=0A> > > previ= ous 2.2.1 =0A> > > installation on Derby is defunct, is there=0A> anything = I=0A> > > should watch out for =0A> > > this time?=A0 Can I simply copy the= psml's=0A> from=0A> > the=0A> > > 2.2.0 directories to the =0A> > > 2.2.1 = directories?=A0=A0=A0I have not=0A> seen a=0A> > > migration guide to addre= ss this =0A> > > need.=0A> > > =0A> > > =0A> > > =0A> > > From:=0A> > > Woo= nsan Ko =0A> > > To:=0A> > > Jetspeed Users List =0A> > > Date:=0A> > > 08/18/2010 12:35 PM=0A> = > > Subject:=0A> > > Re: SSO IFrame form authentication=0A> > > =0A> > > = =0A> > > =0A> > > Hi,=0A> > > =0A> > > I haven't heard of that preferences = data problem=0A> yet=0A> > in=0A> > > 2.2.1.=0A> > > IMHO, It could help to= localize the problems if=0A> you=0A> > test=0A> > > against other =0A> > >= databases =0A> > > like PostgreSQL or MySQL.=0A> > > On the other hand, I = think you could deploy=0A> newer=0A> > > j2-admin.war and =0A> > > apa-webc= ontent.war which were included in 2.2.1.=0A> > > =0A> > > -Woonsan=0A> > > = =0A> > > =0A> > > ----- Original Message ----=0A> > > > From: "mballard@ore= illyauto.com"=0A> > > =0A> > > > To: Jetspeed Use= rs List =0A> > > > Sent: Wed, August 18, = 2010 6:10:25 AM=0A> > > > Subject: Re: SSO IFrame form authentication=0A> >= > > =0A> > > > Well, here's the rub.=A0 I believe the=0A> > > SSOReversePr= oxyIFramePortlet is new =0A> > > =0A> > > > in 2.2.1, which is where I was = when I first=0A> > posted,=0A> > > however, I found =0A> > > that =0A> > > = > my configuration kept getting scrambled, so=0A> I=0A> > reverted=0A> > > = to 2.2.0=A0 I will =0A> > > > try your suggestion on 2.2.1, but I will=0A> = have to=0A> > > address the scrambling =0A> > > > issue.=A0 What is happeni= ng is=0A> this.=A0 I=0A> > have=0A> > > cloned the=A0 IFramePortlet =0A> > = > > several times and configured each for=0A> different=0A> > static=0A> > = > content=A0 being =0A> > > > served from apache2.=A0 I have avoided=0A> se= tting=0A> > any=0A> > > user=A0 preferences, and, =0A> > > =0A> > > > inste= ad, set the preferences for each clone=0A> in=0A> > the=0A> > > PAM=A0 port= let. =0A> > > Everything =0A> > > > worked fine.=A0 Then after a few hours,= =0A> the =0A> > > IFramePortlet content was all =0A> > > =0A> > > > mixed u= p.=A0 For instance, the portlet on=0A> =0A> > > page 1 would be showing the= =0A> > > > content I had configured for the portlet on=0A> page=0A> > =0A>= > > 2 and so on.=A0 I went =0A> > > into =0A> > > > PAM and corrected the = preferences to what =0A> > they=0A> > > should be and assumed I =0A> > > wa= s =0A> > > > ok, but the next morning things were =0A> > scrambled=0A> > > = again.=A0 I did some =0A> > > queries =0A> > > > in the derby db and it app= ears=A0 they=0A> are=0A> > wrong=0A> > > there.=A0 I don't know if =0A> > >= this =0A> > > > is a portlet id issue or an=A0 indexing=0A> > problem or= =0A> > > what, but I need a =0A> > > > resolution before I can proceed to= =A0=0A> 2.2.1 =0A> > > Of course, I have the exact =0A> > > same =0A> > > >= configuration in 2.2.0 and am=A0 having=0A> no=0A> > problem=0A> > > there= , but I also have =0A> > > no =0A> > > > SSOReverseProxyIFrame=A0 there.=A0= =0A> Any=0A> > ideas?=0A> > > > =0A> > > > =0A> > > > =0A> > > > From:=0A> = > > > David Sean Taylor =0A> > > > To:=0A> > > > Jet= speed=A0 Users List =0A> > > > Date:=0A> = > > > 08/17/2010=A0 07:19 PM=0A> > > > Subject:=0A> > > > Re: SSO IFrame fo= rm authentication=0A> > > > =0A> > > > =0A> > > > =0A> > > > On=A0 Tue, Aug= 17, 2010 at 1:40 PM, =0A> > =0A> > =0A> > > wrot= e:=0A> > > > > How did your testing go?=A0 I=0A> compared=0A> > SSO=0A> > >= Webcontent (which=A0 works, =0A> > > sort =0A> > > > of)=0A> > > > > to SS= O IFrame classes and I see a=0A> method=0A> > > for=A0 preemptive login in = the=0A> > > > > webcontent class but no reference at=0A> all in=0A> > > the= =A0 SSO IFrame class. =0A> > > Does=0A> > > > > this just mean it is being = done =0A> > > differently, or is something amiss in =0A> > > =0A> > > > the= =0A> > > > > SSO IFrame=A0 class?=0A> > > > =0A> > > > There are two SSOIFr= ame classes:=0A> > > > =0A> > > > 1. SSOIFramePortlet=0A> > > > 2.=A0 SSORe= verseProxyIFramePortlet=0A> > > > =0A> > > > Suggest using the second one, = =0A> > > SSOReverseProxyIFramePortlet as it gives=0A> > > > you features no= t available in the=A0=0A> older=0A> > > SSOIFramePortlet such as=0A> > > > = auto-resizing and form-based authentication=0A> =0A> > > (what you are afte= r)=0A> > > > =0A> > > > I tested with SSOReverseProxyIFramePortlet=0A> and= =0A> > > it=A0 worked in the=0A> > > > example that comes with Jetspeed, bu= t it=0A> takes a=0A> > > little bit=A0 of=0A> > > > configuration.=0A> > > = > =0A> > > > First, ensure your Tomcat will need this=0A> > > attribute=A0 = set in the=0A> > > > element of=A0=0A> server.xml:=0A> > > > = =0A> > > > emptySessionPath=3D"true"=0A> > > > =0A> > > > more detail=A0 he= re:=0A> > > > =0A> > > > http://portals.apache.org/applications/webcontent/= index.html=0A> > > > =0A> > > > If=A0 you had to change server.xml=0A> sett= ing,=0A> > then=0A> > > restart your server=0A> > > > =0A> > > > I took=A0 = these steps to verify SSO with=0A> the=0A> > > example form-based login=0A>= > > > that comes with=A0 Jetspeed:=0A> > > > =0A> > > > 1. login as admin= =0A> > > > 2. navigate to the Jetspeed Administration =0A> > > space, SSO M= anagement page,=0A> > > > or just go=A0 here:=0A> > > > =0A> > > > http://l= ocalhost:8080/jetspeed/ui/Administrative/sso-admin.psml=0A> > > > =0A> > > = > Add=A0 a new Site with following=0A> parameters:=0A> > > > =0A> > > > Sit= e Name: Form Example=0A> > > > Site=A0 URL: http://localhost:8080/j2-admin/= examples/formauth.jsp=0A> > > > Field name for User=A0 ID: user=0A> > > > F= ield name For Password value: pass=0A> > > > =0A> > > > Press Save=0A> > > = > =0A> > > > Add a=A0 new credential for this site in=0A> the=0A> > > portl= et on the right side=0A> > > > (SSO=A0 Details):=0A> > > > =0A> > > > Porta= l Principal:=A0=A0=A0admin=0A> > > > Remote Principal:=A0=A0=A0admin=0A> > = > > Remote Credential: admin=0A> > > > =0A> > > > Press Add=0A> > > > =0A> = > > > You=A0 can verify=A0 that the remote=0A> > credential=0A> > > was add= ed for the admin=0A> > > > user by going=A0 here:=0A> > > > =0A> > > > http= ://localhost:8080/jetspeed/ui/my-account.psml=0A> > > > =0A> > > > see the= =A0 portlet on the right "SSO=0A> Change=0A> > > Passwords", a remote site= =0A> > > > entry should be=A0 there named "Form=0A> Example"=0A> > > > =0A>= > > > Next, you can use the Toolbox to find the =0A> > > Reverse Proxy Ifr= ame Portlet=0A> > > > by searching on "iframe" and then selecting=0A> it = =0A> > > from there and adding=0A> > > > to a page. To make things simple, = I just=0A> added a=0A> > > page=A0 and then added=0A> > > > the Reverse Pro= xy Iframe Portlet there. At=0A> first=0A> > this=0A> > > portlet=A0 seems t= o=0A> > > > want to use Basic Authentication, so just=0A> hit=0A> > cancel= =0A> > > when=A0 challenged.=0A> > > > I then switched to edit mode (pencil= icon),=0A> and=0A> > > entered the=A0 following=0A> > > > preferences:=0A>= > > > =0A> > > > TITLE: My SSO Test=0A> > > > SRC:=A0 http://localhost:$= =0A> > {serverPort}${contextPath}/examples/formauth.jsp=0A> > > > =0A> > > = > Press=A0 Save=0A> > > > =0A> > > > You should see in your portlet content= =0A> something=0A> > =0A> > > like:=0A> > > > =0A> > > > "Hello, admin. You= have been authorized by=0A> > > form-based=A0 authentication =0A> > > !!!"= =0A> > > > =0A> > > > Give that a try and see if it works. Then,=0A> move= =0A> > on=0A> > > to=A0 your specific=0A> > > > IFrame source and let us kn= ow how it =0A> > goes...=0A> > > > =0A> > > >=0A> > >=0A> >=0A> -----------= ----------------------------------------------------------=0A> > > > To=A0 = unsubscribe, e-mail: =0A> jetspeed-user-unsubscribe@portals.apache.org=0A> = > > > For=A0 additional commands, e-mail: =0A> > jetspeed-user-help@portals= .apache.org=0A> > > > =0A> > > > =0A> > > > --=0A> > > > This=A0 message ha= s been scanned for=0A> viruses=0A> > and=0A> > > > dangerous content by Mai= lScanner,=A0 and=0A> is=0A> > > > believed to be clean =0A> > > (mailgw2:E6= 59D1E6FC.D1395).=0A> > > > =0A> > > > =0A> > > > =0A> > > > =0A> > > > This= communication and any=A0 attachments=0A> are=0A> > > confidential, protect= ed by =0A> > > > Communications Privacy Act 18=A0 USCS =A7=0A> > 2510,=0A> = > > solely for the use of the =0A> > > > intended recipient, and may contai= n =0A> > legally=0A> > > privileged material. If you =0A> > > =0A> > > > ar= e not the intended recipient, please =0A> > return or=0A> > > destroy it = =0A> > > immediately. =0A> > > > Thank you.=0A> > > =0A> > > =0A> > > =0A> = > > =0A> > >=0A> >=0A> ----------------------------------------------------= -----------------=0A> > > To unsubscribe, e-mail: jetspeed-user-unsubscribe= @portals.apache.org=0A> > > For additional commands, e-mail: jetspeed-user-= help@portals.apache.org=0A> > > =0A> > > =0A> > > --=0A> > > This message h= as been scanned for viruses and=0A> > > dangerous content by MailScanner, a= nd is=0A> > > believed to be clean (mailgw2:9902C1E701.B0EA8).=0A> > > =0A>= > > =0A> > > =0A> > > =0A> > > This communication and any attachments are= =0A> > confidential,=0A> > > protected by =0A> > > Communications Privacy A= ct 18 USCS =A7 2510,=0A> solely for=0A> > the=0A> > > use of the =0A> > > i= ntended recipient, and may contain legally=0A> > privileged=0A> > > materia= l. If you =0A> > > are not the intended recipient, please return or=0A> > d= estroy it=0A> > > immediately. =0A> > > Thank you.=0A> > =0A> > =0A> > =0A>= > =0A> >=0A> -------------------------------------------------------------= --------=0A> > To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.ap= ache.org=0A> > For additional commands, e-mail: jetspeed-user-help@portals.= apache.org=0A> > =0A> > =0A> > --=0A> > This message has been scanned for v= iruses and=0A> > dangerous content by MailScanner, and is=0A> > believed to= be clean (mailgw2:8B04D2A000C.7088C).=0A> > =0A> > =0A> > =0A> > =0A> > Th= is communication and any attachments are=0A> confidential,=0A> > protected = by =0A> > Communications Privacy Act 18 USCS =A7 2510, solely for=0A> the= =0A> > use of the =0A> > intended recipient, and may contain legally=0A> pr= ivileged=0A> > material. If you =0A> > are not the intended recipient, plea= se return or=0A> destroy it=0A> > immediately. =0A> > Thank you.=0A> =0A> = =0A> =0A> =0A> ------------------------------------------------------------= ---------=0A> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apa= che.org=0A> For additional commands, e-mail: jetspeed-user-help@portals.apa= che.org=0A> =0A> =0A> --=0A> This message has been scanned for viruses and= =0A> dangerous content by MailScanner, and is=0A> believed to be clean (mai= lgw2:792FC1E702.4691D).=0A> =0A> =0A> =0A> =0A> This communication and any = attachments are confidential,=0A> protected by =0A> Communications Privacy = Act 18 USCS =A7 2510, solely for the=0A> use of the =0A> intended recipient= , and may contain legally privileged=0A> material. If you =0A> are not the = intended recipient, please return or destroy it=0A> immediately. =0A> Thank= you.=0A=0A=0A --------------------------------------------------------------------- To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org For additional commands, e-mail: jetspeed-user-help@portals.apache.org