<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8148764803887665102</id><updated>2011-07-08T18:33:43.741+01:00</updated><category term='GWT'/><category term='community'/><category term='maven'/><category term='conference'/><category term='demo'/><category term='portlet ide'/><category term='presentation'/><category term='roadmap'/><category term='ldap'/><category term='richfaces'/><category term='portal'/><category term='ajaxworld'/><category term='review'/><category term='EC2'/><category term='performance scalability'/><category term='rant'/><category term='authorization'/><category term='xacml'/><category term='contribution'/><category term='ant'/><category term='fud'/><category term='portal security'/><category term='seam'/><category term='opensso'/><category term='QA'/><category term='EPP'/><category term='talk'/><category term='sso'/><category term='ajax'/><category term='bridge'/><category term='security'/><category term='tutorial'/><category term='migration'/><category term='jsr286'/><category term='book'/><category term='portlet'/><category term='movie'/><category term='ui'/><category term='bestpractices'/><category term='opends'/><category term='build'/><category term='identity'/><category term='identity idm'/><category term='jboss'/><category term='dev'/><category term='JSF'/><category term='fun'/><category term='wsrp'/><category term='release'/><category term='eXo'/><category term='portletbridge'/><title type='text'>JBoss Portal</title><subtitle type='html'>JBoss Portal developer's blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default?start-index=101&amp;max-results=100'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>120</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8922386221934941362</id><published>2009-10-26T15:39:00.000+01:00</published><updated>2009-10-26T15:39:33.519+01:00</updated><title type='text'>JBoss Portlet Bridge 2.0 Beta and GateIn</title><content type='html'>Just on the heels of the GateIn Beta2 release comes a double whammy from the JBoss Portlet Bridge project. We are releasing 2 new versions of both the 1.0 and 2.0 bridge. Now, just to clear up any confusion, the 2.0 bridge does not cover the JSF 2.0 spec. We are still in JSF 1.2 land in the portal environment. However, running 2.0 in a portlet is not far away and it should be coming to fruition just as JSF 2.0 technology starts to gain more ground in enterprise development.&lt;br /&gt;&lt;br /&gt;First off, I want to thank the community for providing many patches and suggestions to improve the bridge.&lt;br /&gt;&lt;br /&gt;I am also extremely happy to announce that the JBoss Portlet Bridge 2.0.0.BETA is now fully integrated with GateIn. All archetypes and examples run by default on GateIn. If you are still running on JBoss Portal, you must build the example apps or archetype based apps with the '-Pjbossportal' profile (i.e. mvn install -Pjbossportal).&lt;br /&gt;&lt;br /&gt;New features with the new 2.0.0.BETA release are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Improved ajax processing (faster load times)&lt;/li&gt;&lt;li&gt;PRP - Public render parameter processing in the bridge&lt;/li&gt;&lt;li&gt;Seam exception handling in pages.xml&lt;/li&gt;&lt;li&gt;better error handling for JSF and Richfaces portlets (this includes ViewExpiredException)&lt;/li&gt;&lt;li&gt;Also fixed some bugs in archetypes to work fully with JBoss Tools (as seen in the video)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PortalIdentity is now built in Seam component&lt;br /&gt;&lt;code&gt;&amp;lt;security:portal-identity method="#{authenticator.authenticate}"&amp;gt;&amp;lt;/security:portal-identity&amp;gt;&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Script Renderer can be enabled by intit parameter in web.xml:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&amp;lt;context-param&amp;gt;&lt;br /&gt;    &amp;lt;param-name&amp;gt;org.jboss.portletbridge.WRAP_SCRIPTS&amp;lt;/param-name&amp;gt;&lt;br /&gt;    &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/context-param&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;This video shows how to deploy a Seam portlet using JBoss Tools to the all new GateIn portal. I also show need-to-know tips for migrating from the 1.0 bridge to 2.0.&lt;/p&gt;&lt;br /&gt;&lt;object height="281" width="500"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7255033&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=7255033&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="281" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/7255033"&gt;JBoss Portlet Bridge Episode 4: Running 2.0 on GateIn&lt;/a&gt; from &lt;a href="http://vimeo.com/wesleyhales"&gt;Wesley Hales&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8922386221934941362?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8922386221934941362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8922386221934941362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8922386221934941362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8922386221934941362'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/10/jboss-portlet-bridge-20-beta-and-gatein.html' title='JBoss Portlet Bridge 2.0 Beta and GateIn'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3963951379427182440</id><published>2009-08-18T19:35:00.002+01:00</published><updated>2009-08-18T19:40:36.208+01:00</updated><title type='text'>JBoss Enterprise Portal Platform 4.3 CP02 is available now!</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;Just a note to let everyone know that JBoss EPP 4.3 CP02 is available now on the JBoss Customer Support Portal site. The new CP02 has a number of fixes to the UI components as well as some security enhancements.&lt;br /&gt;&lt;br /&gt;Release notes are also available here:&lt;br /&gt;https://jira.jboss.org/jira/secure/ReleaseNote.jspa?version=12313531&amp;amp;styleName=Html&amp;amp;projectId=12310745&amp;amp;Create=Create&lt;br /&gt;&lt;br /&gt;P.S More news on what the JBoss Portal team up to these days including coming at JBoss World. Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3963951379427182440?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3963951379427182440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3963951379427182440' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3963951379427182440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3963951379427182440'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/08/jboss-enterprise-portal-platform-43.html' title='JBoss Enterprise Portal Platform 4.3 CP02 is available now!'/><author><name>Jason Andersen</name><uri>http://www.blogger.com/profile/10714372877811558272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_8Y3WCbOq5aU/SXegE9gW23I/AAAAAAAAACk/d3S1YbQgfQ4/S220/xmas2008+079.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4568752291666045753</id><published>2009-08-04T18:25:00.007+01:00</published><updated>2009-08-04T18:56:06.907+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><title type='text'>Tweeting from JBoss Portal</title><content type='html'>While most of time we focus on improving enterprise aspects of JBoss Portal (read &lt;a href="http://www.jboss.com/products/platforms/portals/"&gt;JBoss Enterprise Portal&lt;/a&gt;), sometimes we work on cool and fun stuff too. On that line, I have created Twitter portlet which has following features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Update your status&lt;/li&gt;&lt;li&gt;Get messages that are sent directly to you (e.g. @prabhatjha in my case)&lt;/li&gt;&lt;li&gt;    Get list of folks who you are following and get their latest status. List is sortable.&lt;/li&gt;&lt;/ul&gt;Here are couple of screen shots:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_STXaEkQUatM/SnhwxlN2c1I/AAAAAAAAF2Q/FlpOXRukZ3o/s1600-h/twitter-detail.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 396px; height: 203px;" src="http://3.bp.blogspot.com/_STXaEkQUatM/SnhwxlN2c1I/AAAAAAAAF2Q/FlpOXRukZ3o/s400/twitter-detail.png" alt="" id="BLOGGER_PHOTO_ID_5366162953118053202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_STXaEkQUatM/Snhw9tLzMKI/AAAAAAAAF2Y/0sdcH9rW4H4/s1600-h/twitter-friends.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 395px; height: 177px;" src="http://4.bp.blogspot.com/_STXaEkQUatM/Snhw9tLzMKI/AAAAAAAAF2Y/0sdcH9rW4H4/s400/twitter-friends.png" alt="" id="BLOGGER_PHOTO_ID_5366163161415364770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can grab the code from &lt;a href="http://anonsvn.jboss.org/repos/qa/prabhat/twitter-portlet/"&gt;http://anonsvn.jboss.org/repos/qa/prabhat/twitter-portlet&lt;/a&gt; . It's built using  &lt;a href="http://yusuke.homeip.net/twitter4j/en/index.html"&gt;twitter4j&lt;/a&gt;, &lt;a href="http://jboss.org/jbossrichfaces/"&gt;Richfaces&lt;/a&gt;, &lt;a href="http://jboss.org/portletbridge/"&gt;JBoss Portlet Bridge&lt;/a&gt;. But remember, it's just for fun and it is not one of the supported portlet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4568752291666045753?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4568752291666045753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4568752291666045753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4568752291666045753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4568752291666045753'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/08/tweeting-from-jboss-portal.html' title='Tweeting from JBoss Portal'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_STXaEkQUatM/SnhwxlN2c1I/AAAAAAAAF2Q/FlpOXRukZ3o/s72-c/twitter-detail.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-374804828789275983</id><published>2009-07-20T13:12:00.015+01:00</published><updated>2009-07-31T03:03:59.188+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='jsr286'/><category scheme='http://www.blogger.com/atom/ns#' term='portletbridge'/><title type='text'>JBoss Portlet Bridge 2.0 Alpha Released!</title><content type='html'>&lt;div style="padding:5px 0 5px 0;"&gt;I am extremely happy to announce the first Alpha implementation of the JSR-329 early public draft(2) specification. This is cutting edge code and will definitely change to match future revisions of the spec. If you are willing to live on the edge and help us chase down bugs and report them (hopefully with a patch), then please read on ;)&lt;/div&gt;&lt;div style="padding:5px 0 5px 0;"&gt;Although in a alpha release, this latest version is fully compatible with the portlet 2.0 environment and allows you to also run the latest versions of Seam and Richfaces in a portlet.&lt;/div&gt;&lt;div style="padding:5px 0 5px 0;"&gt;For starters, I put together a screen cast which shows how to produce a portlet event in a JSF(Seam) backing bean and how to consume it in another Seam portlet.&lt;br /&gt;&lt;object width="500" height="281"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5847864&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=5847864&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/5847864"&gt;JBoss Portlet Bridge - Lesson 3: Seam and Portlet 2.0 Eventing&lt;/a&gt; from &lt;a href="http://vimeo.com/wesleyhales"&gt;Wesley Hales&lt;/a&gt;&lt;/div&gt;&lt;div style="padding:5px 0 5px 0;"&gt;For a full description of what’s new in this version, mandatory configuration parameters, and instructions on using portlet 2.0 coordination features, see the &lt;a href="http://www.jboss.org/files/portletbridge/docs/2.0.0.ALPHA/en/html_single/index.html"&gt;Reference Guide&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-374804828789275983?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/374804828789275983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=374804828789275983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/374804828789275983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/374804828789275983'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/07/jboss-portlet-bridge-20-alpha-released.html' title='JBoss Portlet Bridge 2.0 Alpha Released!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2021778648260640464</id><published>2009-06-10T14:02:00.006+01:00</published><updated>2009-06-10T19:35:52.444+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='eXo'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Welcome eXo !</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_qfEbDTOhbrs/Si_6hfKQi4I/AAAAAAAAAvM/J1Oa9kZ0w2w/s1600-h/2009-06-10+13.15.38.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_qfEbDTOhbrs/Si_6hfKQi4I/AAAAAAAAAvM/J1Oa9kZ0w2w/s320/2009-06-10+13.15.38.jpg" alt="" id="BLOGGER_PHOTO_ID_5345766735919221634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_qfEbDTOhbrs/Si_67FmW0oI/AAAAAAAAAvU/wtQKbVdhAQE/s1600-h/2009-06-10+13.16.33.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/Si_67FmW0oI/AAAAAAAAAvU/wtQKbVdhAQE/s320/2009-06-10+13.16.33.jpg" alt="" id="BLOGGER_PHOTO_ID_5345767175734350466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Live from Gartner Summit for portals and &lt;a href="http://press.redhat.com/2009/06/10/jboss-org-community-grows/"&gt;as published today&lt;/a&gt;, JBoss Portal project and eXo Portal project will merge into a unique one.&lt;br /&gt;&lt;br /&gt;We have discussed this with existing users, existing partners, analysts and they all welcomed this news. &lt;a href="http://search.twitter.com/search?q=&amp;amp;ands=jboss+exo&amp;amp;phrase=&amp;amp;ors=&amp;amp;nots=&amp;amp;tag=&amp;amp;lang=all&amp;amp;from=&amp;amp;to=&amp;amp;ref=&amp;amp;near=&amp;amp;within=15&amp;amp;units=mi&amp;amp;since=&amp;amp;until=&amp;amp;rpp=15"&gt;Twitter&lt;/a&gt; went crazy too ;)&lt;br /&gt;&lt;br /&gt;Each company will be able to focus on their expertise domain, eXo brings on a table years of UI development and JBoss brings it's middleware expertise to build a common platform and all under the LGPL license.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/Si_67FmW0oI/AAAAAAAAAvU/wtQKbVdhAQE/s1600-h/2009-06-10+13.16.33.jpg"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;strong&gt;Mark Little, Sr. Director of Engineering, Middleware at Red Hat&lt;/strong&gt;                &lt;div style="font-style: italic;"&gt;The eXo portal has some impressive functionality in terms of ease of use, UI flexibility and straightforward management administration; JBoss.org's current portal project has a robust engine, performance and security features, combined this collaboration project will help drive portal capabilities forward&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;Benjamin Mestrallet, CEO eXo Platform&lt;/strong&gt;                &lt;div style="font-style: italic;"&gt;Open source software has delivered substantial returns on investment for organizations and we have the opportunity to deliver that same value within the portals space&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;The news went out today and has already been covered in several places:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Julien Viet &lt;a href="http://blog.exoplatform.org/2009/06/10/exo-jboss-partnership/"&gt;commented on the history&lt;/a&gt; (worth a read)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://exoplatform.com/portal/public/website/aboutUS/eXoJBossPartnership"&gt;http://exoplatform.com/portal/public/website/aboutUS/eXoJBossPartnership&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8148764803887665102&amp;amp;postID=2021778648260640464#%20http://www.jboye.com/blogpost/exo-portal-and-jboss-portal-join-forces/"&gt;http://www.jboye.com/blogpost/exo-portal-and-jboss-portal-join-forces/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=8148764803887665102&amp;amp;postID=2021778648260640464#%20http://blog.internetnews.com/skerner/2009/06/red-hat-jboss-gets-exo-portal.html"&gt;http://blog.internetnews.com/skerner/2009/06/red-hat-jboss-gets-exo-portal.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.reuters.com/article/pressRelease/idUS115834+10-Jun-2009+BW20090610"&gt;http://www.reuters.com/article/pressRelease/idUS115834+10-Jun-2009+BW20090610&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I hope you will be as thrilled as we are.&lt;br /&gt;Also it's a great time to start contributing the project or think about joining us, remember we are still hiring.&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;Personal note&lt;/span&gt;&lt;br /&gt;I am really happy to be working again with Julien.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2021778648260640464?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2021778648260640464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2021778648260640464' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2021778648260640464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2021778648260640464'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/06/welcome-exo.html' title='Welcome eXo !'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qfEbDTOhbrs/Si_6hfKQi4I/AAAAAAAAAvM/J1Oa9kZ0w2w/s72-c/2009-06-10+13.15.38.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2277547905925195442</id><published>2009-06-08T16:33:00.005+01:00</published><updated>2009-06-08T16:46:12.048+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal at the Gartner Summit</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/Si0v6YkQIoI/AAAAAAAAAvE/gwO__mouiNw/s1600-h/08062009010.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/Si0v6YkQIoI/AAAAAAAAAvE/gwO__mouiNw/s320/08062009010.jpg" alt="" id="BLOGGER_PHOTO_ID_5344981012832068226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here we are, waiting for the gates to open.&lt;br /&gt;Stay tuned for the coming and exciting announcement ;) I will also twitter on #jbossportal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2277547905925195442?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2277547905925195442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2277547905925195442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2277547905925195442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2277547905925195442'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/06/jboss-portal-at-gartner-summit.html' title='JBoss Portal at the Gartner Summit'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qfEbDTOhbrs/Si0v6YkQIoI/AAAAAAAAAvE/gwO__mouiNw/s72-c/08062009010.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-326229582932812358</id><published>2009-06-05T10:44:00.001+01:00</published><updated>2009-06-05T15:56:16.244+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QA'/><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>New JBoss Portal and SSO framework integration guide</title><content type='html'>JBoss Portal supports integration with various well known SSO frameworks such as CAS, JOSSO and OpenSSO. Basic integration with CAS and JOSSO frameworks is described in &lt;a href="http://docs.jboss.com/jbportal/v2.7.1/referenceGuide/html/sso.html"&gt;Portal reference guide&lt;/a&gt; but if you are interested in more advanced configurations, you can look at our new &lt;a href="http://docs.jboss.org/jbportal/sso/"&gt;SSO Frameworks Integration Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This guide covers step by step instructions of JBoss Portal and SSO frameworks integration in various setups that are commonly found in software enterprises. Maybe you can find an answer for some of questions that have been plaguing you.&lt;br /&gt;&lt;br /&gt;The guide covers these integration scenarios:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Integration of JBoss Portal and SSO server on same host (HTTP protocol is used).&lt;/li&gt;&lt;li&gt;Integration of JBoss Portal and SSO server on same host. Secure communication is used between JBoss Portal agent and SSO framework (HTTPS protocol is used).&lt;/li&gt;&lt;li&gt;Integration of SSO server and more JBoss Portal instances deployed on multiple hosts&lt;/li&gt;&lt;li&gt; Integration of JBoss Portal, SSO server and sample thirdparty web application.&lt;/li&gt;&lt;li&gt;Integration of JBoss Portal and SSO server deployed on different hosts. SSO server is configured for authentication against portal database.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Since we are focussed on delivering a high quality portal server, we always try to integrate various scenarios in our automated test suite. We currently have automated most of the scenarios mentioned above using Selenium and Hudson and you can see the test results at &lt;a href="http://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-2.7-sso-selenium-tests/lastBuild/testReport/(root)/"&gt;http://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-2.7-sso-selenium-tests/lastBuild/testReport/(root)/&lt;/a&gt;. Please let us know if your setup does not belong to one of these and we will try to include that as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-326229582932812358?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/326229582932812358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=326229582932812358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/326229582932812358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/326229582932812358'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/06/new-jboss-portal-and-sso-framework.html' title='New JBoss Portal and SSO framework integration guide'/><author><name>Marek Posolda</name><uri>http://www.blogger.com/profile/13747014950136353686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5921923359188329532</id><published>2009-05-07T13:00:00.004+01:00</published><updated>2009-05-07T13:07:43.049+01:00</updated><title type='text'>JBoss Portlet Bridge CR2 is out!</title><content type='html'>This will (hopefully) be the last release before we go GA and move on to the 286 portlet 2.0 bridge.&lt;br /&gt;&lt;br /&gt;For now, the most notable enhancements (apart from bug fixes) are the addition of the PortletScope annototation for Seam components and the revised PortalIdentity bridgelet.&lt;br /&gt;&lt;br /&gt;We also modified the Seam booking demo to no longer use its provided User database table. The app now uses JBoss Portal Identity through PortalIdentity.&lt;br /&gt;&lt;br /&gt;You can check out the new features in this video:&lt;br /&gt;&lt;br /&gt;&lt;object height="281" width="500"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4521877&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4521877&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="281" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/4521877"&gt;JBoss Portlet Bridge - Lesson 2: Portlet 1.0 Advanced Seam and RichFaces&lt;/a&gt; from &lt;a href="http://vimeo.com/wesleyhales"&gt;Wesley Hales&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;To show off some new features in the CR2 release, I threw together a simple chat-client and chat-room set of portlets using Richfaces poll and Seam stateful session beans.&lt;br /&gt;&lt;br /&gt;This screencast shows how to use the new PortletScope annotation along with the revised SSO/PortalIdentity component.&lt;br /&gt;&lt;br /&gt;Source code for this tutorial:&lt;br /&gt;&lt;a href="http://anonsvn.jboss.org/repos/portletbridge/tags/1.0.0.CR2/examples/seam/bridgechat/"&gt;http://anonsvn.jboss.org/repos/portletbridge/tags/1.0.0.CR2/examples/seam/bridgechat/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the reference guide for more info: &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.CR2/en/html_single/index.html"&gt;http://www.jboss.org/files/portletbridge/docs/1.0.0.CR2/en/html_single/index.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5921923359188329532?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5921923359188329532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5921923359188329532' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5921923359188329532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5921923359188329532'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/05/jboss-portlet-bridge-cr2-is-out.html' title='JBoss Portlet Bridge CR2 is out!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-616524753783299830</id><published>2009-04-02T23:24:00.020+01:00</published><updated>2009-04-03T00:56:03.529+01:00</updated><title type='text'>JBoss Portlet Bridge CR1 Released!</title><content type='html'>&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tpHzaz374RU/SdVFQhQNguI/AAAAAAAAD7Y/bUvTZ5GoK-w/s1600-h/jbossportletbridge-250px.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 250px; height: 79px;" src="http://3.bp.blogspot.com/_tpHzaz374RU/SdVFQhQNguI/AAAAAAAAD7Y/bUvTZ5GoK-w/s320/jbossportletbridge-250px.gif" alt="" id="BLOGGER_PHOTO_ID_5320234684914696930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We have released CR1 for the &lt;a href="http://www.jboss.org/portletbridge/"&gt;JBoss Portlet Bridge&lt;/a&gt;. Thanks to all who submitted fixes and enhancements. I also created the first of (hopefully) many screen casts that will guide you on how to use and develop with the JBoss Portlet Bridge.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight:bold;border-bottom:1px solid #777777;"&gt;In this release:&lt;/div&gt;&lt;ul style="margin:0;padding:0;"&gt;&lt;br /&gt;&lt;li style="margin:0;padding:0;"&gt;The RichFaces file upload &lt;a href="http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/fileUpload.html"&gt;rich:fileUpload&lt;/a&gt; component is working. The component currently only works with the param createTempFiles set to false in your web.xml. Also, you must check for the response type is of type RenderResponse. See &lt;a href="http://anonsvn.jboss.org/repos/portletbridge/tags/1.0.0.CR1/examples/richfaces/richfaces-demo/src/main/java/org/richfaces/demo/fileUpload/FileUploadBean.java"&gt;the paint() method&lt;/a&gt; for an example.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The PortalIdentity bridgelet which provides SSO between your Seam portlet and JBoss Portal is now working with the current Seam 2.1.x Identity model. See &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.CR1/en/html_single/index.html#d0e60"&gt;here&lt;/a&gt; for details.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li style="margin:0;padding:0;"&gt;The &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.CR1/en/html_single/index.html#d0e60"&gt;PortalResourceBuilder&lt;/a&gt; bridgelet received a noteworthy upgrade and now works (should work) in all browsers. This component is for portal pages that contain 2 or more RichFaces components in seperate portlet windows. It namespaces the auto generated RF javascript and loads it only once for each component.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li style="margin:0;padding:0;"&gt;Better docs, scalability upgrades, markup validation fix, and many other bug fixes went into this release. See &lt;a href="http://sourceforge.net/project/shownotes.php?release_id=672962&amp;amp;group_id=22866"&gt;the release notes&lt;/a&gt; for more info.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="font-weight:bold;border-bottom:1px solid #777777;"&gt;Screen Cast&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Lesson 1: Getting Started With the JBoss Portlet Bridge. Explains how to use the bridge's provided Maven archetypes to do rapid development. Also shows how to get started with a clean install and only requires that Maven 2.0.9+ be installed on your machine.&lt;/div&gt;&lt;object width="550" height="371"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3977469&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3977469&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="371"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="font-size:9px"&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/3977469" style="font-size:9px"&gt;JBoss Portlet Bridge - Lesson 1: Getting Started&lt;/a&gt; from &lt;a href="http://vimeo.com/user1528305" style="font-size:9px"&gt;Wesley Hales&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-616524753783299830?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/616524753783299830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=616524753783299830' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/616524753783299830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/616524753783299830'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/04/jboss-portlet-bridge-cr1-released.html' title='JBoss Portlet Bridge CR1 Released!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tpHzaz374RU/SdVFQhQNguI/AAAAAAAAD7Y/bUvTZ5GoK-w/s72-c/jbossportletbridge-250px.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6923948289402158552</id><published>2009-03-24T14:54:00.003+01:00</published><updated>2009-03-24T17:57:51.354+01:00</updated><title type='text'>JBoss Portal running on JBoss AS5 !!!</title><content type='html'>Well, to be more truthful a prototype is working on AS5 :) This is more than just a simple update to get Portal running on top of AS5, we are working to take advantage of the JBoss Microcontainer.&lt;br /&gt;&lt;br /&gt;The biggest change so far is with deployment. Portlets are now being deployed with a special portal deployer which facilitates the deployment with Portal runtime (formally the jboss-portal.sar). The runtime's structure has even changed from a nested deployment inside the sar to individual deployments.&lt;br /&gt;&lt;br /&gt;For everybody out there who can't wait to give this a try, see &lt;a href="http://www.jboss.org/community/docs/DOC-13435"&gt;http://www.jboss.org/community/docs/DOC-13435&lt;/a&gt;. There might be a few issues remaining, so please bring them up in the user forum or open a bug.&lt;br /&gt;&lt;br /&gt;Stay tuned, more updates to come as we move closer to a release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6923948289402158552?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6923948289402158552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6923948289402158552' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6923948289402158552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6923948289402158552'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/jboss-portal-running-on-jboss-as5.html' title='JBoss Portal running on JBoss AS5 !!!'/><author><name>mwringe</name><uri>http://www.blogger.com/profile/03033858623094516449</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-9081844354082851326</id><published>2009-03-24T09:54:00.002+01:00</published><updated>2009-03-24T10:00:49.997+01:00</updated><title type='text'>Looking for a Senior Java EE developer</title><content type='html'>We are looking for a Senior Java EE developer, the job announcement can be found here:&lt;br /&gt;http://tinyurl.com/cs38ns&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;(The position is open worldwide, it doesn't have to be Raleigh, US.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you are an excellent Java EE developer and if you like portals challenges, please consider this position. And if you think about some friends who could enjoy this job, please forward them the announcement.&lt;br /&gt;&lt;br /&gt;Thanks !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-9081844354082851326?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/9081844354082851326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=9081844354082851326' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9081844354082851326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9081844354082851326'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/looking-for-senior-java-ee-developer.html' title='Looking for a Senior Java EE developer'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8187210655014329974</id><published>2009-03-23T09:26:00.002+01:00</published><updated>2009-03-23T09:31:35.100+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JUG presentation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kDRGaMXaed4/SSsA5ru6qKI/AAAAAAAAAAc/ZlSg3m1ddKM/S1600-R/Logo+LorraineJUG+(small).png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 62px;" src="http://2.bp.blogspot.com/_kDRGaMXaed4/SSsA5ru6qKI/AAAAAAAAAAc/ZlSg3m1ddKM/S1600-R/Logo+LorraineJUG+(small).png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I will be presenting JBoss Portal on April 2nd in Nancy, France. My talk will be followed by a JBoss Seam presentation given by Malik Saheb. The presentations will be given in French.&lt;br /&gt;&lt;br /&gt;So if you are around, please register, it's free and JBoss pays for the drink afterwards.&lt;br /&gt;&lt;br /&gt;Here is the link to the official announcement by the Lorraine JUG (In French): &lt;a href="http://lorrainejug.blogspot.com/2009/03/le-lorraine-jug-java-user-group-de.html"&gt;http://lorrainejug.blogspot.com/2009/03/le-lorraine-jug-java-user-group-de.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8187210655014329974?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8187210655014329974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8187210655014329974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8187210655014329974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8187210655014329974'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/jug-presentation.html' title='JUG presentation'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kDRGaMXaed4/SSsA5ru6qKI/AAAAAAAAAAc/ZlSg3m1ddKM/s72-Rc/Logo+LorraineJUG+(small).png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6477668397831469433</id><published>2009-03-19T08:00:00.002+01:00</published><updated>2009-03-19T08:15:28.202+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribution'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Google Summer of Code 2009</title><content type='html'>If you are student and looking for a Google Summer of Code project, Red Hat has been accepted as mentoring organization.&lt;br /&gt;I've proposed one project so far, it is the same that has been proposed last year by Julien.&lt;br /&gt;&lt;br /&gt;The project is a "web clipping framework" to create a portlet that would enable any web application to be run inside a portal. Simple web clipping portlets are easy to create but smart, customizable and fast ones are challenging. Unfortunately as of today opensource solutions haven't really beat the pricey proprietary solutions out there.&lt;br /&gt;&lt;br /&gt;Let me know if this is of interest to you.&lt;br /&gt;&lt;br /&gt;If you think of any other project you would like to propose and work on, I would love to hear from you !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6477668397831469433?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6477668397831469433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6477668397831469433' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6477668397831469433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6477668397831469433'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/google-summer-of-code-2009.html' title='Google Summer of Code 2009'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2170911304593709901</id><published>2009-03-13T15:55:00.003+01:00</published><updated>2009-03-13T16:30:30.437+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.7.2</title><content type='html'>It's hot, it's out ! (And hard to pronounce for me)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What's new ?&lt;/span&gt;&lt;br /&gt;Some Brazilian Portuguese translation, some performance improvement, some bug fixes (among them, some issues with Ajax stuff and various web browsers)... The changelog &lt;a href="https://jira.jboss.org/jira/secure/ReleaseNote.jspa?projectId=10050&amp;styleName=Html&amp;version=12313157"&gt;is here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Grab it &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;here&lt;/a&gt; while it's hot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What's next ?&lt;/span&gt;&lt;br /&gt;We are about to release JBoss Portal 2.6.8 and we are working on JBoss Portal 2.8, you may have seen our ongoing work related to new &lt;a href="http://blog.jboss-portal.org/2009/01/new-jboss-portal-identity-api-proposal.html"&gt;identity&lt;/a&gt; and &lt;a href="http://blog.jboss-portal.org/2009/02/jboss-authorization-server-public.html"&gt;security&lt;/a&gt; components. &lt;br /&gt;&lt;br /&gt;What we didn't talk much yet about is the &lt;span style="font-weight:bold;"&gt;JBoss AS 5 support&lt;/span&gt; (And we mean real support with AS5 deployers), Matt will have good news for you soon. He has been working on a prototype which will be used in JBoss Portal 2.8 ! I know this has been waited for !&lt;br /&gt;&lt;br /&gt;Congrats on the team and contributors for all the work !&lt;br /&gt;&lt;br /&gt;The train is moving fast, if you want to contribute don't miss it, jump on board ! And if you are looking to join a great team in a great company for a full-time job this is a good time to send me your resume ! (theute@redhat.com)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2170911304593709901?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2170911304593709901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2170911304593709901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2170911304593709901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2170911304593709901'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/jboss-portal-272.html' title='JBoss Portal 2.7.2'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-765901469592332010</id><published>2009-03-06T13:56:00.004+01:00</published><updated>2009-03-09T08:24:50.459+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Forums and Wiki projects</title><content type='html'>The original authors of JBoss Forums and JBoss Wiki (respectively led by Ryszard Kozmik and Tomek Szymanski) having retired from those projects (Ryszard being Content Management lead at JBoss.org and Tomek leaving Red Hat). The two projects have stalled for some time now.&lt;br /&gt;&lt;br /&gt;Luckily we got not one not one and a half but two motivated contributors from Italy to come help maintain and enhance those projects. &lt;br /&gt;&lt;br /&gt;Not everything is sorted out yet (the projects page are not updated and the Jira neither) but at least we have code and binaries to play with in JBoss Portal 2.6 or JBoss Portal 2.7.&lt;br /&gt;&lt;br /&gt;Piergiorgio Lucidi (Maven addict) moved JBoss Wiki to a Maven 2 build system and added support for JBoss Portal 2.7. Sources are available &lt;a href="http://anonsvn.jboss.org/repos/portletswap/contrib/wikiPortlet/tags/1.0/"&gt;here&lt;/a&gt; and compiled binaries on &lt;a href="http://www.jboss.org/portletswap/downloads/portlets/collaborate/JBossWiki/?action=a&amp;windowstate=maximized"&gt;PortletSwap&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Luca Stancapiano (you may remember his contributions such as the admin portlet internationalization and Italian localization) worked on JBoss Portal 2.7 support for the Wiki portlet. Sources are available &lt;a href="http://anonsvn.jboss.org/repos/labs/labs/jbossforums/tags/JBOSS_FORUMS_1_2_0_Beta_P27"&gt;here&lt;/a&gt; and binaries also on &lt;a href="http://www.jboss.org/portletswap/downloads/portlets/collaborate/JBossForums/?action=a&amp;windowstate=maximized"&gt;PortletSwap&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So many thanks to Piergiorgio and Luca and I'm sure they would welcome more help on those projects :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-765901469592332010?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/765901469592332010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=765901469592332010' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/765901469592332010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/765901469592332010'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/03/forums-and-wiki-projects.html' title='Forums and Wiki projects'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5004962445218921235</id><published>2009-02-18T20:12:00.004+01:00</published><updated>2009-02-18T20:44:43.659+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>JBoss Portal Talk at Austin JUG</title><content type='html'>I will be giving a presentation on new portlet specification (JSR-286) at Austin JUG on Feb 24. I will use the latest and the greatest &lt;a href="http://www.jboss.org/jbossportal/"&gt;JBoss Portal&lt;/a&gt; to show a demo of new features of the spec as well as Portal in general.&lt;br /&gt;&lt;br /&gt;For location and other details, please visit &lt;a href="http://www.austinjug.org/index.jsp?p=events-20090224"&gt;Austin JUG&lt;/a&gt;. I hope to see you there if you are in the neighborhood.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Prabhat&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5004962445218921235?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5004962445218921235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5004962445218921235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5004962445218921235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5004962445218921235'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/02/jboss-portal-talk-at-austin-jug.html' title='JBoss Portal Talk at Austin JUG'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7684808016193406103</id><published>2009-02-16T06:29:00.009+01:00</published><updated>2009-02-16T08:06:24.635+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal security'/><category scheme='http://www.blogger.com/atom/ns#' term='authorization'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='xacml'/><title type='text'>JBoss Authorization Server Public Preview Available!!</title><content type='html'>This is the first Public Preview of our next generation Authorization system. This system is ready for community review and we would very much like design related feedback at this stage. This is a work in progress, and feedback can be easily incorporated during subsequent releases.&lt;br /&gt;&lt;br /&gt;To provide a little background, Authorization Security is a complex and open ended aspect. Its functionality varies based on the requirements of the environment/organization within which a Portal is deployed. It is very common that the same exact Portlet application can have completely different business level security requirements. However, with the declarative part of Portlet security not being very robust, developers unintentionally end up with "Security Logic" embedded inside their application components.&lt;br /&gt;&lt;br /&gt;This Authorization system is designed to provide Authorization as a cross cutting concern of your Enterprise application, effectively extracting all "Security Logic" out of the business components, and into a central repository. Having extracted the "Security Logic out", your Portlets become lot more Portable from a Security Rules standpoint.&lt;br /&gt;&lt;br /&gt;This was one of the motivating factors for the system, but not the only one. Here are some of the advantages this system is designed to provide Portal Developers&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Clean Separation between Security Logic and Application Logic&lt;/li&gt;&lt;li&gt;Flexibility to apply Security Logic to arbitrary Runtime information, and not just Role based access control&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Runtime Management of Security Policy&lt;/li&gt;&lt;li&gt;A user friendly Developer API&lt;/li&gt;&lt;/ul&gt;Here are some of the technical features of the Authorization Server:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A standards compliant XACML server. &lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml"&gt;More Spec Info&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Runtime modification of Security rules without requiring any system restarts&lt;/li&gt;&lt;li&gt;Ability to create complex security rules taking into account useful contextual data like Identity, Roles, Arbitrary Request Parameters, Date/Time based rules, IP Address based Rules etc&lt;/li&gt;&lt;li&gt;A Developer friendly component oriented API to develop custom Security GUI to manage Policies. Developers do not need any familiarity with the low-level complex XACML XML hell.&lt;/li&gt;&lt;li&gt;A common Security Manager for all your Portlet applications, without having to write/maintain a separate Security subsystem for each Portlet application being aggregated&lt;/li&gt;&lt;/ul&gt;Current Status: System is still evolving especially the Developer API/Components, and the Portal Profile. Feedback here would be valuable since it gives us fresh ideas on may be some usage scenarios we may not have considered. The core architectural components are ready to play around with to get a feel for how the system can be used. I recommend starting with the test cases and the reference guide to get an idea for how the components fit together.&lt;br /&gt;&lt;br /&gt;Useful Links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SVN : &lt;a href="http://anonsvn.jboss.org/repos/portal/modules/authorization/tags/authorization_1_0_PR/"&gt;Preview Release&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Documentation: &lt;a href="http://www.jboss.org/community/servlet/JiveServlet/download/13339-1-6160/reference-guide-preview.zip"&gt;Reference Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Forum: &lt;a href="http://www.jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=205"&gt;Design Discussion&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Thanks&lt;br /&gt;Sohil&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7684808016193406103?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7684808016193406103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7684808016193406103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7684808016193406103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7684808016193406103'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/02/jboss-authorization-server-public.html' title='JBoss Authorization Server Public Preview Available!!'/><author><name>Sohil</name><uri>http://www.blogger.com/profile/02729977008610490091</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2815580367713799454</id><published>2009-01-27T14:38:00.000+01:00</published><updated>2009-01-27T14:39:26.645+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='identity idm'/><title type='text'>New JBoss Portal identity API proposal</title><content type='html'>There is a work in progress on the next gen identity API for JBoss Portal. At the current stage it is finally ready for public review. With &lt;a href="http://www.jboss.org/community/docs/DOC-13258"&gt;wiki documentation&lt;/a&gt; and &lt;a href="http://anonsvn.jboss.org/repos/jbossidentity/idm/tags/1.0.0-Alpha1/example/maven2/"&gt;sample maven project&lt;/a&gt; it should be extremely easy to try it out and play a bit with the proposed API. If you are interested check this &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewtopic&amp;amp;t=149355"&gt;post in the Design of JBoss Portal forum&lt;/a&gt; to learn more.&lt;br /&gt;&lt;br /&gt;New design introduces few powerfull concepts&lt;br /&gt;&lt;ul&gt;&lt;li&gt;API/SPI separation that should enable easier adoption of different identity managers or identity stores in the future.&lt;/li&gt;&lt;li&gt;Notion of Identities and Groups (organizations) with flexible relationships between them&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Concept of a Role that is a typed connection between Identity and Group object. This enables to map sentence like &lt;strong&gt;"John&lt;/strong&gt; is the&lt;strong&gt; Manager&lt;/strong&gt; of&lt;strong&gt; XX Team" to &lt;/strong&gt;"&lt;strong&gt;John&lt;/strong&gt; (&lt;strong&gt;Identity&lt;/strong&gt;) is the &lt;strong&gt;Manager&lt;/strong&gt; (&lt;strong&gt;RoleType&lt;/strong&gt;) of XX Team (&lt;strong&gt;Group&lt;/strong&gt;)"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Abstract attributes and credentials&lt;/li&gt;&lt;/ul&gt;Please read the &lt;a href="http://www.jboss.org/community/docs/DOC-13261"&gt;Design and Architecture&lt;/a&gt; wiki to learn more about all the concepts.&lt;br /&gt;&lt;br /&gt; We are awaiting your feedback!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2815580367713799454?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2815580367713799454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2815580367713799454' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2815580367713799454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2815580367713799454'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/new-jboss-portal-identity-api-proposal.html' title='New JBoss Portal identity API proposal'/><author><name>Bolesław Dawidowicz</name><uri>http://www.blogger.com/profile/09178797216278734614</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3823577325504198800</id><published>2009-01-22T23:35:00.020+01:00</published><updated>2009-01-26T03:01:05.985+01:00</updated><title type='text'>JBoss Portlet Bridge Beta 6 Released!</title><content type='html'>&lt;p&gt;Only a month after beta 5, we are releasing beta 6 with some nice enhancements and bug fixes. I'm pretty sure this will be the last beta release for the 1.0 version. As most of you know, the JBoss Portlet Bridge is a little different than most implementations. We are integrating Seam and RichFaces, so even though the JSF part of the bridge may be running at a GA level (and the spec being final), the RichFaces and Seam integration still has some work left to be done and that may be at a candidate or beta level. As always, let us know what you think and join us on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=273"&gt;forums&lt;/a&gt;.&lt;br /&gt;Along with the small fixes, here is what's new:&lt;/p&gt;&lt;br /&gt;&lt;li&gt;RichFaces dependencies are no more for a normal JSF portlet. Previously you needed the RichFaces jars on your classpath to use the bridge. This was mostly due to early development integration of ajax in the 301 bridge which needed to be refactored.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I created a new Bridgelet called &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.B6/en/html_single/index.html#d0e75"&gt;PortalResourceBuilder&lt;/a&gt;. RichFaces does not account for multiple components on the same portal page by default. This Bridgelet renders all RichFaces component javascript to be portal friendly. It basically replaces the RichFaces script renderer and encloses the dynamically generated javascript. Just include &lt;a href="http://repository.jboss.com/maven2/org/jboss/portletbridge/"&gt;this jar&lt;/a&gt; on your classpath or add the following dependency to your pom.xml:&lt;code&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;   &amp;lt;groupId&amp;gt;org.jboss.portletbridge.extensions.richfaces&amp;lt;/groupId&amp;gt;&lt;br /&gt;   &amp;lt;artifactId&amp;gt;PortalResourceBuilder&amp;lt;/artifactId&amp;gt;&lt;br /&gt;   &amp;lt;version&amp;gt;1.0.0.B6&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;There is now an automatic propagation of Locales. Any &amp;lt;supported-locales/&amp;gt; defined in portlet.xml will be automatically added to your JSF application running inside the portlet. Currently this is only available for JBoss Portal in the 1.0 bridge due to getSupportedLocales() not being in the spec. This should be fully available to all portlet containers in the 2.0 bridge.&lt;/li&gt;&lt;br /&gt;View the &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.B6/en/html_single/index.html"&gt;reference guide&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3823577325504198800?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3823577325504198800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3823577325504198800' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3823577325504198800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3823577325504198800'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/jboss-portlet-bridge-beta-6-released.html' title='JBoss Portlet Bridge Beta 6 Released!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6008237062944374092</id><published>2009-01-21T23:24:00.002+01:00</published><updated>2009-01-21T23:31:16.083+01:00</updated><title type='text'>New JBoss Portal Webcast</title><content type='html'>Hi - we just wrapped a new webcast with CRIX International this afternoon and it went great all around - great speakers (if I do say so myself :-), great content, great attendance and most of all excellent questions.&lt;br /&gt;&lt;br /&gt;Again my personal thanks to George and Mark for telling us their story and sharing their experiences. I'd also like to thank all of the folks at Information Week  and Alfresco who helped sponsor and promote the event.&lt;br /&gt;&lt;br /&gt;And one last special thanks to Ms. Rebecca for helping me get this off the ground.&lt;br /&gt;&lt;br /&gt;The webcast will be up on this URL for the next 6 months and there are links to it on jboss.com.&lt;br /&gt;&lt;br /&gt;&gt; &lt;span class="Object" id="OBJ_PREFIX_DWT2009"&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT2010"&gt;&lt;a target="_blank" href="https://www.techwebonlineevents.com/ars/eventregistration.do?mode=eventreg&amp;amp;F=1001317&amp;amp;K=1AA1A1"&gt;https://www.techwebonlineevents.com/ars/eventregistration.do?mode=eventreg&amp;amp;F=1001317&amp;amp;K=1AA1A1&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6008237062944374092?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6008237062944374092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6008237062944374092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6008237062944374092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6008237062944374092'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/new-jboss-portal-webcast.html' title='New JBoss Portal Webcast'/><author><name>Jason Andersen</name><uri>http://www.blogger.com/profile/10714372877811558272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_8Y3WCbOq5aU/SXegE9gW23I/AAAAAAAAACk/d3S1YbQgfQ4/S220/xmas2008+079.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1324135238373863188</id><published>2009-01-21T12:40:00.003+01:00</published><updated>2009-01-21T13:07:03.948+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Release of JBoss Portal 2.7.1</title><content type='html'>We have just released JBoss Portal 2.7.1 which is a maintenance release for the 2.7 series that support JSR-286 portlets. The detailed release notes can be &lt;a href="http://sourceforge.net/project/shownotes.php?release_id=655073&amp;group_id=22866"&gt;found here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Special thanks to Dan Krieger for his help, Andy Pemberton for his article and recent help in the forum and the Japanese team for the translation contribution !&lt;br /&gt;&lt;br /&gt;You can download it from here: &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;http://www.jboss.org/jbossportal/download/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For issues, please &lt;a href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=215"&gt;use the forum here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;  - Will only work with JBoss AS 4.2 or JBoss Enterprise Application Platform (4.3) (don't try on JBoss 5)&lt;br /&gt;  - For JDK 6 support, you will need to install the portal binary on top of the JDK 6 flavor of JBoss AS which can be &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;package_id=16942&amp;release_id=614346"&gt;obtained here&lt;/a&gt;.&lt;br /&gt;  - If you want to start JBoss Portal while being offline or behind a proxy, please see: http://jboss.org/community/docs/DOC-12633&lt;br /&gt;&lt;br /&gt;After the arrival of Adam Wesley on November 11th, we welcome Agatka Dawidowicz as team member's baby. We hope they will contribute to the project in a couple of years !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1324135238373863188?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/1324135238373863188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=1324135238373863188' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1324135238373863188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1324135238373863188'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/release-of-jboss-portal-271.html' title='Release of JBoss Portal 2.7.1'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2657141621151134708</id><published>2009-01-19T14:23:00.003+01:00</published><updated>2009-01-19T14:29:13.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal in Japanese</title><content type='html'>Just wanted to let you see JBoss Portal in Japanese, I'm always been fascinated by Japanese writings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SXR_aHgxuNI/AAAAAAAAAgI/f8uQ6pTlMJc/s1600-h/Portal_ja.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 241px;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SXR_aHgxuNI/AAAAAAAAAgI/f8uQ6pTlMJc/s400/Portal_ja.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5292995548737026258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you Hiro Okashita and team !&lt;br /&gt;&lt;br /&gt;If you want to translate the JBoss Portal portlets in your language or improve the existing, please let us know !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2657141621151134708?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2657141621151134708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2657141621151134708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2657141621151134708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2657141621151134708'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/jboss-portal-in-japanese.html' title='JBoss Portal in Japanese'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qfEbDTOhbrs/SXR_aHgxuNI/AAAAAAAAAgI/f8uQ6pTlMJc/s72-c/Portal_ja.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3587213342235413581</id><published>2009-01-13T21:59:00.003+01:00</published><updated>2009-01-13T22:07:06.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribution'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal's code swarm</title><content type='html'>Looks like Emanuel got a littler bored tonight (European timezone) and made us the &lt;a href="http://vis.cs.ucdavis.edu/~ogawa/codeswarm/"&gt;code swarm&lt;/a&gt; video of JBoss Portal commits.&lt;br /&gt;&lt;br /&gt;Code swarm for those who don't know basically show the commits as time goes (you can read the date at the bottom right of the video). You'll see the usernames of commiters as they joined. Blue text are java commits, yellow for XML commits and red for XHTML (Barely saw any red).&lt;br /&gt;&lt;br /&gt;This is totally useless but still fun. Consider contributing to be part of next code swarm video :)&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=-9023024467026876733&amp;hl=en&amp;fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Thank you Mucki !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3587213342235413581?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3587213342235413581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3587213342235413581' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3587213342235413581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3587213342235413581'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/jboss-portals-code-swarm.html' title='JBoss Portal&apos;s code swarm'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4887304828042874791</id><published>2009-01-12T18:26:00.004+01:00</published><updated>2009-01-12T20:19:58.598+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribution'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Time to elect your best contributor</title><content type='html'>JBoss Community Leadership Awards votes have started.&lt;br /&gt;&lt;br /&gt;People who've contributed to JBoss Portal:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Peter Johnson for his forum activity in the &lt;a href="https://www.jboss.org/community/poll.jspa?poll=1005"&gt;issue/Jira category&lt;/a&gt;.&lt;/li&gt;&lt;li&gt; &lt;strong style="font-weight: normal;"&gt;Luca Stancapiano for the admin portlet internationalization and the Who's online portlet in the &lt;a href="https://www.jboss.org/community/poll.jspa?poll=1003"&gt;new feature category&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt; Dan Krieger in the &lt;a href="https://www.jboss.org/community/poll.jspa?poll=1002"&gt;bug fix category&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;It is time to show your love for contributors and sorry if you are not part of this list.&lt;br /&gt;&lt;br /&gt;Voting will end on January 30th 2009 and winners will be announced at the &lt;a class="jive-link-external-small" href="http://www.jboss.com/virtualexperience"&gt;JBoss Virtual Experience&lt;/a&gt;, a web-based JBoss technology conference which will be held February 11th 2009. There is no charge for admission, but please &lt;a class="jive-link-external-small" href="http://www-2.virtualevents365.com/jboss_experience/register.php"&gt;advance register&lt;/a&gt; if you'd like to attend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4887304828042874791?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4887304828042874791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4887304828042874791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4887304828042874791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4887304828042874791'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/time-to-elect-your-best-contributor.html' title='Time to elect your best contributor'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7906204917149940755</id><published>2009-01-08T09:18:00.006+01:00</published><updated>2009-01-09T21:42:46.532+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Free webcast to attend</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://www.techwebonlineevents.com/ars/eventregistration.do?mode=eventreg&amp;amp;F=1001317&amp;amp;K=1AA1A1"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 230px; height: 155px;" src="http://2.bp.blogspot.com/_qfEbDTOhbrs/SWe2mpRW4pI/AAAAAAAAAfg/MLx8Ud-tt2Q/s320/JBoss_portal_hmpgB_864107_0109LL.png" alt="" id="BLOGGER_PHOTO_ID_5289397062399877778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.crixinternational.org/"&gt;CRIX International&lt;/a&gt; will present their JBoss Portal based collaboration solution using JBoss and Alfresco technologies.&lt;br /&gt;&lt;br /&gt;It will be a great opportunity to learn&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  Why portals still matter to the enterprise&lt;/li&gt;&lt;li&gt;     How innovative companies have leveraged portals and content solutions to drive business results&lt;/li&gt;&lt;li&gt;     What benefits can be reaped by partnering with a team of independent, open source providers&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Don't miss this free and short webcast on January 21, 2009 4PM EST (Check &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?month=1&amp;amp;day=21&amp;amp;year=2009&amp;amp;hour=16&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=179"&gt;here for your timezone&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Don't forget &lt;a href="https://www.techwebonlineevents.com/ars/eventregistration.do?mode=eventreg&amp;amp;F=1001317&amp;amp;K=1AA1A1_"&gt;to register&lt;/a&gt; prior to the event.&lt;br /&gt;&lt;br /&gt;PS: I'm unsure if this will be recorded, so mark your calendars...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7906204917149940755?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7906204917149940755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7906204917149940755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7906204917149940755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7906204917149940755'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2009/01/free-webcast-to-attend.html' title='Free webcast to attend'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qfEbDTOhbrs/SWe2mpRW4pI/AAAAAAAAAfg/MLx8Ud-tt2Q/s72-c/JBoss_portal_hmpgB_864107_0109LL.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-450920979066618243</id><published>2008-12-17T04:06:00.017+01:00</published><updated>2008-12-19T19:43:59.439+01:00</updated><title type='text'>Santa is bringing you a shiny new JBoss Portlet Bridge!</title><content type='html'>&lt;p&gt;That's right folks. Just when you thought this time of year couldn't get any better. We just released JBoss Portlet Bridge Beta 5, and here are all the new bells and whistles.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Portlet Mode Navigation - In short, this means you can now change to "edit" or "help" modes and navigate to different pages. Once you exit the current mode, you will be returned to the normal flow that you left. Seam conversations are also supported in each mode.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In the latest RichFaces 3.3.0.BETA4 (which is the supported version for this bridge release) there are code enhancements to make RF javascript work better in the portal environment. Namely, you can now have multiple rich:tabPanels in different portlets on the same page.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;General Error Handling - The ViewExpiredException on session timeout has been plaguing many users. We finally have a way to handle any exception using the stanard web.xml config. See details &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.B5/en/html_single/index.html#d0e384"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;If you are converting a non-Facelets JSP only application to a portlet, we now have an example project using the original Sun JSF Car Demo project. Get it &lt;a href="http://anonsvn.jboss.org/repos/portletbridge/branches/portlet_1.0/examples/jsf-ri/1.2-basic/"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We were able to get the JSF Car Demo application running in Liferay (Thanks to Alex Smirnov). You can download the source &lt;a href="http://anonsvn.jboss.org/repos/portletbridge/trunk/examples/jsf-ri/1.2-basic/"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;And last but not least. We have taken extra care to get all the major jira and forum requests into this release. So if you have been posting bugs or submitting patches, we greatly appreciate it! And for those waiting on the Richfaces file upload component, it should be working with the next Richfaces 3.3.0.GA release.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;As always, you can find &lt;a href="http://www.jboss.org/community/docs/DOC-10721"&gt;supported versions&lt;/a&gt;, &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.B5/en/html_single/index.html"&gt;documentation&lt;/a&gt;, and &lt;a href="http://www.jboss.org/portletbridge/download/"&gt;downloads&lt;/a&gt; on the &lt;a href="http://www.jboss.org/portletbridge/"&gt;project page&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-450920979066618243?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/450920979066618243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=450920979066618243' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/450920979066618243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/450920979066618243'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/12/santa-is-bringing-you-shiny-new-jboss.html' title='Santa is bringing you a shiny new JBoss Portlet Bridge!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8122366528181596876</id><published>2008-11-28T18:49:00.000+01:00</published><updated>2008-11-28T18:49:11.421+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>Devoxx, here i come</title><content type='html'>I will be presenting at Devoxx in Antwerp Belgium on December 9th.&lt;br /&gt;The subject of the 30 minutes talk i&lt;span style="font-size:100%;"&gt;s "&lt;/span&gt;&lt;span style="font-size:100%;"&gt;JSF, Ajax, and Seam portlet development with the JBoss Portlet Bridge"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;You can find out &lt;a href="http://www.devoxx.com/display/JV08/JSF%2C+Ajax%2C+and+Seam+portlet+development+with+the+JBoss+Portlet+Bridge"&gt;more here&lt;/a&gt; about this talk.&lt;br /&gt;&lt;br /&gt;If you are around (in or out the conference) and want to chat let me know. I will also probably spend some time on the booth, since I've heard about several good things about it ;) (Those who were at Javapolis last year will know what I'm talking about)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8122366528181596876?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8122366528181596876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8122366528181596876' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8122366528181596876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8122366528181596876'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/11/devoxx-here-i-come.html' title='Devoxx, here i come'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4405328640792955270</id><published>2008-11-04T13:09:00.009+01:00</published><updated>2008-11-18T21:14:56.983+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jsr286'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>Upcoming presentations in Paris</title><content type='html'>I will be presenting at the following events in Paris:&lt;ul&gt;&lt;li&gt;November 12th, 2008 @ &lt;span style="text-decoration: line-through;"&gt;2pm&lt;/span&gt; &lt;strong&gt;3:30pm (updated)&lt;/strong&gt;: &lt;a href="http://skillsmatter.com/event/java-jee/skills-matter-open-source-exchange"&gt;Skills Matter - Xebia Opensource Exchange&lt;/a&gt; where I will be talking about &lt;a href="http://skillsmatter.com/podcast/java-jee/jsr-286"&gt;what's new in JSR-286&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;December &lt;span style="text-decoration: line-through;"&gt;2nd&lt;/span&gt; &lt;strong&gt;9th (updated)&lt;/strong&gt;, 2008 @ 6pm: &lt;a href="http://www.redhat.fr/events/happy-hour/index.php"&gt;Red Hat Tech Happy Hours&lt;/a&gt; where I will be presenting an introduction to portals&lt;/li&gt;&lt;/ul&gt;Hope to see you all there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4405328640792955270?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4405328640792955270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4405328640792955270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4405328640792955270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4405328640792955270'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/11/upcoming-presentations-in-paris.html' title='Upcoming presentations in Paris'/><author><name>Christophe Laprun</name><uri>http://www.blogger.com/profile/07919528571694590136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_jo0ES8FJmhQ/SkniYKi8XBI/AAAAAAAAAAM/qHwmVunidKk/S220/smug.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-580593949374624454</id><published>2008-10-30T13:10:00.000+01:00</published><updated>2008-10-30T13:10:01.084+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.7.0 GA is out</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SQmjNmr6UMI/AAAAAAAAAbw/oGIiUrzYy1Y/s1600-h/portal27.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 257px;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SQmjNmr6UMI/AAAAAAAAAbw/oGIiUrzYy1Y/s400/portal27.png" alt="" id="BLOGGER_PHOTO_ID_5262917093677486274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;JBoss Portal 2.7.0 Final is out for community usage !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;Take it&lt;/a&gt;, use it, break it, and please report any issue &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215"&gt;in the forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;JBoss Portal 2.7 supports Portlet 2.0 features. As explained in a previous blog entry, implicit and explicit coordination are available plus page parameters which are very useful to pass a parameter to several portlets through the URL.&lt;br /&gt;&lt;br /&gt;We've made efforts to not only support Portlet 2.0 features but make a good use of some of the available features to communicate between Portlets and the portal (For example if a portlet requires to sign-off the portal, it can do so by triggering a Portlet 2.0 event). We've also enhanced the administration portlet to support those new features.&lt;br /&gt;&lt;br /&gt;The documentation has also been updated and for users willing to use the greatest and shiniest features, &lt;a href="http://jcp.org/en/jsr/detail?id=286"&gt;the specification&lt;/a&gt; is a great source of information.&lt;br /&gt;&lt;br /&gt;Again, please &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;take it&lt;/a&gt;, use it, break it, and please report any issue &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215"&gt;in the forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Disclaimer: This is not a release on which Red Hat provides professional support. If you are looking for a supported version of the Enterprise Portal Platform, please see the &lt;a href="https://support.redhat.com/jbossnetwork/login.html"&gt;Customer Support Portal&lt;/a&gt;. The Enterprise Portal Platform (EPP 4.3) with JSR-286 features will be released in a couple of months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-580593949374624454?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/580593949374624454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=580593949374624454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/580593949374624454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/580593949374624454'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/10/jboss-portal-270-ga-is-out.html' title='JBoss Portal 2.7.0 GA is out'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qfEbDTOhbrs/SQmjNmr6UMI/AAAAAAAAAbw/oGIiUrzYy1Y/s72-c/portal27.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5469910550909861140</id><published>2008-10-29T21:20:00.018+01:00</published><updated>2008-10-29T22:37:18.412+01:00</updated><title type='text'>Using Ajax Component Libraries in JBoss Portal</title><content type='html'>&lt;p&gt;Since my &lt;a href="http://www.slideshare.net/wesleyhales/ajax-in-enterprise-portals-presentation"&gt;presentation&lt;/a&gt; and uploading the demo videos to YouTube, I decided to share them on this blog for those of you interested. I spoke with Ted Goddard from &lt;a href="http://www.icefaces.org"&gt;IceFaces&lt;/a&gt; while at the conference and he and I will be working together in the coming months to support IceFaces in the &lt;a href="http://www.jboss.org/portletbridge/"&gt;JBoss Portlet Bridge&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;This video shows a basic example of raw 286 ajax. This is available in the samples module &lt;a href="http://anonsvn.jboss.org/repos/portal/branches/JBoss_Portal_Branch_2_7/core-samples/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o6hAMgdgQDE&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/o6hAMgdgQDE&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;The IceFaces library is a extremely easy to get up and running via the &lt;a href="http://anonsvn.icefaces.org/repo/icefaces/trunk/icefaces/samples/component-showcase/portlets/"&gt;provided demo project&lt;/a&gt;. However, each component is in its own portlet. So you will need to login to the admin console and create the instance you want to view.&lt;br /&gt;&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WJgS4SSDalA&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WJgS4SSDalA&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Here we see the RichFaces component library in action in a portlet. All you need to do is checkout the &lt;a href="http://anonsvn.jboss.org/repos/portletbridge/trunk/examples/richfaces/richfaces-demo/"&gt;project here&lt;/a&gt;, build and copy to the deploy directory.&lt;br /&gt;&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/H5Uq5W5M2tM&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/H5Uq5W5M2tM&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Finally, this is just a quick start demo showing how it only takes a couple of Maven commands to get up and running with a full JBoss App Server+JBoss Portal+RichFaces install. You can view all the articles &lt;a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=141158"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8zk9jiGpVRg&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8zk9jiGpVRg&amp;ap=%2526fmt%3D18&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5469910550909861140?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5469910550909861140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5469910550909861140' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5469910550909861140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5469910550909861140'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/10/using-ajax-component-libraries-in-jboss.html' title='Using Ajax Component Libraries in JBoss Portal'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-869702573837031923</id><published>2008-10-24T13:02:00.003+02:00</published><updated>2008-10-24T13:14:49.456+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.6.7 release</title><content type='html'>The new maintenance release of JBoss Portal 2.6 is out.&lt;br /&gt;&lt;br /&gt;On top of several bug fixes, you will find the improved scalability performance as explained in the &lt;a href="http://blog.jboss-portal.org/2008/09/scaling-jboss-portal-to-new-height.html"&gt;other blog entry&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Download links &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;are available here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On a side note, we are in the process of releasing JBoss Portal 2.7.0.GA, we'll let you know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-869702573837031923?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/869702573837031923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=869702573837031923' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/869702573837031923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/869702573837031923'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/10/jboss-portal-267-release.html' title='JBoss Portal 2.6.7 release'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5774647975885689678</id><published>2008-10-20T03:43:00.001+02:00</published><updated>2008-10-20T03:45:14.114+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajaxworld'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>AJAX in Enterprise Portals at AjaxWorld</title><content type='html'>I will be giving a presentation for the AjaxWorld conference Tuesday at 5:00 on Ajax in Enterprise Portals. If you are here in San Jose, don't be a stranger!&lt;br /&gt;Check out the sessions &lt;a href="http://ajaxworld.com/general/sessions1008.htm"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5774647975885689678?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5774647975885689678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5774647975885689678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5774647975885689678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5774647975885689678'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/10/ajax-in-enterprise-portals-at-ajaxworld.html' title='AJAX in Enterprise Portals at AjaxWorld'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4001111156811321139</id><published>2008-09-20T00:08:00.016+02:00</published><updated>2008-09-24T17:54:17.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance scalability'/><title type='text'>Scaling JBoss Portal to a new height</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_STXaEkQUatM/SNkBzp53hTI/AAAAAAAAD7Y/fJ4DCZ9DEW8/s1600-h/Mount_Everest.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_STXaEkQUatM/SNkBzp53hTI/AAAAAAAAD7Y/fJ4DCZ9DEW8/s320/Mount_Everest.jpg" alt="Mount Everest as seen from Nepal side" id="BLOGGER_PHOTO_ID_5249228827610547506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You may have guessed from &lt;a href="http://blog.jboss-portal.org/2008/09/jboss-portal-270cr1-is-hot-and.html"&gt;previous blog&lt;/a&gt; that this was coming and it has. We have been working a lot on improving the performance and &lt;a href="http://en.wikipedia.org/wiki/Scalability#Scale_horizontally_.28scale_out.29"&gt;scalability (horizontal) &lt;/a&gt;of JBoss Portal lately and I am glad to tell you that it's scaling really well. Don't get me wrong, it was never too bad to begin with but there are always rooms for improvement. :-) JBoss Portal uses &lt;a href="http://www.hibernate.org/"&gt;Hibernate&lt;/a&gt; for database related work and &lt;a href="http://www.jboss.org/jbosscache/"&gt;JBoss Cache&lt;/a&gt; for clustering and having both development teams in-house helped significantly as well.&lt;br /&gt;&lt;br /&gt;Besides tuning our hibernate configurations and several code optimizations which improved the performance of a stand alone JBoss Portal server,  our scalability exercise resulted into a new JBoss Cache and Hibernate integration library, the details of which you can find &lt;a href="http://galder.zamarreno.com/?p=56"&gt;at this blog&lt;/a&gt;.. Without further ado, here is the result.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_STXaEkQUatM/SNQoxWMPZnI/AAAAAAAAD7Q/pYC5tICPCS0/s1600-h/portal-scal-blog-graph.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_STXaEkQUatM/SNQoxWMPZnI/AAAAAAAAD7Q/pYC5tICPCS0/s400/portal-scal-blog-graph.jpg" alt="" id="BLOGGER_PHOTO_ID_5247864294029092466" border="0" /&gt;&lt;/a&gt;As you can see, &lt;span style="font-weight:bold;"&gt;scalability is linear (positive)&lt;/span&gt; going from a 1-node to 10-node cluster which is the best you can expect. What this means is that once you optimize your portal deployment on a single node, JBoss Portal server will not incur too much extra overhead when you deploy your application in a cluster.  I would like to mention though that going from a 1-node to a 2-node cluster scalability is 85% which still is pretty good in my opinion. Now some testing details.&lt;br /&gt;&lt;br /&gt;For our testing, we used &lt;a href="http://www.jboss.com/products/platforms/application/features"&gt;JBoss Enternprise Application Platform (EAP)&lt;/a&gt;  version 4.3 production configuration because it has some OOB optimizations that we needed. We used a portal application which would test the core of portal server which meant an application that would follow the most common code execution path. It tested most commonly used interceptors, security layer, database access layer and portal management layer. We also made sure that fail over was happening correctly because in most use cases scalability without fail over does not mean much in a clustered setup. Load was increased until average response time remained less than 2 seconds with average think time of 1.5 seconds between requests.&lt;br /&gt;&lt;br /&gt;All portal servers were deployed on RHEL4 servers on the same subnet. We used &lt;a href="http://smartfrog.org/"&gt;SmartFrog&lt;/a&gt; components to manage distributed deployment and testing. Requests were generated using our in house load generator as well as &lt;a href="http://grinder.sourceforge.net/"&gt;Grinder&lt;/a&gt;  which hit the cluster fronted by apache load balancer. MySql5 was used as back end database. We did not tune MySql5 any more than what is commonly recommended for production setup. Performance tests and scalability tests are now part of continuous integration which is done using Hudson and its Smartfrog plugin that JBoss QA team has developed.&lt;br /&gt;&lt;br /&gt;Many thanks go to Brian Stansberry, clustering lead and Galder Zamarreno, senior support engineer for not only creating the new JBC/Hib library but also for having patience to ruminate through many thread dumps.&lt;br /&gt;&lt;br /&gt;We certainly had lots of fun with this exercise. Please let us know how it performs and scales in your deployment. These optimizations will be available from next release of JBoss Portal which are 2.6.7.GA (JSR-168 compliant) and JBoss Portal 2.7.0.GA (JSR-286 compliant).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4001111156811321139?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4001111156811321139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4001111156811321139' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4001111156811321139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4001111156811321139'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/09/scaling-jboss-portal-to-new-height.html' title='Scaling JBoss Portal to a new height'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_STXaEkQUatM/SNkBzp53hTI/AAAAAAAAD7Y/fJ4DCZ9DEW8/s72-c/Mount_Everest.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5082418675079835739</id><published>2008-09-16T16:06:00.006+02:00</published><updated>2008-09-16T21:16:52.227+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><title type='text'>Developing portlets with the JBoss Portlet Bridge</title><content type='html'>To celebrate the latest Beta 4 release of the JBoss Portlet Bridge, I have written the final article in the three part series titled "Developing Portlets using JSF, Ajax, and Seam" published on infoq.com.&lt;br /&gt;I tried to write each article in a easy to understand, get straight-to-the-point approach. The tutorials use maven archetypes and cargo configurations that allow all readers, novice or expert, to get up and running without having to worry about *any* configurations or reading further documentation. My focus was strictly for the user to input only two or three commands and have everything working without needing to cross reference a user guide or post any questions on the forums while working through the tutorials. Hopefully that will be your situation ;-)&lt;br /&gt;&lt;br /&gt;All 3 articles can be found on the infoq site via the following links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-1"&gt;http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-2"&gt;http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-3"&gt;http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-3&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;This is a great way to get started quickly developing portlets with JSF, RichFaces, and the Seam Framework.&lt;br /&gt;&lt;br /&gt;To learn more about the JBoss Portlet Bridge visit the &lt;a href="http://www.jboss.org/portletbridge/"&gt;project page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5082418675079835739?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5082418675079835739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5082418675079835739' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5082418675079835739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5082418675079835739'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/09/developing-portlets-with-jboss-portlet.html' title='Developing portlets with the JBoss Portlet Bridge'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8909869767800798798</id><published>2008-09-15T18:21:00.001+02:00</published><updated>2008-09-15T18:39:51.148+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Portlet coordination</title><content type='html'>Portlet coordination is a new set of features brought by the Portlet 2.0 specification (aka JSR-286).&lt;br /&gt;You can now define what is called "Public (or shared) render parameters" and events. The specification only defines the portlet *container* and not how portlets behave in a portal. It is up to the portal vendor to define how those shared render parameters and events will be bound.&lt;br /&gt;&lt;br /&gt;In JBoss Portal we treat Shared render parameters in a similar way as events. We named "Event wiring" a link between an event to publish and an event to consume and "Parameter binding" the link between parameters. An event and a shared parameters are defined by a qualified name in a portal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Implicit coordination&lt;/span&gt;&lt;br /&gt;The most natural way it to bind (or wire) shared parameters (or events) that defined the same qname on the same page. This is the default behavior in JBoss Portal, and we call that "implicit binding" (or "implicit wiring" for events).&lt;br /&gt;&lt;br /&gt;Here is a schema to understand, the portlets 1, 2, 3 define a render parameter called "urn:other:zip" while the portlet 4, 5, 6 define a render parameter called "urn:jboss:zipcode".&lt;br /&gt;With the default behavior "implicit binding" any portlet modifying or accessing a render parameter with share the same value&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SMpScYovt4I/AAAAAAAAAVw/lvtUclyBrrE/s1600-h/coordination_implicit.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SMpScYovt4I/AAAAAAAAAVw/lvtUclyBrrE/s400/coordination_implicit.png" alt="" id="BLOGGER_PHOTO_ID_5245095363629528962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:180%;"&gt;Explicit coordination&lt;/span&gt;&lt;br /&gt;This is a natural and common use case, but there are time when you don't want that behavior, let's say you don't want them to share the same value and somehow want to isolate all those windows. You can turn off the implicit binding by either modifying the *-object.xml descriptor or through the GUI.&lt;br /&gt;&lt;pre name="code" class="XML"&gt;&amp;lt;portal&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;coordination&amp;gt;&lt;br /&gt; &amp;lt;bindings&amp;gt;&lt;br /&gt;     &amp;lt;implicit-mode&amp;gt;FALSE&amp;lt;implicit-mode&amp;gt;&lt;br /&gt; &amp;lt;bindings&amp;gt;&lt;br /&gt; &amp;lt;wirings&amp;gt;&lt;br /&gt;     &amp;lt;implicit-mode&amp;gt;TRUE&amp;lt;implicit-mode&amp;gt;&lt;br /&gt; &amp;lt;wirings&amp;gt;&lt;br /&gt;&amp;lt;coordination&amp;gt;&lt;br /&gt;&amp;lt;portal&amp;gt;&lt;br /&gt;&lt;/pre&gt;Here we turned off the implicit binding and kept the implicit wiring.&lt;br /&gt;Now all our windows have their public render parameters isolated.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qfEbDTOhbrs/SMpUUAJhZII/AAAAAAAAAV4/JFJ2UucVDrM/s1600-h/coordination_implicit_off.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_qfEbDTOhbrs/SMpUUAJhZII/AAAAAAAAAV4/JFJ2UucVDrM/s400/coordination_implicit_off.png" alt="" id="BLOGGER_PHOTO_ID_5245097418640417922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we may want something in the middle, not all magically bound, neither all separated, even better, we bought the portlet represented in blue that has a shared render parameter which also represent a zipcode like ours. We do not want to make modification to that acquisition we simply want to tell the portal that we want to bind the zipcodes of windows 1 4 and 5. On top of that we want to bind 2 and 3. This can also be done wither through the descriptor file or though the admin portlet.&lt;br /&gt;We now have the following scenario, without changing any code.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qfEbDTOhbrs/SMpVXpNYtXI/AAAAAAAAAWA/CQI_zYwyRkA/s1600-h/coordination_explicitsvg.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_qfEbDTOhbrs/SMpVXpNYtXI/AAAAAAAAAWA/CQI_zYwyRkA/s400/coordination_explicitsvg.png" alt="" id="BLOGGER_PHOTO_ID_5245098580713715058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Voila ! We now have a way to "explicitely" define how shared render parameters are bound and it works in a similar way for event wiring.&lt;br /&gt;Of course a nice addition to this would be the possibility to transform a render parameter or event payload on the fly (say the portlet you bought defines an render parameter string that represents an address, the format will probably be slightly different from the one you made yourself, we would need a class in between to do the transformation back and forth). We'll see how this feature get popular and how we can put that in the roadmap, but contributions are always welcome :)&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Aliases&lt;/span&gt;&lt;br /&gt;Last but not least we've also added the notion of aliases for render parameters. Say you have the two shared render parameters "urn:jboss:zipcode" and "urn:other:zip", you know they are similar (it's just a string that contains a zipcode), you can group them in an alias. That alias name can be used to pass a value as a request parameter of the portal.&lt;br /&gt;You can define the alias in the object descriptor or through the admin portlet, in the XML it would look like:&lt;br /&gt;&lt;pre name="code" class="XML"&gt;&lt;br /&gt;&amp;lt;coordination&amp;gt;&lt;br /&gt;&amp;lt;bindings&amp;gt;&lt;br /&gt;   &amp;lt;alias-binding&amp;gt;&lt;br /&gt;      &amp;lt;id&amp;gt;myzip&amp;lt;/id&amp;gt;&lt;br /&gt;      &amp;lt;qname&amp;gt;{urn:jboss}zipcode&amp;lt;/qname&amp;gt;&lt;br /&gt;      &amp;lt;qname&amp;gt;{urn:other}zip&amp;lt;/qname&amp;gt;&lt;br /&gt;   &amp;lt;/alias-binding&amp;gt;&lt;br /&gt;&amp;lt;/bindings&amp;gt;&lt;br /&gt;&amp;lt;/coordination&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now by passing a request parameter to the page, the windows will get an initial value equals to the parameter you passed. Say your page URL is http://www.jboss-portal.org/portal/myPage you can pass a render parameters to your portlets by querying: http://www.jboss-portal.org/portal/myPage?myzip=20878, it's also what we call a page parameter.&lt;br /&gt;&lt;br /&gt;I hope that I was able to give a not too long overview of implicit/explicit coordination, more details are available &lt;a href="http://docs.jboss.com/jbportal/v2.7.0.B1/referenceGuide/html/coordination.html"&gt;in the reference guide&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8909869767800798798?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8909869767800798798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8909869767800798798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8909869767800798798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8909869767800798798'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/09/portlet-coordination.html' title='Portlet coordination'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qfEbDTOhbrs/SMpScYovt4I/AAAAAAAAAVw/lvtUclyBrrE/s72-c/coordination_implicit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3155410034166737817</id><published>2008-09-12T00:12:00.000+02:00</published><updated>2008-09-12T12:12:10.544+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.7.0.CR1 is hot and available !</title><content type='html'>I am really happy to announce the release of JBoss Portal 2.7.0.CR1.&lt;br /&gt;&lt;br /&gt;Here is what happened since the Beta1 on top of bug fixes:&lt;br /&gt;&lt;br /&gt;We have been able to include in this release the new JBoss Portlet Bridge Beta 4 and an important upgrade of JackRabbit.&lt;br /&gt;&lt;br /&gt;Also we have been able to considerably improve on the scalability of JBoss Portal by working on the JBoss Cache//Hibernate integration. Thanks a zillion to Brian, Galder (Who will soon blog about the technical details, we'll give you the link when ready) and Prabhat.&lt;br /&gt;JBoss Portal 2.6.7 will also benefit from this improvement. We plan to blog with Prabhat on our latest results.&lt;br /&gt;&lt;br /&gt;We added a GUI to manage the coordination between portlets.&lt;br /&gt;&lt;br /&gt;Download is available from &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;here&lt;/a&gt; if you are in a hurry, just &lt;a href="http://downloads.sourceforge.net/jboss/jboss-portal-2.7.0.CR1-bundled.zip?modtime=1221189172&amp;amp;big_mirror=1"&gt;grab the bundle&lt;/a&gt;, unzip it and start bin/run.sh or bin/run.bat then go to &lt;a href="http://localhost:8080/portal"&gt;http://localhost:8080/portal&lt;/a&gt; as usual.&lt;br /&gt;&lt;br /&gt;Thanks a lot and please report any issue &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215"&gt;in the forum&lt;/a&gt;, or even better contribute some code, some graphics, some translation, some doc... (By the way, thanks a lot to Matt Cook for his &lt;a href="http://knol.google.com/k/knol/system/knol/pages/Search?nodeId=1ueb8yo1mnkcr.0#"&gt;articles on Knol&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3155410034166737817?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3155410034166737817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3155410034166737817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3155410034166737817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3155410034166737817'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/09/jboss-portal-270cr1-is-hot-and.html' title='JBoss Portal 2.7.0.CR1 is hot and available !'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6466327729666556737</id><published>2008-08-26T23:10:00.001+02:00</published><updated>2008-08-26T23:10:52.272+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><title type='text'>How to monitor portal session data and replication?</title><content type='html'>Lately we have been working a lot on improving JBoss Portal's performance and scalability. In this blog, I want to talk about how you can inspect what's in your session and how much data is getting replicated when a request is made to your portal deployment.&lt;br /&gt;&lt;br /&gt;You can not get hold of HttpSession object in your portlet. To get hold of HttpSession object, either you write your custom interceptor or a filter. What you have is access to PortletSession object through getPortletSession method of request object where request could be a RenderRequest or ActionRequest.  Unfortunately, there is no session.getSize() method which would tell you how big exactly your portlet session is. You would have to enumerate through attributes in session in both PORTLET_SCOPE and APPLICATION_SCOPE, get their values then obtain their size as follow:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;Enumeration portletAttribs = session.getAttributeNames();&lt;br /&gt;Enumeration applicationAttribs = session.getAttributeNames(PortletSession.APPLICATION_SCOPE);&lt;br /&gt;ByteArrayOutputStream bs = new ByteArrayOutputStream();&lt;br /&gt;ObjectOutputStream os = new ObjectOutputStream(bs);&lt;br /&gt;&lt;br /&gt;while(portletAttribs.hasMoreElements())&lt;br /&gt;{&lt;br /&gt;   Object obj = session.getAttribute(portletAttribs.nextElement());&lt;br /&gt;   os.writeObject(obj);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Similarly you enumerate through attributes in applicationAttribs and add write them to ObjectOuputStream.  Then you get the size using:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;System.out.println("PortletSession Size is " + bs.size());&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The value you get is a close approximation to how big your portlet session is. HttpSession size will be bigger because portal needs to store the navigational state of your portlet/s as well.&lt;br /&gt;&lt;br /&gt;Now, let's talk about how much data is getting replicated across your portal cluster. We will find this using JGroups MBean and JConsole which is the Java Monitoring and Management Console graphical tool shipped in J2SE JDK 5.0 and up.&lt;br /&gt;&lt;br /&gt;First we need to prep up JBoss so that mbeans are available to JConsole. You can find the details at&lt;br /&gt;&lt;a href="http://wiki.jboss.org/wiki/JBossMBeansInJConsole"&gt;JBoss-JConsole wiki&lt;/a&gt;. In a nutshell, you need to modiify $JBOSS_HOME/bin/run.conf. Your JAVA_OPTS should look more or less like&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;JAVA_OPTS="-Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dcom.sun.management.jmxremote -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanSe&lt;br /&gt;rverBuilderImpl -Djboss.platform.mbeanserver"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Start JBoss Portal + JBoss AS bundle. In a separate terminal launch jconsole. You should automatically pick up PID of JBoss instance as shown here. Click Connect.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_STXaEkQUatM/SLRk438h_1I/AAAAAAAAD5g/Jo2Tjq8seCM/s1600-h/jconsole-prompt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_STXaEkQUatM/SLRk438h_1I/AAAAAAAAD5g/Jo2Tjq8seCM/s200/jconsole-prompt.png" alt="" id="BLOGGER_PHOTO_ID_5238923194792017746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now under MBeans tag, select Tree-&gt;jboss.jgroups -&gt; protocol-&gt;Tomcat-Cluster-&gt;UDP as shown below. Here you will see total number of bytes sent and received by a node in cluster.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_STXaEkQUatM/SLRmOadi5-I/AAAAAAAAD5o/mdWEGgC8AIw/s1600-h/jconsole-udp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_STXaEkQUatM/SLRmOadi5-I/AAAAAAAAD5o/mdWEGgC8AIw/s200/jconsole-udp.png" alt="" id="BLOGGER_PHOTO_ID_5238924664346175458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These Bytes Sent and Received value are for data related to session replication. To see replication data related to the second level cache used by Hibernate in Portal, you need to select&lt;br /&gt;Tree-&gt;jboss.jgroups -&gt; protocol-&gt;portal.hibernate-&gt;UDP&lt;br /&gt;&lt;br /&gt;With those tools, you can now make sure that your sessions are not getting too large for the costly session replication on a cluster. You can use and abuse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6466327729666556737?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6466327729666556737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6466327729666556737' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6466327729666556737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6466327729666556737'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/08/how-to-monitor-portal-session-data-and.html' title='How to monitor portal session data and replication?'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_STXaEkQUatM/SLRk438h_1I/AAAAAAAAD5g/Jo2Tjq8seCM/s72-c/jconsole-prompt.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4254483471935751291</id><published>2008-08-21T21:20:00.011+02:00</published><updated>2008-08-21T22:22:48.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet ide'/><title type='text'>JBoss Portlet support in Eclipse</title><content type='html'>JBoss Tools 3.0.0 Alpha1 has been released with initial support for portlets (including JSF and Seam portlets).&lt;br /&gt;&lt;br /&gt;Two warning, first it is Alpha with all it means. Second one, the blog entry looks long and complicated. In fact i included many screenshots so that people who don't want to try can have a good overview of how it works. It's very simple for anyone a bit familiar with Eclipse.&lt;br /&gt;&lt;br /&gt;First we need Eclipse Ganymede, JBoss Tools 3.0.0 Alpha1 and a version of JBoss Portal (bundle if you are looking for simplicity, and 2.7 if you want a Portlet 2.0).&lt;br /&gt;&lt;br /&gt;Extract Eclipse and JBoss Tools, you should get a unique "eclipse" directory.&lt;br /&gt;Extract JBoss Portal&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ tar zxvf ~/Download/eclipse-jee-ganymede-linux-gtk.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ unzip ~/Download/JBossTools-3.0.0.Alpha1-ALL-linux-gtk.zip&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ unzip ~/Download/jboss-portal-2.7.0.B1-bundled.zip&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you should have an "eclipse" directory. Let's go in it and start Eclipse.&lt;br /&gt;Once started go to the workbench and do &lt;span style="font-style: italic;"&gt;File&gt;New&gt;Dynamic Web Project&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;You can&lt;/span&gt;&lt;span&gt; fill-in the name for your project.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3FcbWWv2I/AAAAAAAAATg/uAChqN1XrKU/s1600-h/DynamicWebProjectEmpty.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3FcbWWv2I/AAAAAAAAATg/uAChqN1XrKU/s400/DynamicWebProjectEmpty.png" alt="" id="BLOGGER_PHOTO_ID_5237059033870286690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And create a new "Target Runtime" such as on the following screenshot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3FvC8QzgI/AAAAAAAAATo/J92HDVuyyH4/s1600-h/NewTargetRuntime.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3FvC8QzgI/AAAAAAAAATo/J92HDVuyyH4/s400/NewTargetRuntime.png" alt="" id="BLOGGER_PHOTO_ID_5237059353735908866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And point it to the location of your JBoss AS + Portal installation:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3GGQVEUoI/AAAAAAAAATw/JiE7AjrgRX8/s1600-h/JBossRuntimeEnvironment.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3GGQVEUoI/AAAAAAAAATw/JiE7AjrgRX8/s400/JBossRuntimeEnvironment.png" alt="" id="BLOGGER_PHOTO_ID_5237059752466600578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now don't forget to set a Portlet Project configuration (Portlet 1.0 or 2.0)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3Gv_MFWPI/AAAAAAAAAT4/50RFxBRAZ2M/s1600-h/DynamicWebProject.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3Gv_MFWPI/AAAAAAAAAT4/50RFxBRAZ2M/s400/DynamicWebProject.png" alt="" id="BLOGGER_PHOTO_ID_5237060469420022002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And click on &lt;span style="font-style: italic;"&gt;Finish&lt;/span&gt;.&lt;br /&gt;Our base project is done, now let's add a portet into it.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Choose &lt;/span&gt;&lt;span style="font-style: italic;"&gt;File&gt;New&gt;Other&lt;/span&gt; (or Ctrl+N) then select one of the &lt;span style="font-style: italic;"&gt;JBoss Web Tools&gt;Portlet&lt;/span&gt; wizard.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3CROrPbqI/AAAAAAAAATY/eg9oK7dT8Wo/s1600-h/NewProject.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3CROrPbqI/AAAAAAAAATY/eg9oK7dT8Wo/s400/NewProject.png" alt="" id="BLOGGER_PHOTO_ID_5237055542954782370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We'll pick &lt;span style="font-style: italic;"&gt;Java Portlet&lt;/span&gt; for this blog. Fill in the Java Package and the class name and click Next.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3NU_o1LDI/AAAAAAAAAUQ/2II85580TJA/s1600-h/CreatePortlet.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3NU_o1LDI/AAAAAAAAAUQ/2II85580TJA/s400/CreatePortlet.png" alt="" id="BLOGGER_PHOTO_ID_5237067702265523250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On this other screen you will be able to set the display name of the portlet, a title, a description, the supported modes and init parameters.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3NhAfcltI/AAAAAAAAAUY/sHleczimp30/s1600-h/CreatePortlet2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_qfEbDTOhbrs/SK3NhAfcltI/AAAAAAAAAUY/sHleczimp30/s400/CreatePortlet2.png" alt="" id="BLOGGER_PHOTO_ID_5237067908653029074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On the next screen you can define which methods you want to override from GenericPortlet.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3NpgqbaDI/AAAAAAAAAUg/mVtSoRM4LNk/s1600-h/CreatePortlet3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3NpgqbaDI/AAAAAAAAAUg/mVtSoRM4LNk/s400/CreatePortlet3.png" alt="" id="BLOGGER_PHOTO_ID_5237068054727977010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The last screen let you build JBoss Portal specific descriptors to create an instance during the deployment and place it directly on the portal.&lt;br /&gt;Now that it is done, all the requires files are part of the Eclipse explorer and are ready to be built and deployed.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3JoH1f-EI/AAAAAAAAAUA/wDjPyGzwt1I/s1600-h/Explorer.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3JoH1f-EI/AAAAAAAAAUA/wDjPyGzwt1I/s400/Explorer.png" alt="" id="BLOGGER_PHOTO_ID_5237063632837146690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now right click on the project and do &lt;span style="font-style: italic;"&gt;Run As&gt;Run On Server&lt;/span&gt; and accept the default. It will deploy the portlet web application and start JBoss AS.&lt;br /&gt;(Little glitch, once started it will open the browser on http://localhost:8080/foobar, use http://localhost:8080/portal and you will see your portlet:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3LnmLHtOI/AAAAAAAAAUI/Z5ri2kBg9TU/s1600-h/PortalRunning.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SK3LnmLHtOI/AAAAAAAAAUI/Z5ri2kBg9TU/s400/PortalRunning.png" alt="" id="BLOGGER_PHOTO_ID_5237065822824281314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And voila ! From here you have access to all the other features of JBoss Tools.&lt;br /&gt;&lt;br /&gt;Thanks Snjezana for the hard work !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4254483471935751291?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4254483471935751291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4254483471935751291' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4254483471935751291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4254483471935751291'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/08/jboss-portlet-support-in-eclipse.html' title='JBoss Portlet support in Eclipse'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qfEbDTOhbrs/SK3FcbWWv2I/AAAAAAAAATg/uAChqN1XrKU/s72-c/DynamicWebProjectEmpty.png' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7479181181467319353</id><published>2008-08-20T12:52:00.009+02:00</published><updated>2008-08-20T13:22:09.309+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Lurking at Hypersonic data</title><content type='html'>There are times when you want to look at your database data during development.&lt;br /&gt;It is also very common to keep using Hypersonic as a database during that same phase.&lt;br /&gt;&lt;br /&gt;But do you know how to look at your JBoss Portal data ? Here is an entry-level explanation on how to do it. I got the idea of this blog entry by reading a question on a forum and hope it could help.&lt;br /&gt;&lt;br /&gt;JBoss AS includes the "HSQL Database Manager" a GUI to execute SQL request on a HSQL server. To access it, you will need to go through the JMX console and locate the &lt;span style="font-style: italic;"&gt;startDatabaseManager()&lt;/span&gt; operation on the &lt;a href="http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&amp;amp;name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB"&gt;jboss:database=localDB,service=Hypersonic&lt;/a&gt; MBean.&lt;br /&gt;&lt;br /&gt;Clicking on "Invoke" should open up a new application that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv8GIMPQbI/AAAAAAAAASs/h9_4bL8IgZk/s1600-h/HSQL_DB_manager.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv8GIMPQbI/AAAAAAAAASs/h9_4bL8IgZk/s320/HSQL_DB_manager.png" alt="" id="BLOGGER_PHOTO_ID_5236556173956563378" border="0" /&gt;&lt;/a&gt;You see the content of the default datasource of JBoss AS. Now to see the default datasource of JBoss Portal click on &lt;span style="font-style: italic;"&gt;File&gt;Connect...&lt;/span&gt; You will see the following screen (after enlarging the window horizontally):&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv8vBejuqI/AAAAAAAAAS8/KSSCQMJKtTs/s1600-h/HSQL_DB_manager_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv8vBejuqI/AAAAAAAAAS8/KSSCQMJKtTs/s400/HSQL_DB_manager_2.png" alt="" id="BLOGGER_PHOTO_ID_5236556876528990882" border="0" /&gt;&lt;/a&gt;In the URL just change the final part: &lt;span style="font-style: italic;"&gt;/data/hypersonic/localDB&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;/data/portal/hypersonic/database&lt;/span&gt; then click &lt;span style="font-style: italic;"&gt;Ok&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Voila, you can now browse the default JBoss Portal database and do SQL queries on it:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv9UvutLfI/AAAAAAAAATM/jHj8c9C_Exw/s1600-h/HSQL_DB_manager_3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv9UvutLfI/AAAAAAAAATM/jHj8c9C_Exw/s400/HSQL_DB_manager_3.png" alt="" id="BLOGGER_PHOTO_ID_5236557524599909874" border="0" /&gt;&lt;/a&gt;Note: If you wish to restart from fresh with default data, you simply need to delete the files from: &lt;span style="font-style: italic;"&gt;server/default&lt;/span&gt;&lt;span style="font-style: italic;"&gt;/data/portal&lt;/span&gt; and restart JBoss AS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7479181181467319353?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7479181181467319353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7479181181467319353' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7479181181467319353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7479181181467319353'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/08/lurking-at-hypersonic-data.html' title='Lurking at Hypersonic data'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qfEbDTOhbrs/SKv8GIMPQbI/AAAAAAAAASs/h9_4bL8IgZk/s72-c/HSQL_DB_manager.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8919750998309701314</id><published>2008-08-18T18:21:00.004+02:00</published><updated>2008-08-18T18:25:11.754+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Julien Viet's Blog</title><content type='html'>I just want to signal people reading the JBoss Portal developer's blog that I just opened my &lt;a href="http://blog.julienviet.com"&gt;official blog&lt;/a&gt;. I will share with you topics like portal, portlet, java, lot of cool stuff and my rants.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8919750998309701314?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8919750998309701314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8919750998309701314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8919750998309701314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8919750998309701314'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/08/julien-viets-blog.html' title='Julien Viet&apos;s Blog'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-802818892741018455</id><published>2008-08-06T18:14:00.003+02:00</published><updated>2008-08-06T18:21:35.880+02:00</updated><title type='text'>Developing Portlets using JSF, Ajax, and Seam (Part 1 of 3)</title><content type='html'>InfoQ just published the first in a series of 3 articles for the JBoss Portlet Bridge.&lt;br /&gt;&lt;br /&gt;This one is about basic JSF development with an easy to follow tutorial and real world development tips. The next one will be about RichFaces and the final (about Seam) will be published right after the release of Beta 4 in early September.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;a href="http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-1"&gt;http://www.infoq.com/articles/jsf-ajax-seam-portlets-pt-1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-802818892741018455?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/802818892741018455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=802818892741018455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/802818892741018455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/802818892741018455'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/08/developing-portlets-using-jsf-ajax-and.html' title='Developing Portlets using JSF, Ajax, and Seam (Part 1 of 3)'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6225407215336151144</id><published>2008-07-31T11:24:00.002+02:00</published><updated>2008-07-31T11:33:30.227+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><category scheme='http://www.blogger.com/atom/ns#' term='EPP'/><title type='text'>JBoss Portal and EPP releases</title><content type='html'>We are very happy to announce the releases of JBoss Portal 2.6.6 and JBoss Portal 2.7.0.Beta1 !&lt;br /&gt;&lt;br /&gt;JBoss Portal 2.6.6 is a maintenance release, it also includes a lot of internationalization work done by &lt;span style="font-style: italic;"&gt;Luca Stancapiano&lt;/span&gt; (with Italian translation) and partial Russian translation offered by &lt;span style="font-style: italic;"&gt;Anton Borisow&lt;/span&gt;, thanks ! It's &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;available here&lt;/a&gt; for community and will be accessible next week on the &lt;a href="https://support.redhat.com/jbossnetwork/login.html"&gt;Customer Support Portal&lt;/a&gt; for our customers.&lt;br /&gt;&lt;br /&gt;Now, probably even more exciting is the release of &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;&lt;span style="font-weight:bold;"&gt;JBoss Portal 2.7.0 Beta 1&lt;/span&gt;&lt;/a&gt;. It now includes what we call "explicit coordination", we'll have to blog about that feature but there is already a &lt;a href="http://wiki.jboss.org/wiki/JBossPortal_Coordination"&gt;Wiki&lt;/a&gt; and samples available out of the box. Also the new &lt;a href="http://www.jboss.org/jbossportal/docs/"&gt;documentation is now available&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now a bit more details about what will happen next:&lt;br /&gt;&lt;br /&gt;The following scenario is what should happen:&lt;br /&gt;- JBoss Portal 2.7.0 Candidate for Release 1 at the end of August&lt;br /&gt;- JBoss Portal 2.7.0 General Availability in &lt;span style="font-weight: bold;"&gt;September&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course all those dates are not written in stone and depend a lot on issues that we may discover and reported by users. Please try those versions as soon as they are out so we all don't have to wait ten more weeks for bug fixes (see below).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;JBoss Portal 2.6.x and JBoss Portal 2.7.x community releases&lt;/span&gt;&lt;br /&gt;All minors versions happen on a time-boxed release schedule. Every 10 to 12 weeks roughly, a new minor release comes out containing bug fixes and eventually new features. There is no change here, this is what has been already rolling out for the few past releases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Community vs Enterprise Portal Platform&lt;/span&gt;&lt;br /&gt;By &lt;span style="font-weight: bold;"&gt;December&lt;/span&gt;, we will release an Enterprise Portal Platform based on JBoss Portal 2.7.x and the &lt;a href="http://www.redhat.com/jboss/platforms/application/"&gt;Enterprise Application Platform&lt;/a&gt; 4.3.&lt;br /&gt;What does it mean ? It means that our customers will have access to a JBoss Portal + EAP release with a &lt;span style="font-weight: bold;"&gt;fixed&lt;/span&gt; set of production ready features to guarantee the best stability. This set will be supported for up to five years with certified cumulative patches available. In the meantime, customers are still recommended to use the supported JBoss Portal 2.6 releases from the &lt;a href="https://support.redhat.com/jbossnetwork/login.html"&gt;Customer Support Portal&lt;/a&gt; along with a version of the Enterprise Application Platform as the community versions downloaded from jboss.org are not supported. More details are available &lt;a href="http://www.redhat.com/jboss/platforms/portals/"&gt;here&lt;/a&gt;. Feel free to contact me (thomas.heute@jboss.com) if you have any question about the supported products.&lt;br /&gt;&lt;br /&gt;JBoss Portal 2.6 will be supported till September 2009, see &lt;a href="http://www.redhat.com/security/updates/jboss_notes/"&gt;here&lt;/a&gt; for details. JBoss Portal 2.4 full supports ends next month (August 2008) with an additional year for security errata and mission critical bug fixes only.&lt;br /&gt;&lt;br /&gt;I will come back on the Enterprise Portal Platform details as we get closer to the release date.&lt;br /&gt;&lt;br /&gt;I hope I answered the questions about our releases time-frames.&lt;br /&gt;&lt;br /&gt;Now on a personal note, I'm getting two weeks off and will be glad to see my Normandy again :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6225407215336151144?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6225407215336151144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6225407215336151144' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6225407215336151144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6225407215336151144'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/07/jboss-portal-and-epp-releases.html' title='JBoss Portal and EPP releases'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3839189371643916806</id><published>2008-07-16T00:10:00.004+02:00</published><updated>2008-07-16T00:33:04.068+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><title type='text'>Most impressive Javascript I've ever seen</title><content type='html'>When I was a kid, I spent lot of time coding on my &lt;a href="http://en.wikipedia.org/wiki/Commodore_Amiga"&gt;Amiga 500&lt;/a&gt; visual effects called &lt;a href="http://en.wikipedia.org/wiki/Demo_%28computer_programming%29"&gt;demos&lt;/a&gt;. I had much fun with &lt;a href="http://en.wikipedia.org/wiki/Demo_%28computer_programming%29"&gt;demos&lt;/a&gt; and it was a great way to learn coding. I still spend a bit of my time to look at the actual &lt;a href="http://www.youtube.com/watch?v=v0Eg3dBnsHk"&gt;productions&lt;/a&gt; or read technical articles on demo effects.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's very boring to use a technology to do what it is designed for. Abusing the browsers DOM + Javascript is also something possible but very hard to achieve. Why ? because browsers are designed to display styled boxes and text and nothing else. For instance, drawing a line or a bitmap is very hard to achieve without dirty tricks that are very expensive to perform, think of implementing the &lt;a href="http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm"&gt;Bresenham line algorithm&lt;/a&gt; to draw a line using the DOM as a rendering technology.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found in the past a few abuse of DOM+JS that went in that direction such as "Super Mario" &lt;a href="http://www.overdrawn.net/mario/"&gt;remakes&lt;/a&gt;, but I was not much impressed... until today!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The demo is called Neja and it's coded by Ribon and Bomb! Even my Macbookpro finds it impressive because it really excites the laptop's fan :-) . It worked well only in Firefox and in did not work fully in Safari. You can check it online &lt;a href="http://www.p01.org/releases/Demoscene/files/neja/neja.htm"&gt;here&lt;/a&gt;, enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3839189371643916806?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3839189371643916806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3839189371643916806' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3839189371643916806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3839189371643916806'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/07/most-impressive-javascript-ive-ever.html' title='Most impressive Javascript I&apos;ve ever seen'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7694388825907680582</id><published>2008-07-14T15:54:00.003+02:00</published><updated>2008-07-14T16:06:08.416+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><category scheme='http://www.blogger.com/atom/ns#' term='EPP'/><title type='text'>Daiwa Securities America customer reference</title><content type='html'>It's pretty difficult to get large customers to talk about their usage of JBoss Portal. Luckily, Daiwa Securities America accepted, and I can't be thankful enough.&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://www.redhat.com/about/news/prarchive/2008/daiwa.html"&gt;full reference&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I picked the best extracts here:&lt;br /&gt;&lt;blockquote&gt;Daiwa Securities America Inc., one of Japan's largest securities brokerages with a focus on sales and trading of Japanese and U.S. Equities and fixed-income instruments, financial futures and investment banking, has migrated from proprietary solutions to JBoss Enterprise Application and Portal Platforms. As a result, Daiwa has cut application development time in half, dramatically improved application performance and saved over $300,000 in licensing and hardware costs. &lt;/blockquote&gt;&lt;blockquote&gt;With some previous experience with JBoss solutions, Daiwa first downloaded a free version of the JBoss.org Portal project. Recognizing the mission-critical nature of the DSAweb portal, Daiwa quickly purchased a subscription to the JBoss Enterprise Portal Platform to benefit from the stability and reliability of an enterprise-class platform including support, patches and updates.&lt;/blockquote&gt;&lt;blockquote&gt;With JBoss solutions, Daiwa employees are more productive with faster portal application loading time, developer productivity has increased with the ease of development on open source solutions and JBoss support from Red Hat has been fast and reliable.&lt;/blockquote&gt;If you also have success stories to share (publicly or not), please let me know (thomas.heute@jboss.com).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7694388825907680582?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7694388825907680582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7694388825907680582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7694388825907680582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7694388825907680582'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/07/daiwa-securities-america-customer.html' title='Daiwa Securities America customer reference'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8661076696086348256</id><published>2008-07-08T13:27:00.006+02:00</published><updated>2008-07-08T15:23:13.418+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.7 Alpha released</title><content type='html'>We have just released the alpha version of the upcoming of &lt;a href="http://www.jboss.org/jbossportal/"&gt;JBoss Portal 2.7&lt;/a&gt; release that brings the &lt;a href="http://jcp.org/en/jsr/detail?id=286"&gt;Portlet 2.0&lt;/a&gt; features to our mainstream product JBoss Portal.&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_YGDak19GYxA/SHNXR7BwzJI/AAAAAAAAABU/hPBB-ivgNEE/s1600-h/frontpage.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_YGDak19GYxA/SHNXR7BwzJI/AAAAAAAAABU/hPBB-ivgNEE/s320/frontpage.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5220612358467013778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;The JBoss Portlet Container technology is included in this release and provides an out of the box support for the JSR 286 features such as:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Portlet eventing&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Public pararemers&lt;/li&gt;&lt;li&gt;Resource serving&lt;/li&gt;&lt;li&gt;Portlet filters&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Our admin  tool has been upgraded as well to support JSR 286.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_YGDak19GYxA/SHNbKR2JrBI/AAAAAAAAABc/EqUmEajOAcI/s1600-h/PortletDef.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_YGDak19GYxA/SHNbKR2JrBI/AAAAAAAAABc/EqUmEajOAcI/s320/PortletDef.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5220616625199885330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Enjoy the release, you can get the files from the &lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;download page&lt;/a&gt; as usual!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8661076696086348256?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8661076696086348256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8661076696086348256' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8661076696086348256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8661076696086348256'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/07/jboss-portal-27-alpha-released.html' title='JBoss Portal 2.7 Alpha released'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_YGDak19GYxA/SHNXR7BwzJI/AAAAAAAAABU/hPBB-ivgNEE/s72-c/frontpage.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8907966375642741058</id><published>2008-07-07T15:18:00.002+02:00</published><updated>2008-07-08T13:52:52.229+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portletbridge'/><title type='text'>JSF in a portlet has never been this easy!</title><content type='html'>We just released JBoss Portlet Bridge Beta3 along with some good supporting documentation and  example projects. &lt;a href="http://www.jboss.org/files/portletbridge/docs/1.0.0.B3/en/html_single/index.html"&gt;See the documentation for full details&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The majority of the code written for this release is internal to the portlet bridge project (refactoring, 301 spec updates and enhancements, bug fixes...). The next release (Beta 4 - early Sept) will be huge for the portlet bridge for the following reasons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The EG is currently discussing a lot of significant clarifications and improvements. For example, working with the JSF 2.0 EG to allow certain needs and working on Portlet 2.0 areas of the spec.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is currently a lot of discussion about navigation between portlet modes. Once this is nailed down in the spec, we will implement it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Portlet 1.0 version should be getting close to public review.&lt;/li&gt;&lt;/ul&gt;Other than the spec related reasons for release schedule, we must work in unison with the latest Seam and RichFaces relases, make sure that we squash any bugs concerning the 3 integration points, handle features/improvements/refactorings, and try to test and give feedback to the 301 EG. And, of course we can't forget about JBoss Portal 2.7+!&lt;br /&gt;&lt;br /&gt;There are soo many cool things going on right now within the JBoss Portal project, I would like to tell you about all of them but then this post wouldn't be about JBPB anymore. Just stay tuned to this blog...&lt;br /&gt;&lt;br /&gt;With that said, here are a few tips for JSF portlet developers that concern this release:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b id="lwur"&gt;Namespacing&lt;/b&gt;&lt;br /&gt;In situations where you need to use the id of an element in your JSF/xhtml markup, you would normally see something like 'form1:myBtn' in the rendered markup. But now with the bridge namespacing you will see something similar to:    &lt;p id="d0j41"&gt;jbpns_2fdefault_2fNews_2fStories_2fStoryTemplateWindow12snpbj:_viewRoot:form1:myBtn&lt;/p&gt;&lt;p id="mxo:1"&gt;To overcome this, you can use the following expression in your Facelets page to prepend the namespace to your javascript code: &lt;/p&gt;&lt;p&gt;document.getElementById('#{facesContext.externalContext.response.namespace}the_rest_of_JSF_ID&lt;/p&gt; since this uses the portletResponse, once you try to view this page on the servlet application side, you will get an exception. To avoid this, you need to check for the type of response in your backing bean and assign a new "safe" namespace variable for the UI.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b id="lwur1"&gt;Excluding Attributes from the Bridge Request Scope&lt;/b&gt;&lt;br /&gt;When your application uses request attributes on a per request basis and you do not want that particular attribute to be managed in the extended bridge request scope, you must use the following configuration in  your faces-config.xml. Below you will see that any attribute namespaced as foo.bar or any attribute beginning with foo.baz(wildcard) will be excluded from the bridge request scope and only be used per that application's request.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;application&amp;gt;&lt;br /&gt;     &amp;lt;application-extension&amp;gt;&lt;br /&gt;         &amp;lt;bridge:excluded-attributes&amp;gt;&lt;br /&gt;             &amp;lt;bridge:excluded-attribute&amp;gt;foo.bar&amp;lt;/bridge:excluded-attribute&amp;gt;&lt;br /&gt;             &amp;lt;bridge:excluded-attribute&amp;gt;foo.baz.*&amp;lt;/bridge:excluded-attribute&amp;gt;&lt;br /&gt;         &amp;lt;/bridge:excluded-attributes&amp;gt;&lt;br /&gt;     &amp;lt;/application-extension&amp;gt;&lt;br /&gt;    &amp;lt;/application&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Or you can use the javax.portlet.faces.annotation.ExcludeFromManagedRequestScope annotation to accomplish the same thing.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;For more information on this release or to find out more about the project, visit the &lt;a href="http://www.jboss.org/portletbridge/"&gt;project page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8907966375642741058?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8907966375642741058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8907966375642741058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8907966375642741058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8907966375642741058'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/07/jsf-in-portlet-has-never-been-this-easy.html' title='JSF in a portlet has never been this easy!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-427093766328094690</id><published>2008-06-17T22:22:00.015+02:00</published><updated>2008-07-08T13:51:26.818+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='EC2'/><title type='text'>JBoss Portal on Amazon EC2</title><content type='html'>With the &lt;a href="http://www.redhat.com/solutions/cloud/"&gt;announcement of availability of JBoss Enterprise Application Platform (EAP) &lt;/a&gt;on Amazon Elastic Compute Cloud (&lt;a href="http://www.amazon.com/gp/browse.html?node=201590011"&gt;EC2&lt;/a&gt;), it was logical for us to verify that &lt;a href="http://www.jboss.com/products/platforms/portals"&gt;JBoss Enterprise Portal Platform&lt;/a&gt;  can also be deployed on EC2. For those who are not familiar with EC2, EC2 basically provides you a resizable compute capacity and you only pay for the resources (CPU, Memory etc) you use.&lt;br /&gt;&lt;br /&gt;Once you have a JBoss EAP image on EC2,  deploying JBoss Portal is like a walk in the park.   All you have to do is to copy jboss-portal.sar and database descriptor to deploy folder of your server configuration. We successfully ran the complete JBoss Portal testsuite as well as tests that we perform as part of release testing. Only extra configuration that we had to do was to bump up the heap size for ANT otherwise it gave OOM error while generating reports. :-)&lt;br /&gt;&lt;br /&gt;Feel free to let us know your experience with JBoss Portal on EC2. Mine was certainly good.&lt;br /&gt;&lt;br /&gt;Note: At present, only JBoss EAP image is hosted on EC2.  JBoss EAP bundled with JBoss Portal will be available in future.&lt;span class="small"&gt;&lt;span style="color: rgb(0, 102, 153);font-size:100%;" &gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-427093766328094690?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/427093766328094690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=427093766328094690' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/427093766328094690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/427093766328094690'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/06/jboss-portal-on-amazon-ec2.html' title='JBoss Portal on Amazon EC2'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2189746470724172315</id><published>2008-06-13T19:00:00.000+02:00</published><updated>2008-06-13T19:10:15.512+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><title type='text'>JBoss Portlet Container 2.0 GA Release</title><content type='html'>The JBoss Portal team is very proud to announce the release of the JBoss Portlet Container 2.0 product.&lt;br /&gt;&lt;br /&gt;The release is a fully compliant implementation of the &lt;a href="http://jcp.org/en/jsr/detail?id=286"&gt;Portlet 2 (JSR286) specification&lt;/a&gt;, which was released yesterday.&lt;br /&gt;&lt;br /&gt;JBoss Portlet Container 2.0 comes with a lightweight portal based on JSP tags and comes bundled with a few demonstration portlets. The goal of that lightweight portal is to provide developers with an easy way to showcase and test their portlet applications. It should work well with other JSP taglibs and templating frameworks.&lt;br /&gt;&lt;br /&gt;It provides advanced functionalities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0/html/ch03s04s01s01.html"&gt;Administration&lt;/a&gt; application which provides an overview of the deployed applications / portlets / filters and management of their life cycle. Failed portlets or filters can be restarted or stopped when needed.&lt;/li&gt;&lt;li&gt;&lt;a href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0/html/ch03s03.html"&gt;Event debugger&lt;/a&gt; which should prove very userful to understand complex event interactions.&lt;/li&gt;&lt;li&gt;Event flood detection to prevent events from running wild.&lt;/li&gt;&lt;li&gt;Management of life cycle dependencies between portlet filters and portlet container: if a portlet filter fails and is stopped then all the portlet containers dependent on that filter will also be stopped (otherwise it would obviously result in an incorrect application).&lt;/li&gt;&lt;li&gt;Optimized event payload marshalling: when an event with an object payload is fired from application A to application B, the event will be unmarshalled/marshalled between the two applications classloaders (otherwise it would result in a class cast exception) unless the event class is shared at the server level, in which case the event can be safely transported across application borders.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The next major release of our mainstream portal product JBoss Portal 2.7 will bundle the JBoss Portlet Container.&lt;br /&gt;&lt;br /&gt;You can download the release from our project download  &lt;a href="http://labs.jboss.com/portletcontainer/download/index.html"&gt;page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2189746470724172315?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2189746470724172315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2189746470724172315' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2189746470724172315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2189746470724172315'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/06/jboss-portlet-container-20-ga-release.html' title='JBoss Portlet Container 2.0 GA Release'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-9115767038621408207</id><published>2008-06-10T23:39:00.003+02:00</published><updated>2008-06-10T23:43:44.666+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss Portal @ Rotterdam JBug</title><content type='html'>The Rotterdam JBug is happening June 20th, Thomas and myself will be there to talk about Portlet 2.0 and the upcoming JBoss Portal 2.7 release. We'll give also a quick overview of the future releases.&lt;br /&gt;&lt;br /&gt;The Benelux JBoss User Group is organizing an event on Friday June 20th 2008. There will be plenty of presentations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JBoss Portal - Julien Viet and Thomas Heute - JBoss&lt;/li&gt;&lt;li&gt;Hibernate Search - Emmanuel Bernard - JBoss&lt;/li&gt;&lt;li&gt;Woman in IT - (special guest presentation) Clara Ko and Linda van der Pal - jduchess.org&lt;/li&gt;&lt;li&gt;JBoss Drools - Kris Verlaenen - JBoss&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.lunatech-research.com/archives/2008/05/16/jbug-2008-06"&gt;Here&lt;/a&gt; is more information, it's free of course but &lt;a href="http://www.lunatech-research.com/event/register/jbug4"&gt;you need to register&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-9115767038621408207?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/9115767038621408207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=9115767038621408207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9115767038621408207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9115767038621408207'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/06/jboss-portal-rotterdam-jbug.html' title='JBoss Portal @ Rotterdam JBug'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7449345751797935728</id><published>2008-06-10T23:14:00.004+02:00</published><updated>2008-06-10T23:18:52.138+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>How to get the tag name of a DOM element with GWT?</title><content type='html'>Surprisingly it is not possible to get the tag name value of a DOM element through the GWT API. For instance for a DOM element of a form, I would like to get the "FORM" string as a result.&lt;br /&gt;&lt;br /&gt;Obviously it is possible to come with its own solution using the JSNI (java script native integration) and return the nodeName attribute of a DOM element, here is what I wrote:&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;&lt;br /&gt;public class Utils&lt;br /&gt;{&lt;br /&gt;   /**&lt;br /&gt;    * Returns an element tag name.&lt;br /&gt;    *&lt;br /&gt;    * @param element the element to obtain the tag name from&lt;br /&gt;    * @return the tag name value&lt;br /&gt;    */&lt;br /&gt;   public static native String getTagName(Element element)&lt;br /&gt;   /*-{&lt;br /&gt;         // It should work with all browsers, if it does not, replace that with more appropriate code :-)&lt;br /&gt;         return element.nodeName;&lt;br /&gt;   }-*/;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;There is probably a good reason explaining why it is not possible to get such a value, but for now it is unknown to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7449345751797935728?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7449345751797935728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7449345751797935728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7449345751797935728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7449345751797935728'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/06/how-to-get-tag-name-of-dom-element-with.html' title='How to get the tag name of a DOM element with GWT?'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6079114464435255806</id><published>2008-06-01T20:55:00.001+02:00</published><updated>2008-06-01T20:57:40.045+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Can the Servlet 3.0 improve the development of Portlets?</title><content type='html'>I recently looked at the &lt;a href="http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-5415.pdf"&gt;Java 3.0 API slides&lt;/a&gt; for JavaOne in order to catch up with what the expert group will provide in the next release of the spec. As a portlet container architect it is important to provide feedback to the expert group.&lt;br /&gt;&lt;br /&gt;One of the challenge of developping and maintaining a portlet container is the capability to detect deployment of portlets and create associated portlet containers. Portlet are plain java classes in a war file, the main problem is to have the portlet container to be aware of the war file deployment life cycle in order to create / destroy the associated containers.&lt;br /&gt;&lt;br /&gt;Another challenge is to have the capability to request dispatch to a war file from another a serviced request. This can only be done if a special servlet is added to the portlet application war file. So when a portlet application is deployed, the resulting web application must contain the special portlet container servlet. It is pretty much similar to:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;public void service(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException&lt;br /&gt;{&lt;br /&gt;   // We access the context of the portlet application foo&lt;br /&gt;   ServletContext fooCtx = getServletContext().getContext("/foo");&lt;br /&gt;&lt;br /&gt;   // We obtain access to a servlet that will execute the portlet container&lt;br /&gt;   // It is important to request dispatch in order to do important stuff such&lt;br /&gt;   // as using objects from the foo application such as the http session or&lt;br /&gt;   // to have the thread context classloader of the foo application&lt;br /&gt;   RequestDispatcher rd = fooCtx.getRequestDispatched("/bar");&lt;br /&gt;&lt;br /&gt;   // We do an include but it should not modify the response (of course it depends on the implementation of &lt;br /&gt;   // the container / portal ...)&lt;br /&gt;   rd.include(req, resp);&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;We are able to provide solutions with different strategies, thanks to a framework that abstracts the various operations required by the portlet container and we have a couple of implementations.&lt;br /&gt;&lt;br /&gt;We have one strategy that contains tomcat specific code and is able to detect application life cycle and modify it in a fully transparent manner. This is great for the developer as it does not require *any* modification of the portlet application, but this comes at the price of having code depending on tomcat, which is fine because tomcat is open source and we can integrate with it.&lt;br /&gt;&lt;br /&gt;We also have a generic strategy that requires the portlet application developer to modify its war file and update the web.xml file to add a special servlet that will do all the magic. This is fine for development but this is a bit problematic when you download a thirdparty portlet application and deploy it because this forces you to edit the war file and modify it before deployment. Here is an example of what needs to be added to the war file:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;&amp;lt;web-app&amp;gt;&lt;br /&gt;   ...&lt;br /&gt;   &amp;lt;servlet&amp;gt;&lt;br /&gt;      &amp;lt;servlet-name&amp;gt;BootstrapServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;      &amp;lt;servlet-class&amp;gt;org.jboss.portal.web.impl.generic.GenericBootstrapServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;      &amp;lt;load-on-startup&amp;gt;0&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;   &amp;lt;/servlet&amp;gt;&lt;br /&gt;   ...&lt;br /&gt;   &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;      &amp;lt;servlet-name&amp;gt;BootstrapServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;      &amp;lt;url-pattern&amp;gt;/jbossportlet&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;   &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;   ...&lt;br /&gt;&amp;lt;/web-app&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The nirvana is the fully transparent deployment of a portlet appliction and we are not yet there with the Servlet 3.0 spec...  But the good news is that we are not far!&lt;br /&gt;&lt;br /&gt;First the expert groups recognizes the need of the capability to modify of servlet context by providing runtime operations that will allow the addition of new servlets and create mappings dynamically:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;...&lt;br /&gt;servletContext.addServlet("BootstrapServlet", "The bootstrap servlet", "org.jboss.portal.web.impl.generic.GenericBootstrapServlet", null, -1);&lt;br /&gt;servletContext.addServletMapping("BoostrapServlet", new String[]{"/jbossportlet"});&lt;br /&gt;...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;That would allow to replace the bootstrap servlet with a servlet context listener, which improves a bit the generic solution but is not yet fully transparent.&lt;br /&gt;&lt;br /&gt;The second new feature that improves the generic solution is the modularization of web.xml, a new form a pluggability that allow to define servlets outside of web.xml in XML fragments. It is designed for frameworks. That should allow the packaging of the bootstrap servlet context listener (since now the listener could inject the servlet) in an xml fragment outside of web.xml and would allow to minimize the amount of work to do. Such xml fragments are located in the META-INF directory of any jar file bundled with the web application.&lt;br /&gt;&lt;br /&gt;So what would become our generic implementation ? It would come as a jar file that would contain only the web xml fragment (because any portlet container classes have to be shared between all web applications...) that would be bundled in the WEB-INF/lib of the portlet application.&lt;br /&gt;&lt;br /&gt;So we have a better generic solution now but it is not yet perfect. The expert group recognize there is a need for the various frameworks out there (even if the portlet container stuff is a special kind of framework, because of its cross context nature). When the Portlet expert group will work on a new revision of the spec, it would be great to have a solution to this problem so the Portlet spec could leverage it to provide a portable universal solution.&lt;br /&gt;&lt;br /&gt;Personally I have a couple of suggestions in mind, I will try to blog them in the near future and maybe we could work out something with the Servlet expert group.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6079114464435255806?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6079114464435255806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6079114464435255806' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6079114464435255806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6079114464435255806'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/06/can-servlet-30-improve-development-of.html' title='Can the Servlet 3.0 improve the development of Portlets?'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1098717029258164433</id><published>2008-05-13T14:29:00.005+02:00</published><updated>2008-05-13T17:56:38.817+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.6.5.GA released</title><content type='html'>The latest minor release of JBoss Portal has just been released.&lt;br /&gt;This is a bug fix release, here is the full &lt;a href="http://jira.jboss.com/jira/secure/ReleaseNote.jspa?projectId=10050&amp;amp;styleName=Html&amp;amp;version=12311953"&gt;release note.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/jbossportal/download/index.html"&gt;Grab it while it's hot&lt;/a&gt; and don't hesitate to report issues &lt;a href="http://www.jboss.com/?module=bb&amp;amp;op=viewforum&amp;amp;f=215"&gt;in the forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thanks for the feedbacks we got on previous releases !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1098717029258164433?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/1098717029258164433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=1098717029258164433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1098717029258164433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1098717029258164433'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/05/jboss-portal-265ga-released.html' title='JBoss Portal 2.6.5.GA released'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8529665083703957702</id><published>2008-05-08T13:38:00.009+02:00</published><updated>2008-05-08T14:05:59.556+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>When will Sun acquire Liferay ?</title><content type='html'>I have been told last night about that &lt;a href="http://glassfish.org/portal"&gt;announcement&lt;/a&gt;: In a few words, Sun and Liferay are collaborating on a common set of components that will be reused by both platforms.&lt;br /&gt;&lt;br /&gt;To me it's a perfect admission of two facts: Liferay failed at implement new technologies such as JSR286 and Sun failed at creating an ubiquitous and visible version of their portal.&lt;br /&gt;&lt;br /&gt;Liferay benefits from Sun technologies that they were not able to implement due to  the huge legacy of their code base. Brian admitted it publicly in a &lt;a href="http://www.liferay.com/web/bchan/blog/-/blogs/liferay_and_sun?_33_redirect=%2Fweb%2Fguest%2Fcommunity%2Fblog"&gt;post&lt;/a&gt; ("we are not smart enough, we don't have enough man power, and we don't have enough energy to build an innovative product").&lt;br /&gt;&lt;br /&gt;Sun on its side distributes a rebranded version of Liferay and kills its existing portal. Why ? Sun open portal is too tied to the operational environment and their identity management product (read here big fat momma). Sun realized that they wouldn't be able to increasing their product visibility while making it more adaptable to more diverse environments.&lt;br /&gt;&lt;br /&gt;The real question  on everyone's mind though is: why is Sun moving in this direction now? in my opinion most of the benefit goes to Liferay, so the hypothesis that Sun could acquire Liferay seems very valid to me even if the announcement claims it won't happen ("No, there are no plans for an acquisition.") and Sun does not yet have vested interests in Liferay. We can see this as a last attempt from Sun to revitalize their portal offering by trying to quickly leverage Liferay's community. Will this work for either side of this partnership? Only time will tell...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At least I am not wondering anymore about why our proposals submitted to JavaOne have been refused :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8529665083703957702?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8529665083703957702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8529665083703957702' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8529665083703957702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8529665083703957702'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/05/when-will-sun-acquire-liferay.html' title='When will Sun acquire Liferay ?'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6751062626649437833</id><published>2008-05-05T15:58:00.002+02:00</published><updated>2008-05-05T16:04:42.782+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss Portal presentation</title><content type='html'>Tomorrow (May 6&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;th&lt;/span&gt;) I will present &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;JBoss&lt;/span&gt; Portal at the Zurich JUG, so if you are around feel free to come. It's free and it comes with some drinks (after the talks). (There will also be a presentation of WebSphere Portal just before)&lt;br /&gt;&lt;br /&gt;Here are &lt;a href="http://www.jugs.ch/html/events/2008/portal_servers.html"&gt;the details&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6751062626649437833?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6751062626649437833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6751062626649437833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6751062626649437833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6751062626649437833'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/05/jboss-portal-presentation.html' title='JBoss Portal presentation'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6282098667102029683</id><published>2008-05-04T14:04:00.003+02:00</published><updated>2008-05-04T14:09:13.764+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>GWT hosted mode on Leopard tip</title><content type='html'>If you are experiencing issues when running GWT in hosted mode on Leopard it is normal.&lt;br /&gt;&lt;br /&gt;There are a few issues in the official release of GWT and Java implementation on Leopard that prevent to execute the hosted mode runtime on Leopard (but the rest is fine). Basically the hosted mode runtime pops up and just quit a couple of seconds after.&lt;br /&gt;&lt;br /&gt;So you need to download a &lt;a href="http://google-web-toolkit.googlecode.com/files/gwt-leopard-1.4.61.tar.gz"&gt;patched version&lt;/a&gt; of GWT for Leopard, you can read more about it on this &lt;a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=1792"&gt;thread&lt;/a&gt; on GWT forums which is *the* thread to follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6282098667102029683?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6282098667102029683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6282098667102029683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6282098667102029683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6282098667102029683'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/05/gwt-hosted-mode-on-leopard-tip.html' title='GWT hosted mode on Leopard tip'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2995705547216986629</id><published>2008-05-03T12:56:00.012+02:00</published><updated>2008-05-05T01:28:52.058+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>GWT in-place-editor</title><content type='html'>&lt;div&gt;The &lt;a href="http://josephscott.org/code/js/eip/example.html"&gt;in place editor&lt;/a&gt; is one of the simplest yet powerful feature brought by Ajax.&lt;/div&gt;&lt;div&gt;I wrote two such editors last year, one using javascript and one leveraging &lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt; as an exercise. Recently I started to study &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/a&gt; more in depth and I found fun to write a GWT version of the in place editor.&lt;/div&gt;&lt;div&gt;I used the &lt;span class="code"&gt;&lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/ui/TextBox.html"&gt;TextBox&lt;/a&gt;&lt;/span&gt; and &lt;span class="code"&gt;&lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/ui/Label.html"&gt;Label&lt;/a&gt;&lt;/span&gt; widgets that will be used to display and edit the label.&lt;/div&gt;&lt;div&gt;The &lt;span class="code"&gt;&lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/ui/DeckPanel.html"&gt;DeckPanel&lt;/a&gt;&lt;/span&gt; panel is used to alternate the display between the text box and the label widgets.&lt;/div&gt;&lt;div&gt;The interaction is performed using listeners. The &lt;span class="code"&gt;&lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/ui/ClickListener.html"&gt;ClickListener&lt;/a&gt;&lt;/span&gt; on the label copies the label value to the text box and switch the deck panel to show the text box. The &lt;span class="code"&gt;&lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/ui/KeyboardListener.html"&gt;KeyboadListener&lt;/a&gt;&lt;/span&gt; allows on the enter keystroke to copy the edited value to the label and switch back the deck panel to show the label.&lt;/div&gt;&lt;div class="code"&gt;&lt;code&gt;&lt;br /&gt;public void onModuleLoad()&lt;br /&gt;{&lt;br /&gt;  final DeckPanel deck = new DeckPanel();&lt;br /&gt;  final Label label = new Label("Initial Value");&lt;br /&gt;  final TextBox text = new TextBox();&lt;br /&gt;&lt;br /&gt;  // Wire the widgets&lt;br /&gt;  deck.add(label);&lt;br /&gt;  deck.add(text);&lt;br /&gt;  deck.showWidget(0);&lt;br /&gt;&lt;br /&gt;  //&lt;br /&gt;  label.addClickListener(new ClickListener()&lt;br /&gt;  {&lt;br /&gt;     public void onClick(Widget widget)&lt;br /&gt;     {&lt;br /&gt;        String value = label.getText();&lt;br /&gt;        text.setText(value);&lt;br /&gt;        deck.showWidget(1);&lt;br /&gt;        text.setFocus(true);&lt;br /&gt;     }&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;  //&lt;br /&gt;  text.addKeyboardListener(new KeyboardListenerAdapter()&lt;br /&gt;  {&lt;br /&gt;     public void onKeyPress(Widget widget, char c, int i)&lt;br /&gt;     {&lt;br /&gt;        if (c == KEY_ENTER)&lt;br /&gt;        {&lt;br /&gt;           String value = text.getText();&lt;br /&gt;           label.setText(value);&lt;br /&gt;           deck.showWidget(0);&lt;br /&gt;        }&lt;br /&gt;        else if (c == KEY_ESCAPE)&lt;br /&gt;        {&lt;br /&gt;           deck.showWidget(0);&lt;br /&gt;        }&lt;br /&gt;     }&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;  //&lt;br /&gt;   VerticalPanel vp = new VerticalPanel();&lt;br /&gt;   vp.add(deck);&lt;br /&gt;   RootPanel.get().add(vp);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The demo is available &lt;a href="http://cooper.free.fr/gwt/inplaceeditor.InPlaceEditor/InPlaceEditor.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2995705547216986629?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2995705547216986629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2995705547216986629' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2995705547216986629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2995705547216986629'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/05/gwt-in-place-editor.html' title='GWT in-place-editor'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6046520448010290897</id><published>2008-04-20T18:09:00.003+02:00</published><updated>2008-04-20T18:15:19.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Maven repository mess</title><content type='html'>So if you want to use the JBoss Logger wrapper you need&lt;div&gt;&lt;ul&gt;&lt;li&gt;for 2.0.2.GA or 2.0.3.GA : use &lt;a href="http://repository.jboss.org/maven2/jboss/jboss-logging-spi/"&gt;jboss:jboss-logging-spi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;for 2.0.4.GA : use &lt;a href="http://repository.jboss.org/maven2/jboss/jboss-common-logging-spi/"&gt;jboss:jboss-common-logging-spi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;for 2.0.5.GA : use &lt;a href="http://repository.jboss.org/maven2/org/jboss/logging/"&gt;org.jboss:jboss-logging-spi&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Yes I am bitching about that :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I leave the location before 2.0.2.GA as an exercise to the reader.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's hope that for versions above 2.0.5.GA, it will remain the same.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6046520448010290897?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6046520448010290897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6046520448010290897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6046520448010290897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6046520448010290897'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/04/jboss-maven-repository-mess.html' title='JBoss Maven repository mess'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4854871401599188466</id><published>2008-04-18T23:19:00.003+02:00</published><updated>2008-04-18T23:49:51.039+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Portal Face To Face Meeting #1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/179/403282579_033a2d1057.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://farm1.static.flickr.com/179/403282579_033a2d1057.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In May (13-15) the JBoss Portal team will be gathered for its first face to face meeting. I need to tell that I am very excited about it!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The team will be gathered for one week in &lt;a href="http://maps.google.fr/maps?f=q&amp;amp;hl=fr&amp;amp;geocode=&amp;amp;q=marine+de+sisco&amp;amp;jsv=107&amp;amp;sll=42.188096,9.04704&amp;amp;sspn=5.396307,7.668457&amp;amp;ie=UTF8&amp;amp;z=16"&gt;Corsica&lt;/a&gt; where I grew up when I was a teenage and &lt;a href="http://farm3.static.flickr.com/2357/1518235904_3f0a475a89_o.jpg"&gt;where&lt;/a&gt; my parent still live.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I managed to find a unique &lt;a href="http://santa-catalina.fr/"&gt;place&lt;/a&gt; on the island (note to my manager: that fits in the meeting budget of course) that will offer us an ideal place for our brainstorming sessions. I was in Corsica last week and I visited it and I must admit I was very impressed. The landlady is going to lend us the main room for our meetings and there is obviously WIFI access for the geeks we are.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The meeting occurs at the right moment as we have started to transition from JBoss Portal 2.6 to JBoss Portal 3.0: last year we started the modularization of the project that gave us the great &lt;a href="http://www.jboss.org/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; product and the new Presentation Framework project and we are on the path to bring those new technologies in our main stream product JBoss Portal 2.7 and 2.8. The meeting will be a good occasion for me to share my view with the whole team and also to discuss about various topics such as security, identity and social aspects of portals, the JBoss Portlet Bridge project.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; welcome to Corsica!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4854871401599188466?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4854871401599188466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4854871401599188466' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4854871401599188466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4854871401599188466'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/04/jboss-portal-face-to-face-meeting-1.html' title='JBoss Portal Face To Face Meeting #1'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm1.static.flickr.com/179/403282579_033a2d1057_t.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5482704080630088156</id><published>2008-04-10T15:04:00.019+02:00</published><updated>2008-04-25T21:44:54.181+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='richfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><title type='text'>JBoss Portlet Bridge Beta2 Released</title><content type='html'>Supports:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JBoss Portal 2.6.4 &lt;/li&gt;&lt;li&gt;Seam 2.0.2.CR1 &lt;/li&gt;&lt;li&gt;RichFaces 3.2.0.GA (with exception of upload component)&lt;/li&gt;&lt;li&gt;JSF 1.2 &lt;/li&gt;&lt;/ul&gt;This release of the bridge has quite a few bug fixes and enhancements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Portlet EL Variable support&lt;/li&gt;&lt;li&gt;New SeamIdentity Bridge Extension: instant SSO between your Seam application and your JBoss Portal server by a simple dependency in your pom&lt;/li&gt;&lt;li&gt;RichFaces Maven Archetype&lt;/li&gt;&lt;li&gt;Removal of PortalStateManager configuration&lt;/li&gt;&lt;li&gt;More documentation&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr class="cleaner"&gt;&lt;span&gt;&lt;span style="font-size:130%;"&gt;EL Variable Support &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;portletConfig&lt;/span&gt;:  object of type javax.portlet.PortletConfig&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sessionPortletScope:&lt;/span&gt; mutable Map containing PortletSession attribute/values at PORTLET_SCOPE.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sessionApplicationScope&lt;/span&gt;: mutable Map containing PortletSession attribute/values at APPLICATION_SCOPE.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;portletPreferenceValue&lt;/span&gt;: immutable Map containing the set of portlet preferences where the key is the name of the preference and the value is the first portlet preference value from the (potential) set of values.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;portletPreferenceValues&lt;/span&gt;: immutable Map containing the set portlet preferences where the key is the name of the preference and the values are the set of this portlet preference's values.&lt;br /&gt;&lt;br /&gt;&lt;input name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id3" type="hidden"&gt;                  &lt;hr class="cleaner"&gt;                 &lt;span style="font-size:130%;"&gt;SeamIdentity Bridge Extension&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Just add the following dependency to your JBoss Seam (Maven) project for SSO between JBoss Portal and Seam applications.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;lt;groupid&amp;gt;org.jboss.portletbridge.extension.seam&amp;lt;/groupid&amp;gt;&lt;br /&gt;&amp;lt;artifactid&amp;gt;PortalIdentity&amp;lt;/artifactid&amp;gt;&lt;br /&gt;&amp;lt;version&amp;gt;1.0.0.B2&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size:130%;"&gt;RichFaces Maven Archetype&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;This is the new Beta2 release of the RichFaces archetype - only a few settings are different from the previous snapshot release.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;code&gt;mvn archetype:create&lt;br /&gt;-DarchetypeGroupId=org.jboss.portletbridge.archetypes&lt;br /&gt;-DarchetypeArtifactId=richfaces-basic&lt;br /&gt;-DarchetypeVersion=1.0.0.B2&lt;br /&gt;-DgroupId=org.whatever.project&lt;br /&gt;-DartifactId=myprojectname&lt;br /&gt;-DremoteRepositories=http://repository.jboss.org/maven2/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr class="cleaner"&gt;&lt;span style="font-size:130%;"&gt;Removal of PortalStateManager configuration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;The following is no longer needed in the faces-config.xml&lt;/span&gt;&lt;br /&gt;&lt;pre&gt; &amp;lt;state-manager&amp;gt;&lt;br /&gt;org.jboss.portletbridge.application.PortalStateManager&lt;br /&gt;&amp;lt;/state-manager&amp;gt; &lt;/pre&gt;Visit the &lt;a href="http://www.jboss.org/portletbridge/"&gt;Portlet Bridge project page&lt;/a&gt; for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5482704080630088156?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5482704080630088156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5482704080630088156' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5482704080630088156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5482704080630088156'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/04/jboss-portlet-bridge-beta2-released.html' title='JBoss Portlet Bridge Beta2 Released'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6226894744204986476</id><published>2008-03-31T15:45:00.003+02:00</published><updated>2008-03-31T16:03:52.921+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Portlet Container 2.0 Candidate Release 2</title><content type='html'>&lt;div&gt;We have just released the candidate release 2 of the &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; project.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Since the candidate release 1 we added an &lt;a href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/ch03s04s01s01.html"&gt;administration&lt;/a&gt; portlet that can manage the life cycle of the deployed applications and containers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/images/admin1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/images/admin1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have also added a very useful event &lt;a href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/ch03s03.html"&gt;debugger&lt;/a&gt; that can help developers to understand the event flow distributed among the different portlets during the interactions an event phase.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/images/debugger1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://labs.jboss.com/files/portletcontainer/docs/2.0.0.CR2/html/images/debugger1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;You can download the release from our project download &lt;a href="http://labs.jboss.com/portletcontainer/download/index.html"&gt;page&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6226894744204986476?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6226894744204986476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6226894744204986476' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6226894744204986476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6226894744204986476'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/jboss-portlet-container-20-candidate_31.html' title='JBoss Portlet Container 2.0 Candidate Release 2'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5961989014453939147</id><published>2008-03-28T22:27:00.004+01:00</published><updated>2008-03-28T22:45:07.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.7 status</title><content type='html'>I want to give our community an overview of the JBoss Portal 2.7 development status.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The good news is that the JBoss Portal 2.7 branch reached what I call the Milestone 1 which consist in the integration of the JBoss Portlet Container 2.0 with the same level of functionality than the current 2.6 product. Thomas and Chris were the main drivers in that effort and did a very good job.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are heading now toward the Milestone 2 with the following simple goals:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Integrate the controller module of the JBoss Portlet Container: it allows to perform complex event interactions between portlets. Actually this is the integration point that the JBoss Portlet Container provides to the portal in order to integrate its event routing and transforming logic. There is a very simple implementation in the JBoss Portlet Container simple portal that uses a matching event routing algorithm, simple yet sufficient for the simple portal, right?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Provide JSR 286 Portlet runtime meta data overview through the administration portlet. The administrator is able to know about the coordination capabilities offered by a portlet such as the event it produces and the event it consumes. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will talk briefly about the Milestone 3 and will probably give more update about it when Milestone 2 will be reached:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Define the coordination feature support, the event routing models and the portlet parameter sharing model&lt;/li&gt;&lt;li&gt;Support for new JSR 286 state in portal URLs, mostly about support of public navigational state changes in the URLs&lt;/li&gt;&lt;li&gt;Resource serving support&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;That's it for now, the entire team is focusing on reaching Milestone 2 very soon!!!!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5961989014453939147?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5961989014453939147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5961989014453939147' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5961989014453939147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5961989014453939147'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/jboss-portal-27-status.html' title='JBoss Portal 2.7 status'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8468621988998571857</id><published>2008-03-27T11:13:00.004+01:00</published><updated>2008-03-27T11:32:46.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribution'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>JBoss Portal Summer of Contribution</title><content type='html'>Thanks to &lt;a href="http://www.fnokd.com/2008/03/19/google-summer-of-code-and-jboss/"&gt;Bob&lt;/a&gt;, JBoss is a mentoring organization for the &lt;a href="http://code.google.com/soc/2008/"&gt;Google Summer of Code 2008&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have created a few JBoss Portal related subprojects for that matter:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Content Clipper: Thomas started a few weeks ago a prototype of a web clipping engine that is able to integrate with different kind of content providers such as a remote web page, or a request dispatch into another application deployed in the same server. The goal is to transform the prototype into a project consumed by JBoss Portal.&lt;/li&gt;&lt;li&gt;Web SPI implementations: we have developed a Web Service Provider Interface (SPI) that allow our latest product &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; to be executed in any servlet container in a reliable manner. The student would develop implementations of the Web SPI implementations in order to integrate with additional servers.&lt;/li&gt;&lt;li&gt;Dashboard system improvement: that project is focused on upgrading the portal object implementations (portal, pages, portlet windows system) in order to support additional page models that would allow to mix shared portlets with dashboard portlets.&lt;/li&gt;&lt;li&gt;OpenID integration: extend the current portal SSO integration (CAS, JOSSO, OpenSSO) by providing an OpenID authentication implementation.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The different items are also described in our GSoC page &lt;a href="http://labs.jboss.com/wiki/GSoC"&gt;here&lt;/a&gt;. If you are a student and you want to be involved in the JBoss Portal project, this is a very good opportunity for you to contribute to the project and join us!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8468621988998571857?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8468621988998571857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8468621988998571857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8468621988998571857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8468621988998571857'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/jboss-portal-summer-of-contribution.html' title='JBoss Portal Summer of Contribution'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-470285939940776485</id><published>2008-03-19T16:23:00.001+01:00</published><updated>2008-03-19T16:23:38.604+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss Portal talk at Austin JUG</title><content type='html'>I will be giving a presentation and demo of JBoss Portal at &lt;a href="http://austinjug.org/"&gt;Austin JUG &lt;/a&gt;on March 25.&lt;br /&gt;&lt;br /&gt;The talk starts at 7:00 PM.  It's free to everybody so if you are in the neighborhood, please feel free to stop by. See you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-470285939940776485?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/470285939940776485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=470285939940776485' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/470285939940776485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/470285939940776485'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/jboss-portal-talk-at-austin-jug.html' title='JBoss Portal talk at Austin JUG'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8995437935264099769</id><published>2008-03-12T11:30:00.000+01:00</published><updated>2008-03-12T11:25:10.118+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='richfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>RichFaces Portlet Archetype</title><content type='html'>I just finished creating a Maven archetype for the RichFaces portlet using the JBoss Portlet Bridge. An archetype basically gives you a empty project shell with all of the  proper config files and package names that are custom to your project. It comes packaged with a simple demo of the RichFaces ajax repeater code.&lt;br /&gt;&lt;br /&gt;From the command line run: &lt;pre&gt;mvn archetype:create -DarchetypeGroupId=org.jboss.portletbridge.archetypes -DarchetypeArtifactId=richfaces-basic&lt;br /&gt;-DarchetypeVersion=1.0.0-SNAPSHOT -DgroupId=org.whatever.project -DartifactId=myprojectname&lt;br /&gt;-DremoteRepositories=http://snapshots.jboss.org/maven2/&lt;/pre&gt;Navigate to the newly created project folder and run mvn install - now you are ready to deploy the war file located in the target directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8995437935264099769?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8995437935264099769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8995437935264099769' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8995437935264099769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8995437935264099769'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/richfaces-portlet-archetype.html' title='RichFaces Portlet Archetype'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3927381486109713471</id><published>2008-03-10T10:20:00.003+01:00</published><updated>2008-03-10T10:21:02.180+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>The Rise of the Portlet Containers</title><content type='html'>So now that the Portlet 2.0 spec is approved, it is very interesting to watch the evolution of the OSS market since the Portlet 1.0 spec.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The most noticeable change is the projectization of the portlet container technology. (I will not use the word productization because some of the projects release a complete product and some just make a dump of the source code of the project).  4 years ago the only standalone portlet container was Pluto (the Reference Implementation) and today there is an avalanche of at least 4 portlet container projects (including our &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; product).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the question is why do we have so many open source portlet container projects ? because a portlet container is an important piece of a portal and every one wants to develop its own portlet container ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;I think it answers partially the question. If you look a bit more closer at the portlet container technology, then you will see that there is an obvious lack of standard for embedding a portlet container in a portal, i.e a portal needs to chose a portlet container and use its proprietary API to interact with the container. Indeed the portlet specification does not specify that contract because this is the scope of the &lt;a href="http://www.oasis-open.org/committees/wsrp/"&gt;WSRP&lt;/a&gt; spec. As of today if a portal wants to reuse a portlet container in a portable manner, that portal needs to talk WSRP and nobody wants to do that!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the rationalization of the market could drive to the adoption of a portal spec. It would provide the minimum basis to create a "Portal" profile in Java EE (which is today an &lt;a href="http://weblogs.java.net/blog/robc/archive/2008/02/profiles_in_the_1.html"&gt;hot topic&lt;/a&gt;!). Without a portal spec, I don't see any chance to have the portlet container technology part of Java EE.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3927381486109713471?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3927381486109713471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3927381486109713471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3927381486109713471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3927381486109713471'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/rise-of-portlet-containers.html' title='The Rise of the Portlet Containers'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6108903631918002960</id><published>2008-03-06T00:54:00.004+01:00</published><updated>2008-03-06T01:18:46.138+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Portlet Container 2.0 Candidate Release 1</title><content type='html'>I just released the first &lt;a href="https://labs.jboss.com/portletcontainer/download/index.html"&gt;candidate release&lt;/a&gt; of our portlet container &lt;a href="https://labs.jboss.com/portletcontainer/"&gt;product&lt;/a&gt; with a few additional features since the beta:&lt;div&gt;&lt;ul&gt;&lt;li&gt;documentation : a product would not be a product without a documentation. The documentation has improved since the beta and now we have a complete section on the portal taglib and much more.&lt;/li&gt;&lt;li&gt;optimized event payload marshalling : when an event with an object payload is fired from application A to application B, the event will be unmarshalled/marshalled between the 2 applications classloaders (otherwise it would result in a class cast exception) unless the event class is shared at the server level (optimization).&lt;/li&gt;&lt;li&gt;life cycle dependencies between portlet filter and portlet container : if a portlet filter fails and is stopped then all the portlet container dependent on that filter will also be stopped (otherwise it would result obviously in an incorrect application).&lt;/li&gt;&lt;li&gt;administration application which provides an overview of the deployed applications / portlets / filters and management of their life cycle. So it is possible to restart a failed filter or portlet, or stop them when necessary.&lt;/li&gt;&lt;li&gt;event flood detection : in order to prevent event flood situations&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The next release candidate release will probably be done once the public final draft of the spec is available on the JCP site and it should be a certified release.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;We should add an event debugger that would help portlet developers to get the reporting of the event phase for debugging purpose. What a great addition to the product!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We'll blog soon about the integration roadmap of the portlet container product in our next release of the mainstream branch: JBoss Portal 2.7!!!!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6108903631918002960?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6108903631918002960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6108903631918002960' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6108903631918002960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6108903631918002960'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/jboss-portlet-container-20-candidate.html' title='JBoss Portlet Container 2.0 Candidate Release 1'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8767082809395543712</id><published>2008-03-05T11:55:00.003+01:00</published><updated>2008-03-05T12:01:09.364+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><title type='text'>Portlet 2.0 specification is approved</title><content type='html'>The spec has been &lt;a href="http://jcp.org/en/jsr/results?id=4560"&gt;approved&lt;/a&gt; on Monday, congratulations to the Expert Group led by Stefan Hepper!!!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can expect the public final draft to follow soon and we'll do a release of our new product &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; very soon!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8767082809395543712?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8767082809395543712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8767082809395543712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8767082809395543712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8767082809395543712'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/portlet-20-specification-is-approved.html' title='Portlet 2.0 specification is approved'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5177342540658642580</id><published>2008-03-05T11:50:00.004+01:00</published><updated>2008-03-06T12:11:09.527+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Portlet 2 talk at OpenExpo in Bern</title><content type='html'>Next week I'll talk at the &lt;a href="http://openexpo.org/en"&gt;OpenExpo&lt;/a&gt; conference in Bern about the Portlet 2.0 specification.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can get free passes on the OpenExpo &lt;a href="http://www.openexpo.ch/free-registration/"&gt;website&lt;/a&gt; and my slot is on Thursday 13 at 11:50 am.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See you there!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5177342540658642580?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5177342540658642580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5177342540658642580' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5177342540658642580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5177342540658642580'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/03/portlet-2-talk-at-openexpo-in-bern.html' title='Portlet 2 talk at OpenExpo in Bern'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1571810072391672835</id><published>2008-02-22T11:48:00.002+01:00</published><updated>2008-02-22T11:52:05.492+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss World slides available</title><content type='html'>The JBoss World web site now provides the &lt;a href="http://www.jbossworld.com/downloads/presentations/"&gt;slides&lt;/a&gt; of the talks that were given there. You can now get our slides about &lt;a href="http://www.jbossworld.com/downloads/pdf/thursday/Track_Next_Generation_Web_Apps_JBOSS_9-950am_Introdcution_to_JBoss_Portal_Thomas_Heute.pdf"&gt;JBoss Portal&lt;/a&gt; and &lt;a href="http://www.jbossworld.com/downloads/pdf/friday/JBOSS_9-950am_Whats_New_in_Portlet_2_Julien_Viet.pdf"&gt;Portlet 2.0&lt;/a&gt; presentations.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1571810072391672835?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/1571810072391672835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=1571810072391672835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1571810072391672835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1571810072391672835'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-world-slides-available.html' title='JBoss World slides available'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1943124036052420519</id><published>2008-02-19T13:51:00.007+01:00</published><updated>2008-02-19T14:16:10.861+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Microcontainer usage in JBoss Portlet Container</title><content type='html'>I planned to rewrite the life cycle support in our &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;JBoss Portlet Container&lt;/a&gt; product a couple of months ago, I have started that task for a couple of days. The main reason is the addition of portlet filters which introduce a life cycle of the different container objects a bit more complex than what it used to be in the past.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The current code only manages the portlet application and portlet container with a trivial one to many relationships between application and container.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The rewrite will introduce the portlet filter object having a one to many relationship with the application and also a one to many relationship with a subset of the containers according to what the application developer describes in the portlet descriptor file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; So far we have not used directly any state machine framework to manage that. The main reason is that we use &lt;a href="http://labs.jboss.com/jbossmc/"&gt;JBoss MC&lt;/a&gt; in the JBoss Portlet Container product and we use the good old JBoss Microkernel in JBoss AS 4.2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; One could argue that I should write my own stuff to manage that. Indeed even if it is not very hard to do and that a set of good test cases would help to achieve something reliable it would miss one crucial feature which is the interaction with the environment. Indeed we need to be able to make a portlet container or a portlet application able to depend on some service for instance and have that dependency managed by the hosting environment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Another motivation for the rewrite is to expose outside of the container a set of managed object that represent the applications, the containers exposing only a subset of the concerns:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Life cycle management wired to the MC and not directly to the container obviously&lt;/li&gt;&lt;li&gt;Expose runtime meta data like portlet info&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt; In the implementation using JBoss MC, I have been able to simplify a couple of stuff thanks to an interesting feature called &lt;a href="http://labs.jboss.com/file-access/default/members/jbossmc/freezone/docs/2.0.x/userGuide/ch13s02.html"&gt;deployment callback&lt;/a&gt;. It allows to install/uninstall (a special kind of injection but with no managed dependency) all the beans (that's how JBoss MC names its POJO citizens) having a certain class. So this feature allowed me to remove a bunch of wiring code and simplify my stuff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The &lt;a href="http://labs.jboss.com/file-access/default/members/jbossmc/freezone/docs/2.0.x/userGuide/index.html"&gt;documentation&lt;/a&gt; is very good although it is missing some parts, but it's ok as I don't need those part (yet... Mark and Ales if you read me :-) ).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The integration of our build with Maven improves also a lot about my understanding of JBoss MC, since Idea is able to download sources which helps to understand the kernel API stuff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Once I am done with that, I should work on getting the CC/PP portlet feature implemented and than I'll try to upgrade the JBoss MC version to the one matching JBoss AS 5 Beta 4. I'll try to keep you informed about that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1943124036052420519?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/1943124036052420519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=1943124036052420519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1943124036052420519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1943124036052420519'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-microcontainer-usage-in-jboss.html' title='JBoss Microcontainer usage in JBoss Portlet Container'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8109906137404606628</id><published>2008-02-15T16:56:00.004+01:00</published><updated>2008-02-15T17:12:19.637+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portlet Container 2.0 Beta 1 release!</title><content type='html'>I gave my talk this morning at JBoss World about the new features of the Portlet 2.0 specification. It was also the occasion to present a new product called &lt;a href="http://labs.jboss.com/portletcontainer/"&gt;"JBoss Portlet Container"&lt;/a&gt; and I must tell you that I am very proud of this new product.&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First of all, this is our implementation of the Portlet 2.0 standard. As I said in my talk, it's 97% feature implemented but 100% useful feature implemented :-) . The remaining features will follow soon (actually only CC/PP that I did not add because I need to check the licensing issues and also try to provide a lightweight CC/PP impl).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; It is also our first product release that is not dependant on JBoss Application Server. This first release deploys in Tomcat 6 and  JBoss Application Server 4.2 and we are looking forward to support more container in the future (btw if you are interested by adding support of a container, just drop me a line).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; It comes bundled with a lightweight portal based on JSP tags. The goal of that portal is to provide to developers an easy way to demonstrate and test their portlet applications. It should combine well with other JSP taglibs and templating frameworks.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Finally, I want to personally thank all the persons involved in that effort (Chris, Wesley and Bolek) and need to tell you that this product release would not have been done without their dedication.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8109906137404606628?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8109906137404606628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8109906137404606628' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8109906137404606628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8109906137404606628'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-portlet-container-20-beta-1.html' title='JBoss Portlet Container 2.0 Beta 1 release!'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1663947952439569046</id><published>2008-02-14T21:14:00.010+01:00</published><updated>2008-02-15T04:41:03.139+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='richfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><title type='text'>JBoss Portlet Bridge 1.0.0 Beta Released!</title><content type='html'>Thanks to the collaboration of the JBoss RichFaces, Seam and Portal teams, we are happy to announce an initial beta release of &lt;a href="http://labs.jboss.com/portletbridge/"&gt;JBoss Portlet Bridge&lt;/a&gt;.&lt;br /&gt;The JBoss Portlet Bridge is an implementation of the JSR-301 specification to support JSF within a portlet and with added enhancements to support other web frameworks. Currently the bridge supports any combination of JSF, Seam, and RichFaces to run inside a portlet.&lt;br /&gt;&lt;br /&gt;The following is supported with JBoss Portlet Bridge 1.0.0.B1 &lt;span class="wikiContent"&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://downloads.sourceforge.net/jboss/jboss-portal-2.6.4-src.tar.gz"&gt;JBoss Portal 2.6.4&lt;/a&gt;&lt;img src="http://labs.jboss.com/wiki/%21WikiButtons/out.png" /&gt; &lt;/li&gt;&lt;li&gt; &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=163777&amp;amp;release_id=575793"&gt;JBoss Seam 2.1.0.A1&lt;/a&gt;&lt;img src="http://labs.jboss.com/wiki/%21WikiButtons/out.png" /&gt; &lt;/li&gt;&lt;li&gt; &lt;a href="http://labs.jboss.com/downloading/?projectId=jbossrichfaces&amp;amp;url=http://download.jboss.com/jboss-richfaces/richfaces-ui-3.1.4.SR1-bin.zip"&gt;RichFaces 3.1.4.SR1&lt;/a&gt;&lt;img src="http://labs.jboss.com/wiki/%21WikiButtons/out.png" /&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Download&lt;/span&gt;&lt;span class="wikiContent"&gt; &lt;ul&gt;&lt;li&gt; You can download the portlet bridge binaries &lt;a href="http://labs.jboss.com/portletbridge/downloads/"&gt;here&lt;/a&gt;&lt;img src="http://labs.jboss.com/wiki/%21WikiButtons/out.png" /&gt;, which contain the required jars along with a deployable EAR file. The EAR is the Seam Booking Demo which uses both &lt;a href="http://labs.jboss.com/wiki/RichFaces"&gt;RichFaces&lt;/a&gt; and Seam. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;h4&gt; Deploy&lt;/h4&gt; &lt;ul&gt;&lt;li&gt; copy the ear file from example/seamEar.ear to &lt;u&gt;JBoss_Home&lt;/u&gt;/server/default/deploy and start the server. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt;&lt;h4&gt; Test Drive&lt;/h4&gt;  &lt;p&gt; &lt;/p&gt; &lt;ul&gt;&lt;li&gt; You should see a &lt;u&gt;SeamBooking&lt;/u&gt; tab with the official JBoss Seam Booking Demo.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Setup and Configuration&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Check out the configuration examples &lt;a href="http://labs.jboss.com/wiki/WikiJBPBConfig"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Live Demo&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="wikiContent"&gt;The Seam Booking and RichFaces component demos can be viewed &lt;a href="http://livedemo.exadel.com/portal"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;All information to get up and running with configuration options for any combination of the frameworks mentioned above can be found &lt;a href="http://labs.jboss.com/wiki/JBossPortletBridge"&gt;on the wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1663947952439569046?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/1663947952439569046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=1663947952439569046' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1663947952439569046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1663947952439569046'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-portlet-bridge-100-beta-released.html' title='JBoss Portlet Bridge 1.0.0 Beta Released!'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7014282373317309405</id><published>2008-02-14T15:26:00.003+01:00</published><updated>2008-02-14T15:35:27.459+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss World day 1</title><content type='html'>Yesterday was the first JBoss World day.&lt;br /&gt;&lt;br /&gt;I had the chance to go on stage during the keynote, invited by our CTO Sacha Labourey to make a little (but working) &lt;a href="http://www.flickr.com/photos/jbossorg/2263961803/sizes/o/"&gt;demo&lt;/a&gt; of &lt;a href="http://labs.jboss.com/jbossportal/"&gt;JBoss Portal 2.6.4&lt;/a&gt;. My goal was to show to the audience the current JBoss Portal product and to get the following message out:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;JBoss Portal 2.6.4 just released&lt;/li&gt;&lt;li&gt;JBoss Portlet Container 2.0 Beta, an implementation of the Portlet 2.0 spec (will be released tomorrow, more to come, stay tuned)&lt;/li&gt;&lt;li&gt;&lt;a href="http://labs.jboss.com/portletbridge"&gt;JBoss Portlet Bridge&lt;/a&gt; to make the integration of JSF/RF/Seam apps in JBoss Portal&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Right now I am sitting at Thomas &lt;a href="http://www.jbossworld.com/agenda/thursday.html#next_thurs_9"&gt;session&lt;/a&gt; about JBoss Portal. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My &lt;a href="http://www.jbossworld.com/agenda/friday.html#core_fri_9bonus"&gt;talk&lt;/a&gt; is tomorrow morning at 9 AM and you don't want to miss it if you are present and want to hear about Portlet 2.0. I hope to see you there!&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7014282373317309405?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7014282373317309405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7014282373317309405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7014282373317309405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7014282373317309405'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-world-day-1.html' title='JBoss World day 1'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8987956875863662991</id><published>2008-02-09T19:04:00.001+01:00</published><updated>2008-02-13T15:50:59.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.6.4 released</title><content type='html'>The latest 2.6.x is out with few bug fixes and portlet administration improvements such as the ability to define multiple localized names for a portlet instance.&lt;br /&gt;&lt;br /&gt;The full release note is available &lt;a href="http://jira.jboss.com/jira/secure/ReleaseNote.jspa?version=12311775&amp;amp;styleName=Html&amp;amp;projectId=10050&amp;amp;Create=Create"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Important notice:&lt;/span&gt; For those of you who were using WSRP a small database schema change has been made. It was unfortunately required to fix a bug for some users.&lt;br /&gt;So if you were using WSRP you will need to alter the table JBP_REG_PROP_DESC_USAGES to rename the column "USAGE" to "DESC_USAGE". Sorry about this.&lt;br /&gt;&lt;br /&gt;You will find the download link at the &lt;a href="http://labs.jboss.com/jbossportal/download/index.html" title="usual place"&gt;usual place&lt;/a&gt;, and again, we hope to hear from you in &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215" title="the forums"&gt;the forums&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8987956875863662991?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8987956875863662991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8987956875863662991' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8987956875863662991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8987956875863662991'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/jboss-portal-264-released.html' title='JBoss Portal 2.6.4 released'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-4596009960714797928</id><published>2008-02-08T16:31:00.001+01:00</published><updated>2008-02-08T17:41:21.658+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>See you at JBoss World</title><content type='html'>A few of us will represent the JBoss Portal team at the upcoming JBoss World next week. Thomas and I will be on stage to talk about portal technology and Sohil will talk about his favorite pet named &lt;a href="http://www.jbossworld.com/agenda/thursday.html#core_thurs_2"&gt;SSO&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will &lt;a href="http://www.jbossworld.com/agenda/friday.html#core_fri_9bonus"&gt;present&lt;/a&gt; and demo the new features of the upcoming Portlet 2.0 specification. I intent to cover the major new features of the spec and will explain how they can be leveraged for building applications with concrete use cases. I will also detail the integration of the spec in our mainstream JBoss Portal 2.x product.&lt;br /&gt;&lt;br /&gt;Thomas will &lt;a href="http://www.jbossworld.com/agenda/thursday.html#next_thurs_9"&gt;present&lt;/a&gt; and demo a brand new spin-off project showing integration of in-house technologies. He will also explain the key concepts of JBoss Portal.&lt;br /&gt;&lt;br /&gt;As in each JBoss World conference we will unveil surprises for you and be available to talk with you during the whole event. We will probably wear the new T-shirts we designed for JavaPolis last year with the new logos, so it should not be hard to recognize us.&lt;br /&gt;&lt;br /&gt;See you there...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-4596009960714797928?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/4596009960714797928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=4596009960714797928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4596009960714797928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/4596009960714797928'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/02/see-you-at-jboss-world.html' title='See you at JBoss World'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2623126652621401000</id><published>2008-01-24T21:30:00.000+01:00</published><updated>2008-01-24T21:39:08.477+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss Portal @ Solutions Linux 2008 - Paris</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://damien.mauran.free.fr/images/Linux/solutionslinux.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://damien.mauran.free.fr/images/Linux/solutionslinux.gif" alt="" border="0"&gt;&lt;/a&gt;&lt;br /&gt;Next JBoss Portal talk will be held in Paris for the "&lt;a href="http://www.solutionslinux.fr/"&gt;OpenSource Solutions Linux&lt;/a&gt;" show !&lt;br /&gt;&lt;br /&gt;It will be on January 30th 3:00pm to 3:45pm. So if you are around and understand French, please join the conf, and if you don't understand French, it's all free so it's the perfect opportunity to learn it on the field ;)&lt;br /&gt;&lt;br /&gt;There will be other sessions on JBoss/Red Hat products, check out the &lt;a href="http://www.solutionslinux.fr/fr/conferences_detail.php?mode=redhat&amp;id_conference=154"&gt;agenda for the Red Hat conference&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's free to attend but you need to register on their website.&lt;br /&gt;&lt;br /&gt;I hope to see some of you there !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2623126652621401000?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2623126652621401000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2623126652621401000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2623126652621401000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2623126652621401000'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/01/jboss-portal-solutions-linux-2008-paris.html' title='JBoss Portal @ Solutions Linux 2008 - Paris'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2557222304042360014</id><published>2008-01-23T13:00:00.000+01:00</published><updated>2008-01-23T13:16:25.330+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>Would Eclipse do that ?</title><content type='html'>I am a big fan of Intellij Idea.&lt;br /&gt;&lt;br /&gt;I am using it since version 1.5 back in 2000. At this time I was using JBuilder Community Edition which was a decent IDE (compared to Notepad). When I tried Intellij the switch was obvious and I did it. At this time it was already offering to do a lot of refactorings when other IDE had no a clue of what a refactoring was.&lt;br /&gt;&lt;br /&gt;Since then I never used anything else. I am glad that &lt;a href="http://www.jetbrains.com/"&gt;Jetbrains&lt;/a&gt; provides to the JBoss Portal project licenses for this great tool (as they do for a lot of other open source projects) and would like to thank them for supporting us.&lt;br /&gt;&lt;br /&gt;Anyway, today I refactored a class name from &lt;span class="code"&gt;PortalNavigationalState&lt;/span&gt; to &lt;span class="code"&gt;PageNavigationalState&lt;/span&gt;. I had a few other classes that were using that class as a member called &lt;span class="code"&gt;portalNS&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;When I asked Idea to make the refactoring it asked me if I would like to rename the fields &lt;span class="code"&gt;portalNS&lt;/span&gt; to &lt;span class="code"&gt;pageNS&lt;/span&gt;. I don't know how they manage to do that (and I don't care), what matters is that I accepted it.&lt;br /&gt;&lt;br /&gt;Would other IDE (like Eclipse) do that ?&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2557222304042360014?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2557222304042360014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2557222304042360014' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2557222304042360014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2557222304042360014'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/01/would-eclipse-do-that.html' title='Would Eclipse do that ?'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6046630731401850544</id><published>2008-01-11T15:50:00.000+01:00</published><updated>2008-01-11T15:47:54.816+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><title type='text'>How to access the Portlet Mode from a JSF Portlet</title><content type='html'>We at JBoss a division of Red Hat use &lt;a href="http://hudson.jboss.org/"&gt;Hudson&lt;/a&gt; as a &lt;a href="http://jboss-qa.blogspot.com/2007/10/taking-continuous-integration-to.html"&gt;Continuous Integration&lt;/a&gt; tool. So I thought why not write a portlet that integrates with Hudson.  The portlet can be downloaded from &lt;a href="http://labs.jboss.com/portletswap/portlets_collab.html"&gt;Portlet Swap&lt;/a&gt;. I ended up using the RI JSF implementation and JSF-Portlet bridge. It took me a while to figure out how to access some portal/portlet related objects in managed bean so I thought I should share what I found out.&lt;br /&gt;&lt;br /&gt;To get the portlet mode in JSF's managed bean, you need to do&lt;br /&gt;     &lt;blockquote&gt;&lt;div class="code"&gt;Object reqObj = FacesContext.getCurrentInstance().getExternalContext().getRequest();&lt;br /&gt;      if  (reqObj instanceof PortletRequest)&lt;/div&gt;&lt;div class="code"&gt;{&lt;br /&gt;          request = (PortletRequest)reqObj;&lt;br /&gt;          return request.getPortletMode();         &lt;br /&gt;      }&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;You can get &lt;span class="code"&gt;PortletPreferences&lt;/span&gt; similary by using &lt;span class="code"&gt;request.getPreferences()&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;To get init parameters that you have specified in &lt;span class="code"&gt;portlet.xml&lt;/span&gt;, you use&lt;br /&gt;&lt;blockquote&gt;&lt;div class="code"&gt;Map applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();&lt;br /&gt;   if (null != applicationMap)&lt;br /&gt;   {&lt;br /&gt;       PortletConfig config = (PortletConfig)applicationMap.get("javax.portlet.PortletConfig");&lt;br /&gt;       return config.getInitParameter(param);      &lt;br /&gt;   } &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6046630731401850544?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6046630731401850544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6046630731401850544' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6046630731401850544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6046630731401850544'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/01/how-to-access-portlet-mode-from-jsf.html' title='How to access the Portlet Mode from a JSF Portlet'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5967814071696410672</id><published>2008-01-07T22:54:00.000+01:00</published><updated>2008-01-07T22:55:23.422+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><category scheme='http://www.blogger.com/atom/ns#' term='talk'/><title type='text'>JBoss Portal @ JBoss World 2008 - Orlando</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.jbossworld.com/images/header_logo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 168px;" src="http://www.jbossworld.com/images/header_logo.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;First, happy new year ! I hope we will all spend a great 2008.&lt;br /&gt;&lt;br /&gt;For a start, we will have three talks about and around JBoss Portal at JBoss World in Orlando on February 13-15th.&lt;br /&gt;If you plan to come you will be able to attend:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jbossworld.com/agenda/thursday.html#next_thurs_9"&gt;Introduction to JBoss Portal&lt;/a&gt; I will explain what is JBoss Portal (and portal frameworks in general), and the challenges solved by this framework&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jbossworld.com/agenda/thursday.html#next_thurs_3"&gt;What's New in Portlet 2.0&lt;/a&gt; Julien will present the successor of the JSR-168 spec and the benefits of this new specification.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jbossworld.com/agenda/friday.html#next_fri_11"&gt;JBoss Portal How-To Guide&lt;/a&gt;  Last but not least Peter Johnson from Unisys will give a presentation of JBoss Portal. He will explain how to customize JBoss Portal to your specific needs. It sure will be very interested to attend and I definitely plan to listen carefully to that one :)&lt;/li&gt;&lt;/ul&gt;There are other interesting topics of course, like this &lt;a href="http://www.jbossworld.com/agenda/friday.html#core_fri_9"&gt;case study about EJB3 + JSF + Seam + RichFaces&lt;/a&gt; introductions to EJB3, jBPM, Seam... The whole agenda &lt;a href="http://www.jbossworld.com/agenda/"&gt;is available here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of course if you plan to attend, let us know (thomas.heute@jboss.com) and we can also have informal discussions (along with Julien our beloved project leader) for the benefits of all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5967814071696410672?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5967814071696410672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5967814071696410672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5967814071696410672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5967814071696410672'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2008/01/jboss-portal-jboss-world-2008-orlando.html' title='JBoss Portal @ JBoss World 2008 - Orlando'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5235871548230197712</id><published>2007-12-19T00:24:00.000+01:00</published><updated>2007-12-19T00:26:09.672+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fud'/><title type='text'>I am the *real* Roy Russo</title><content type='html'>I was pointed out a &lt;a href="http://www.redmonk.com/jgovernor/2007/12/18/loopfuse-and-jboss-oracle-to-buy-red-hat-ibm-linux/"&gt;post&lt;/a&gt; by James Governor that spreads FUD about the fact that JBoss developers that left JBoss a few months ago hurts the company.&lt;br /&gt;&lt;br /&gt;Usually I don't comment much such articles, but this one gives wrong facts (among the FUD) about my project. I will not tell you much about the impact on the company of the departure of Tom and Roy, however I can certainly tell you about the role that Roy played when he was considered as a developer of the portal project.&lt;br /&gt;&lt;br /&gt;Roy Russo is a former JBoss developer that left the company to found his own company (these days everyone wants to be founder of a company, whatever the company is ...). I think he is trying to give himself more importance than what he used to have for the JBoss Portal project. If you look at his &lt;a href="http://www.loopfuse.com/about.php"&gt;bio&lt;/a&gt; you will read "he led the successful incubation and launch of an enterprise portal product" which says which is a very smart way to say "I was here"++.&lt;br /&gt;&lt;br /&gt;I read that a long time ago but did not give a really shit. However James extrapolated this information a bit too excessively.&lt;br /&gt;&lt;br /&gt;I am the founder and lead of the JBoss Portal project, well actually I naturally *own* the project, this project is my house. That means that Roy could be at most co founder of the project (since there can be several founders but one lead) and obviously he never led the project.&lt;br /&gt;&lt;br /&gt;So I am okay to recognize that Roy co founded the project since he was there since the beginning of the project. I recognize also that Roy played a key role when our management decided to *acquire* other open source portal projects and I think that if the project still exists it is due for a large part to him.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5235871548230197712?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5235871548230197712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5235871548230197712' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5235871548230197712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5235871548230197712'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/12/i-am-real-roy-russo.html' title='I am the *real* Roy Russo'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3924752307059803540</id><published>2007-12-14T15:00:00.000+01:00</published><updated>2007-12-14T15:14:41.429+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.6.3 released</title><content type='html'>Two months have passed since the last release, this release focuses on several improvements and Netvibes widget support.&lt;br /&gt;You will notice in this new release the following:&lt;br /&gt;&lt;br /&gt;- Support for &lt;a href="http://eco.netvibes.com/"&gt;UWA Netvibes widgets&lt;/a&gt;&lt;br /&gt;- Better support of localized pages&lt;br /&gt;- Support for localized portlet instances&lt;br /&gt;- Option to add icons to your portlet definitions&lt;br /&gt;- Ability to start a portlet in the window state and portlet mode you want (For example maximized)&lt;br /&gt;- ...&lt;br /&gt;&lt;br /&gt;The full release note is available &lt;a href="http://jira.jboss.com/jira/secure/ReleaseNote.jspa?version=12311611&amp;amp;styleName=Html&amp;amp;projectId=10050&amp;amp;Create=Create"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note that JDK 5 and JBoss 4.2 are now mandatory as announced &lt;a href="http://blog.jboss-portal.org/2007/10/jboss-portal-262-released.html"&gt;previously&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You will find the download link at the &lt;a href="http://labs.jboss.com/jbossportal/download/index.html" title="usual place"&gt;usual place&lt;/a&gt;, and again, we hope to hear from you in &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215" title="the forums"&gt;the forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://portal.demo.jboss.com"&gt;demo website&lt;/a&gt; has also been updated to 2.6.3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3924752307059803540?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3924752307059803540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3924752307059803540' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3924752307059803540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3924752307059803540'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/12/jboss-portal-263-released.html' title='JBoss Portal 2.6.3 released'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8218834147882923657</id><published>2007-12-13T01:18:00.000+01:00</published><updated>2007-12-13T01:31:57.519+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Stop compiling your kernel to reduce global warming</title><content type='html'>We had a funny discussion tonight with a few folks at a restaurant in JavaPolis tonight and finally somehow we concluded that if you compile your software instead of using binaries (I remember I spent 8 hours compiling Gnome in 1997 on a  133MHZ Pentium...) then you are creating energy that increases the global warming...&lt;br /&gt;&lt;br /&gt;Every developer on this planet has to immediatly stop compiling software that already exist under a binary form for the sake of compiling software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8218834147882923657?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8218834147882923657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8218834147882923657' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8218834147882923657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8218834147882923657'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/12/stop-compiling-your-kernel-to-reduce.html' title='Stop compiling your kernel to reduce global warming'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7833235262141655881</id><published>2007-12-07T15:30:00.000+01:00</published><updated>2007-12-07T15:28:54.671+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>Meet The JBoss Portal Foosball team at JavaPolis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_YGDak19GYxA/R1lYJkCNJLI/AAAAAAAAAAM/cCL09Blrug8/s1600-h/00021_small.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_YGDak19GYxA/R1lYJkCNJLI/AAAAAAAAAAM/cCL09Blrug8/s400/00021_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5141237370935125170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The JBoss Portal Foosball team will be at the Red Hat booth during the JavaPolis conference, come and challenge us !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7833235262141655881?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7833235262141655881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7833235262141655881' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7833235262141655881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7833235262141655881'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/12/meet-jboss-portal-foosball-team-at.html' title='Meet The JBoss Portal Foosball team at JavaPolis'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_YGDak19GYxA/R1lYJkCNJLI/AAAAAAAAAAM/cCL09Blrug8/s72-c/00021_small.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7760209133508355175</id><published>2007-11-20T14:46:00.000+01:00</published><updated>2007-11-20T14:49:51.699+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Meet JBoss Portal developers at Javapolis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.javapolis.com/confluence/download/attachments/30161/javapolis07.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.javapolis.com/confluence/download/attachments/30161/javapolis07.jpg" alt="" border="0" /&gt;&lt;/a&gt;Julien Viet and I will be at &lt;a href="http://www.javapolis.com/"&gt;Javapolis&lt;/a&gt; '07 in Belgium. We have no formal talks planned, we just go for fun. If you happen to be there and want to discuss, share ideas or simply offer us a drink, please come see us or ask for us at the JBoss booth , you can also recognize us because we will be wearing specially made JBoss Portal t-shirts!&lt;br /&gt;&lt;br /&gt;We are eager to hear and discuss about how you use JBoss Portal, what major issues you faced, what could be improved in your opinion or let us explain you about the product or anything related (good or bad) and even unrelated. We will also accept Christmas gifts, or any other kind of gift.&lt;br /&gt;&lt;br /&gt;If you happen to live in Belgium but have no access to Javapolis we can also meet outside. You can contact me at thomas.heute@jboss.com.&lt;br /&gt;&lt;br /&gt;(PS: We'll also be at &lt;a href="http://www.jbossworld.com/"&gt;JBoss World&lt;/a&gt; in Orlando in February, but i will come back in more details about this)&lt;br /&gt;&lt;br /&gt;See you there !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7760209133508355175?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7760209133508355175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7760209133508355175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7760209133508355175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7760209133508355175'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/11/meet-jboss-portal-developers-at.html' title='Meet JBoss Portal developers at Javapolis'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-2521646272627332529</id><published>2007-11-16T10:42:00.001+01:00</published><updated>2007-11-16T10:56:58.973+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bestpractices'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>How to scope Portlet data per Window</title><content type='html'>&lt;p&gt;I have been often asked how it is possible to scope data in a Portlet for a specific window. One obvious way would be to generate some unique ID and store it in the Portlet preferences, however this means that we start to use the preferences of the Portlet as a database which is not advised by the specification. So it would be neat to be able to retrieve the window ID provided by the portal to the portlet container.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Since Portlet 2.0 it is possible to retrieve the window ID using the &lt;span class="code"&gt;PortletRequest.getWindowID()&lt;/span&gt;. Still there is a way to have this window id value using the Portlet 1.0 specification, it may sound like an hack but it respects the specification. The trick is to use the fact that the Portlet session attributes are scoped using the window id value, for instance if the Portlet put the value &lt;span class="code"&gt;foo&lt;/span&gt; in the Portlet session, it will be stored as &lt;span code="code"&gt;javax.portlet.p.XYZ?foo&lt;/span&gt; where the XYZ is the window id.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here is how to do it in practice:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;&lt;br /&gt;public class WindowIDPortlet extends GenericPortlet&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  protected void doView(RenderRequest request, RenderResponse response) throws PortletException, PortletSecurityException, IOException&lt;br /&gt;  {&lt;br /&gt;     PortletSession session = request.getPortletSession();&lt;br /&gt;     WindowIDRetriever retriever = (WindowIDRetriever)session.getAttribute("retriever");&lt;br /&gt;     if (retriever == null)&lt;br /&gt;     {&lt;br /&gt;        retriever = new WindowIDRetriever();&lt;br /&gt;        session.setAttribute("retriever", retriever);&lt;br /&gt;     }&lt;br /&gt;     String windowID = retriever.getWindowID();&lt;br /&gt;&lt;br /&gt;     //&lt;br /&gt;     response.setContentType("text/html");&lt;br /&gt;     PrintWriter writer = response.getWriter();&lt;br /&gt;     writer.print("Window ID is equals to " + windowID);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public static class WindowIDRetriever implements HttpSessionBindingListener&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;     /** . */&lt;br /&gt;     private String windowID;&lt;br /&gt;&lt;br /&gt;     public void valueBound(HttpSessionBindingEvent event)&lt;br /&gt;     {&lt;br /&gt;        String name = event.getName();&lt;br /&gt;        windowID = name.substring("javax.portlet.p.".length(), name.indexOf('?'));&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     public void valueUnbound(HttpSessionBindingEvent event)&lt;br /&gt;     {&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     public String getWindowID()&lt;br /&gt;     {&lt;br /&gt;        return windowID;&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;What you need to pay attention to is the fact that if you use the window id value as a key in a cache then it will be fine, however if you start to persist data using the window id as a key then as you will not be aware of the associated window destruction and you will not be able to remove associated data in the database when the portal destroys the window. In that case the best advice is probably to implement a purge mechanism that would remove the out dated entries in the database (which suppose that you associate with the records, the date at which it was inserted).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-2521646272627332529?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/2521646272627332529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=2521646272627332529' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2521646272627332529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/2521646272627332529'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/11/portlet-window-data-scoping.html' title='How to scope Portlet data per Window'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-1776722464566063393</id><published>2007-11-15T02:40:00.003+01:00</published><updated>2008-02-15T05:41:22.092+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><title type='text'>Seam 2.0 Portlet Example</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);"&gt;Update - This post is deprecated. Please see &lt;/span&gt;&lt;a style="color: rgb(255, 0, 0);" href="http://blog.jboss-portal.org/2008/02/jboss-portlet-bridge-100-beta-released.html"&gt;this article &lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;about the new JBoss Portlet Bridge.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://labs.jboss.com/portletswap/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_tpHzaz374RU/Rzu7XdzojfI/AAAAAAAABIE/stG5ktdpllI/s320/seam-portlet2.gif" alt="" id="BLOGGER_PHOTO_ID_5132902212131393010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We are happy to announce a "technology preview" of the JBoss Portal Seam 2.0 portlet. Thanks to the hard work of the JSR-301 Expert Group we are able to integrate the Seam Booking Example via a portlet. However, there are still some limitations and RichFaces is currently not integrated.&lt;br /&gt;For the booking example, we have replaced RichFaces components with standard JSF RI 1.2 components.&lt;br /&gt;We made this example beyond easy to get up and running and it shouldn't take more than a few minutes to have it running locally on your machine.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prerequisites&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Install latest version of Maven 2.x&lt;/li&gt;&lt;li&gt;Checkout the project using a subversion client from &lt;span style="font-size:85%;"&gt;&lt;a href="http://anonsvn.jboss.org/repos/portletswap/portlets/src/framework/SeamBookingPortlet/"&gt;http://anonsvn.jboss.org/repos/portletbridge/trunk/examples/seam/booking&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;I used a Mysql database for this demo. You can use any of the DBs that Jboss Portal supports but for the sake of following along with this tutorial, I recommend downloading and starting a Mysql instance on your local machine.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Local Setup&lt;br /&gt;&lt;/span&gt;Once you have Mysql started, login to the mysql console as root and run the following:&lt;br /&gt;&lt;div style="border: 1px solid rgb(174, 174, 174); background-color: rgb(236, 236, 236);"&gt;&lt;code style="margin: 0pt; padding: 0pt; color: rgb(0, 0, 0);"&gt;create database jbossportal;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(174, 174, 174); margin: 0pt; padding: 0pt; background-color: rgb(236, 236, 236);"&gt;&lt;code style="margin: 0pt; padding: 0pt; color: rgb(0, 0, 0);"&gt;GRANT ALL PRIVILEGES ON jbossportal.* TO 'jbossportal'@'localhost' IDENTIFIED BY 'jbossportal';&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;That's it!&lt;br /&gt;&lt;br /&gt;Now, navigate to the root of the SeamBookingPortlet application and run&lt;br /&gt;&lt;div style="border: 1px solid rgb(174, 174, 174); margin: 0pt; padding: 0pt; background-color: rgb(236, 236, 236);"&gt;&lt;code style="color: rgb(0, 0, 0);"&gt;mvn install&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Once the build is finished and successful, navigate to SeamBookingPortlet/ear and run&lt;br /&gt;&lt;div style="border: 1px solid rgb(174, 174, 174); margin: 0pt; padding: 0pt; background-color: rgb(236, 236, 236);"&gt;&lt;code style="color: rgb(0, 0, 0);"&gt;mvn cargo:start&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;*Note - this will take a few minutes. This downloads JBoss AS 4.2.2.GA along with the core installation of JBoss Portal 2.6.2. The download was around 100MB, but I removed as much as possible and got it down to 40MB. Once this is finished and the server is started, do yourself (and our servers ;) a favor and copy the zip file from SeamBookingPortlet/ear/target/installs/jboss-4.2.2.GA-2.6.2.zip to somewhere outside of this directory (anywhere on your machine) and open the ear/pom.xml to point to your new local file location. This can be changed at the bottom of the pom.xml file.&lt;br /&gt;&lt;br /&gt;Now you are ready to deploy the SeamBookingDemo ear to your running JBoss server. Open a new console window and navigate to the same directory you were in SeamBookingPortlet/ear and run &lt;div style="border: 1px solid rgb(174, 174, 174); margin: 0pt; padding: 0pt; background-color: rgb(236, 236, 236);"&gt;&lt;code style="color: rgb(0, 0, 0);"&gt;mvn cargo:deploy&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;After you see that the Seam application has deployed. Open a new window/tab and visit &lt;a href="http://localhost:8080/portal"&gt;http://localhost:8080/portal&lt;/a&gt;. You should see the Seam Booking application in a portlet window.&lt;br /&gt;&lt;br /&gt;This example uses the core installation of JBoss Portal 2.6.2, Seam 2.0 GA, and the JSR-301 Bridge from MyFaces. The code for the booking demo is unmodified and a direct port from the Seam cvs repository. The modifications made to the JBoss AS download are minimal. First, I installed the core JBoss Portal 2.6.2 (&lt;a href="http://docs.jboss.com/jbportal/v2.6.2/referenceGuide/html_single/#installation"&gt; How to install&lt;/a&gt;). Then I added the datasource files for both Seam Booking and Portal. Finally I added the mysql driver to the server lib folder. That is all the changes that were made from the 4.2.2 GA release (other than I deleted around 50MB of unneeded files for this demo).&lt;br /&gt;&lt;br /&gt;Thanks to the JSR 301 specification it is now possible to make Seam applications work in a Portlet environment. The next challenge for us, is to get Rich Faces components working in Seam applications in the same Portlet environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-1776722464566063393?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1776722464566063393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/1776722464566063393'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/11/seam-20-portlet-example.html' title='Seam 2.0 Portlet Example'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_tpHzaz374RU/Rzu7XdzojfI/AAAAAAAABIE/stG5ktdpllI/s72-c/seam-portlet2.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6324191899147710613</id><published>2007-11-09T11:35:00.000+01:00</published><updated>2007-11-09T11:37:18.318+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Facebook</title><content type='html'>We created a &lt;a href="http://www.facebook.com/group.php?gid=4235020667"&gt;JBoss Portal group&lt;/a&gt; on Facebook a couple of weeks ago as it is an interesting place to be, if you are on FB and reading this blog, I encourage you to join us.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6324191899147710613?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6324191899147710613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6324191899147710613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6324191899147710613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6324191899147710613'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/11/facebook.html' title='Facebook'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-9216159618453579149</id><published>2007-11-01T11:14:00.001+01:00</published><updated>2007-11-01T11:33:28.857+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>JSFUnit is born</title><content type='html'>Well or at least it has its official &lt;a href="http://jsfunit.blogspot.com/"&gt;blog&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;I encourage you to have a look at it because it's a real progress in web UI unit testing which allow to test your web UI without relying on the underlying layer (CSS/HTML/HTTP) and make sure that your application behaves correctly when a user interacts with it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-9216159618453579149?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/9216159618453579149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=9216159618453579149' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9216159618453579149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9216159618453579149'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/11/jsfunit-is-officially.html' title='JSFUnit is born'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3135964367477753255</id><published>2007-10-30T23:32:00.000+01:00</published><updated>2007-10-30T11:33:17.943+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Open-source JSR 168 Portlets or lack thereof...</title><content type='html'>It is very often the case that portal users wonder where all the free / open-source JSR 168 portlets are. After all, there is an abundance of &lt;span style="font-style: italic;"&gt;portlets&lt;/span&gt; for other non-JSR 168 portals (NetVibes and Google come to mind). So, what is different in the world of JSR 168 compliant portals?&lt;br /&gt;&lt;br /&gt;First, let's look at portlets bundled with the different JSR 168 portals. After all, the number of bundled portlets is (quite astonishingly to me) often used as a selling point for portals. This makes some sense: you want your users to hit the ground running and deploy a portal that does &lt;span style="font-style: italic;"&gt;interesting&lt;/span&gt; stuff out of the box.  The &lt;span style="font-style: italic;"&gt;interesting&lt;/span&gt; part of it is central to the issue though. Interesting means different things to different users and that's where things start to get complicated...&lt;br /&gt;&lt;br /&gt;For portals such as NetVibes, Google or Yahoo (which was the first historically), which I call aggregation-oriented portals, developing useful portlets is not usually a challenge in the sense that users of these portals are not interested in integrating complex services but rather in aggregating information that's usually available as web pages/services. A bit of HTML, some javascript, a well-crafted API and you're on your way. JSR 168 compliant portals, on the other hand, usually target business users that have to deal with integration of disparate web applications to provide a unified interface to their users, who, in all likelihood, will depend on these services to do their job. Now, this is not to say that JSR 168 portals cannot or shouldn't be used as aggregation-oriented portals but the fact is that the user community for such use of JSR 168 portals is quite small compared to business deployments.&lt;br /&gt;&lt;br /&gt;Interesting, in this enterprise context, means something quite an order (if not more) of magnitude more complex than aggregating content which won't be missed much if not available... And, to me, that's the biggest reason why we don't see a more striving marketplace for JSR 168 portlets. The ones that are developed are never seen because they don't make any sense outside of the context for which they were developed as they are so tightly bound to the enterprise services they interact with. Sure, for some of these portlets, some effort could be spent on writing them in a more generic way so that they can be reused by other people, but how often do developers have the latitude/time to spend on extra-curriculum activities as these while working on mission-critical projects?&lt;br /&gt;&lt;br /&gt;The argument could also be made that &lt;span style="font-style: italic;"&gt;portal&lt;/span&gt; developers should spend the time to work on these business-level, reusable &lt;span style="font-style: italic;"&gt;portlets&lt;/span&gt;. From &lt;span style="font-style: italic;"&gt;my&lt;/span&gt; portal developer perspective, portal development and portlet development are two different separate activities, with different lifecycles and constraints. There is definitely a market for JSR 168 portlets. However, the return on investment on open-source portlets that would be bundled with JBoss Portal is very low. First, it's not clear what portlets the community wants/needs. Second, a significant amount of time would have to be spent developing them to make them both useful and reusable (though, obviously, this depends on the portlet). The more generic, the more time we would need to spend on them, also running the risk of making them more complex. Now, what do we have to gain from doing this? Increased visibility in the community and market share, which are both good things. But how much of this would translate to paying customers? Would it be enough to justify the time we spent on these portlets as opposed to working on the core product? Hard questions to answer... The only way I see this making sense from a business perspective would be to span a complete separate group that would only deal with portlet development and associate support, just like any other products. Is it something that JBoss want to get into? I don't know and it's not for me to decide anyway. :)&lt;br /&gt;&lt;br /&gt;Another point is how bundled (and more generally open source) portlets are desirable as startup projects for further developments. Once again, it makes a lot of sense. How is it, though, that rarely are these portlets contributed back to the community? Hint: useful, reusable portlets take time and attention to develop. Most people write custom solutions and don't bother/care about making it reusable. A community doesn't build itself. It's a two way street... JBoss Portal provides an &lt;a href="http://labs.jboss.com/portletswap/"&gt;open repository&lt;/a&gt;  for portlets... It is not as great as it could be, and we are aware of that, but like most things, this takes time and, from my personal point of view, with seemingly low interest from the community, I'd currently rather spend that time on improving Portal itself.&lt;br /&gt;&lt;br /&gt;More interesting, to my mind, to remedy to the perceived dearth of portlets, is easy integration of popular user-oriented, non JSR-168 portlets within a JSR 168 portal. Starting with JBoss Portal 2.6, it is now very easy to use Google widgets within a Portal page. Support for other (NetVibes comes to mind) is coming up...&lt;br /&gt;&lt;br /&gt;In conclusion, when looking at a portal, should you be looking at the set of bundled portlets? Sure. Should it be a deciding factor? Maybe, if you only want to deploy a simple, aggregation-oriented portal. However, if you are on the market for an enterprise-class portal, you should probably be looking at the portal's compliance with standards, capabilities, scalability, how well it integrates with enterprise services, &lt;a href="http://jbossportal.blogspot.com/2007/09/how-does-your-portal-qa-compare.html"&gt;how well tested it is&lt;/a&gt;, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3135964367477753255?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3135964367477753255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3135964367477753255' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3135964367477753255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3135964367477753255'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/open-source-jsr-168-portlets-or-lack.html' title='Open-source JSR 168 Portlets or lack thereof...'/><author><name>Christophe Laprun</name><uri>http://www.blogger.com/profile/07919528571694590136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_jo0ES8FJmhQ/SkniYKi8XBI/AAAAAAAAAAM/qHwmVunidKk/S220/smug.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6156637131135746348</id><published>2007-10-24T13:20:00.000+02:00</published><updated>2007-10-24T14:00:29.092+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>JBoss Portal Development Status</title><content type='html'>We started&lt;a href="http://jbossportal.blogspot.com/2007/09/jboss-portal-modularization.html"&gt;&lt;/a&gt; a few weeks ago big changes in the project codebase with several goals:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Decouple the services consumed by the portal and the portal (life cycle, coupling)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Improve the QA processes&lt;/li&gt;&lt;li&gt;Improve the build system&lt;/li&gt;&lt;/ol&gt;I chosed to do it at this time because it was just after the 2.6 release and we started to reach some limitations due to the ageing of the build system and the cost of  maintaining multiple branches.&lt;br /&gt;&lt;br /&gt;We also decided to split the development of the project into 2 directions.&lt;br /&gt;&lt;br /&gt;We continue the development of 2.6.x releases with additional features. JBoss Portal 2.x reached its maturity with the 2.6 version and we are going to continue to invest efforts in it. The goal is to deliver time boxed versions of 2.6.x with time frames between 2 and 4 months with emphasis on improving the integration footprint of the portal and the usability. We already provided &lt;a href="http://jbossportal.blogspot.com/2007/07/jboss-portal-261ga-released.html"&gt;2.6.1&lt;/a&gt; and &lt;a href="http://jbossportal.blogspot.com/2007/10/jboss-portal-262-released.html"&gt;2.6.2&lt;/a&gt;, I can tell you that &lt;a href="http://jira.jboss.com/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;mode=hide&amp;amp;sorter/order=DESC&amp;amp;sorter/field=priority&amp;amp;resolution=-1&amp;amp;pid=10050&amp;amp;fixfor=12311611"&gt;2.6.3&lt;/a&gt; is on the rails for December 2007&lt;br /&gt;&lt;br /&gt;I asked Thomas Heute (who joined the project a few month after it started, in November 2004 as far as I remember) to lead the JBoss Portal 2.6.x effort and he is doing a great job.&lt;br /&gt;&lt;br /&gt;We have started the inception phase of the next generation JBoss Portal 3.0. For now we are focusing on delivering the services that will be used by the platform, it naturally started with the modularization of the existing services (portlet container, identity, etc...) and development of new services such as the presentation framework that will be the next portal front end layer.&lt;br /&gt;&lt;br /&gt;The status as of today is that we modularized pretty much everything we wanted (except WSRP and Widget) and we have started the presentation framework development. The portlet container is now agnostic of JBoss AS (thanks to the web SPI module) and can be used in Tomcat or JBoss AS (we are looking forward to support other containers, contributions are welcome here).  The mavenization process of the build has started and should be finished soon.&lt;br /&gt;&lt;br /&gt;For now we cannot commit to a precise delivery date for 3.0 and I would certainly lie if I would give a precise date. We always have been good at reaching our goals (all the portal releases were done on time or with a couple of weeks of delay, 2.0 June 2005, 2.2 December 2005, 2.4 July 2006, 2.6 June 2007) but for now we are focusing on gathering the necessary components for the 3.0 (presentation framework, security, management, etc...). It comes also from the fact that today 2.6.x has became an integration platform of the different services and 3.0 will follow the same path.&lt;br /&gt;&lt;br /&gt;We agreed with our product manager that there will be a JBoss Portal 2.8 release in Q4 2008 that will contain the same feature as 2.6 + the new presentation framework and the implementation of Portlet 2.0 specification (it does not mean that the Portlet 2.0 implementation will not be in JBoss Portal 2.6.x of course!!!).&lt;br /&gt;&lt;br /&gt;As usual you can follow our development in the portal development &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=main&amp;amp;c=14"&gt;forums&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6156637131135746348?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6156637131135746348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6156637131135746348' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6156637131135746348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6156637131135746348'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/jboss-portal-development-status.html' title='JBoss Portal Development Status'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-8738098416500480007</id><published>2007-10-12T15:00:00.000+02:00</published><updated>2007-10-12T15:00:42.852+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>JBoss Portal administration movie</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_qfEbDTOhbrs/RwIanAnhvbI/AAAAAAAAACk/rJHWsrmYSmo/s1600-h/video.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_qfEbDTOhbrs/RwIanAnhvbI/AAAAAAAAACk/rJHWsrmYSmo/s200/video.png" alt="" id="BLOGGER_PHOTO_ID_5116681384129314226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As previously promised, a new video is available showing basic administration commands that can be done using the redesigned portlet.&lt;br /&gt;&lt;br /&gt;This movie focuses on showing how to add a new window (A Google gadget in the movie) on a page and deploying a standard JSR-168 portlet.&lt;br /&gt;&lt;br /&gt;This is available here:&lt;br /&gt;&lt;a href="http://labs.jboss.com/jbossportal/movies/index.html"&gt;http://labs.jboss.com/jbossportal/movies/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-8738098416500480007?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/8738098416500480007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=8738098416500480007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8738098416500480007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/8738098416500480007'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/jboss-portal-administration-movie.html' title='JBoss Portal administration movie'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_qfEbDTOhbrs/RwIanAnhvbI/AAAAAAAAACk/rJHWsrmYSmo/s72-c/video.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-9218778217221917374</id><published>2007-10-09T15:49:00.000+02:00</published><updated>2007-10-09T15:49:41.889+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='build'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Migrating to Maven from Ant (part 1)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tpHzaz374RU/RwaZNwW1e-I/AAAAAAAAA4s/tpKfByJJNrA/s1600-h/iceberg.gif.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_tpHzaz374RU/RwaZNwW1e-I/AAAAAAAAA4s/tpKfByJJNrA/s320/iceberg.gif.jpg" alt="" id="BLOGGER_PHOTO_ID_5117946488151178210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;For the past few weeks, I have been leading the migration to Maven effort for JBoss Portal.&lt;br /&gt;With converting any existing ant project, it's a given to start at the top of the dependency hierarchy and in this case it is the &lt;a href="http://anonsvn.jboss.org/repos/portal/modules/common/trunk/"&gt;common module. &lt;/a&gt;(AKA - The Tip of the Ice Berg ;-)&lt;br /&gt;&lt;br /&gt;Below is a list of  "challenges" I encountered and workarounds:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Challenge:&lt;/span&gt;   &lt;span style="font-weight: bold;"&gt;Refactoring&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Much of Maven's power comes from the standard practices it encourages. Poms are smaller, the project is easier to understand, it's easier to integrate plug-ins, and leveraging the standard directory structure will end up saving money, time, and learning curves.&lt;br /&gt;Moving things around to meet the "Maven standard" only caused a few ant targets to break which were easily fixed and this will be the case with refactoring any ant build.&lt;br /&gt;I used &lt;a href="http://www.jetbrains.net/confluence/display/IDEADEV/Selena+EAP"&gt;Intellij Idea 7+ (EAP) &lt;/a&gt;to refactor and I was disappointed to find out that I lost the svn history on a few (important) directories. This was a reported issue in 2005, but it may have been an overloaded commit on my part. I had many changes and moves going on in one commit so it may be better to commit to svn incrementally using Idea. I will do some more tests to be sure. For now, I'm using the command line.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;&lt;span style="font-style: italic;"&gt;Challenge&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;: Ant System Properties&lt;/span&gt;&lt;br /&gt;Another problem I ran into was the use of ant system properties in jUnit tests.  &lt;span class="postbody"&gt;Maven does not allow one to set System Properties for use in the JVM from within a pom.xml file. &lt;/span&gt;&lt;span class="postbody"&gt;I also tried setting the property via the maven-ant plugin to no avail. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;You can read any system property in the pom.xml (see &lt;a href="http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide"&gt;this properties guide&lt;/a&gt;) but you cannot write to them via the pom.  &lt;/span&gt;&lt;span class="postbody"&gt;This is also discussed on the &lt;a href="http://www.nabble.com/-M2--System-properties-tf1969896.html#a5407705"&gt;maven mail list here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Solution&lt;/span&gt;&lt;br /&gt;The suggested way is to pass a system property in with "mvn install -Dmyprop=whatever" on the command line.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Challenge: &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Placement of the pom.xml&lt;br /&gt;&lt;/span&gt;The current structure of the svn module dictates your pom placement. There are a few factors to take into consideration when placing the poms:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;How will Eclipse, Idea, Netbeans handle placement with built in IDE integration?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;How will the automated build checkout and use the pom? In our case we use Hudson.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;How many levels of modularization do you want to maintain?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="postbody"&gt;&lt;br /&gt;These are all questions that need to be answered and I'm sure there are a few I missed. I am a big fan of K.I.S.S (not the rock band... "Keep It Simple Stupid"). When you have a huge project like this and are dealing with different releases, modules, versions, etc... you really must understand how the poms will be used and how the artifacts need to be deployed.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;Starting from a basic compile with maven, getting your tests running, then deploying to the snapshots repository seems to be the best beginning. Once the base is setup we can start adding the cool reporting, property file encoding, selenium tests and other fun stuff.&lt;br /&gt;This brings me to a good point for mentioning Migrating to Maven from Ant (part 2). We still have Cargo and integration tests to setup, running WARs in your container of choice and Maven profiles that will allow you to build any flavor of JBoss Portal that you may desire. I will be sure to document and blog as we move along to migrating the different parts of JBoss Portal.&lt;br /&gt;&lt;br /&gt;To get the current Maven environment setup &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossPortalFromScratch"&gt;follow these instructions on our Wiki&lt;/a&gt;.  If you use IntelliJ Idea (or if you want to give it a try ;-) follow &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JbossPortalIdea"&gt;the directions here&lt;/a&gt; for getting the common module setup.  Idea will also generate and maintain Eclipse project files so you can make everyone happy!&lt;br /&gt;&lt;br /&gt;I would also like to recognize Anders for his contributions to the migration.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-9218778217221917374?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/9218778217221917374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=9218778217221917374' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9218778217221917374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/9218778217221917374'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/migrating-to-maven-from-ant-part-1.html' title='Migrating to Maven from Ant (part 1)'/><author><name>Wesley Hales</name><uri>http://www.blogger.com/profile/01464818154485466103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_tpHzaz374RU/SMkXnXfftoI/AAAAAAAACA0/jFdUINLDdtY/S220/me4.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_tpHzaz374RU/RwaZNwW1e-I/AAAAAAAAA4s/tpKfByJJNrA/s72-c/iceberg.gif.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-561469870172030598</id><published>2007-10-03T20:31:00.003+02:00</published><updated>2009-12-09T16:58:23.847+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensso'/><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='opends'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><title type='text'>JBoss Portal with OpenSSO and OpenDS (step by step howto)</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Update: Please check &lt;/span&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.jboss.org/community/wiki/JBossPortalandOpenSSO"&gt;http://www.jboss.org/community/wiki/JBossPortalandOpenSSO&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; for JBoss Portal 2.7.2 and a OpenSSO integration using REST API&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Our latest release &lt;a href="http://jbossportal.blogspot.com/2007/10/jboss-portal-262-released.html"&gt;JBoss Portal 2.6.2&lt;/a&gt; comes with built in support for several SSO frameworks. The goal of this post is to provide step by step instructions on how to integrate JBoss Portal with &lt;a href="https://opensso.dev.java.net/"&gt;OpenSSO.&lt;/a&gt; In addition OpenDS LDAP server is used as a user store for both of them.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://opensso.dev.java.net/"&gt;OpenSSO&lt;/a&gt; project is hosted on java.net community page and as its homepage states: "is     based on the code base of &lt;a class="nodecor" href="http://www.sun.com/software/products/access_mgr/index.xml"&gt;Sun Java&lt;sup&gt;&lt;span style=""&gt;TM&lt;/span&gt;&lt;/sup&gt; System Access Manager&lt;/a&gt;,". Based on an open sourced proprietary product, OpenSSO is quite rich in features unfortunately since the product &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=41861"&gt;launch&lt;/a&gt; it doesn't have had any stable release yet. You need to use the nightly builds,  the source code repository and the open mailing lists. It also really suffers from a lack of documentation. Because of that JBoss Portal support should be considered as &lt;span style="font-weight: bold;"&gt;experimental&lt;/span&gt; for the moment and community driven. As the OpenSSO codebase is not yet stable, the configuration and deployment details explained below could change in future.&lt;br /&gt;&lt;br /&gt;It is important to mention that the initial code and instructions on how to integrate OpenSSO with JBoss Portal 2.4 (previous major release) were contributed by Vincenzo Di Nino in our &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=Portal_2_4_IntegrationWithOpenSSO"&gt;wiki&lt;/a&gt; (thanks for the contribution!). Configuration of OpenSSO with OpenDS was described in &lt;a href="http://blogs.sun.com/indira/tags/opensso"&gt;Indira's blog.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol type="I"&gt;&lt;li style="font-style: italic; font-weight: bold;"&gt;System setup&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://opensso.dev.java.net/"&gt;OpenSSO&lt;/a&gt; may not operate well if you want to test it on your local machine and refer to 'localhost'. To workaround that you can give your local machine valid FQDN. Edit your &lt;span style="font-style: italic;"&gt;/etc/host&lt;/span&gt; file and add:&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;127.0.0.1       &lt;span style="font-weight: bold;"&gt;www.domain.com&lt;/span&gt; localhost.localdomain    localhost &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now you'll be able to refer to it using "&lt;span style="font-style: italic;"&gt;http://www.domain.com&lt;/span&gt;" in your browser.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li style="font-style: italic; font-weight: bold;"&gt;LDAP server&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Download &lt;a title="OpenDS" target="_blank" href="https://opends.dev.java.net/" id="zzwk"&gt;OpenDS&lt;/a&gt; - in this example we'll use  "OpenDS-1.0.0-build004". &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;       &lt;p&gt;Unzip it and run &lt;span style="font-style: italic;"&gt;setup&lt;/span&gt; script. OpenDS comes with GUI you can use for configuration. To use a command line you can add "--cli" parameter. Configure OpenDS as follows:&lt;/p&gt;           &lt;span style="font-size:78%;"&gt;[bdaw@localhost OpenDS]$ unzip -q OpenDS-1.0.0-build004.zip&lt;br /&gt;[bdaw@localhost OpenDS]$ cd OpenDS-1.0.0-build004&lt;br /&gt;[bdaw@localhost OpenDS-1.0.0-build004]$ ./setup --cli&lt;br /&gt;OpenDS Directory Server 1.0.0-build004&lt;br /&gt;&lt;br /&gt;Please wait while the setup program initializes...&lt;br /&gt;&lt;br /&gt;On which &lt;span style="font-weight: bold;"&gt;port&lt;/span&gt; would you like the Directory Server to accept connections from&lt;br /&gt;LDAP clients?&lt;br /&gt;[389]: &lt;span style="font-weight: bold;"&gt;8389&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What would you like to use as the initial root user DN for the Directory&lt;br /&gt;Server?&lt;br /&gt;[&lt;span style="font-weight: bold;"&gt;cn=Directory Manager&lt;/span&gt;]:&lt;br /&gt;&lt;br /&gt;Please provide the password to use for the initial root user: &lt;span style="font-weight: bold;"&gt;password&lt;/span&gt;&lt;br /&gt;Please re-enter the password for confirmation: &lt;span style="font-weight: bold;"&gt;password&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What do you wish to use as the &lt;span style="font-weight: bold;"&gt;base DN&lt;/span&gt; for the directory data?&lt;br /&gt;[dc=example,dc=com]: &lt;span style="font-weight: bold;"&gt;dc=opensso,dc=java,dc=net&lt;/span&gt;&lt;br /&gt;Options for populating the database:&lt;br /&gt;1.  Only create the base entry&lt;br /&gt;2.  Leave the database empty&lt;br /&gt;3.  Import data from an LDIF file&lt;br /&gt;4.  Load automatically-generated sample data&lt;br /&gt;&lt;br /&gt;Database population selection:&lt;br /&gt;[1]: &lt;span style="font-weight: bold;"&gt;4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please specify the number of user entries to generate:&lt;br /&gt;[&lt;span style="font-weight: bold;"&gt;2000&lt;/span&gt;]:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Applying the requested configuration to the Directory Server...&lt;br /&gt;Successfully wrote the updated Directory Server configuration&lt;br /&gt;Importing the LDIF data into the Directory Server database...&lt;br /&gt;[26/Sep/2007:15:41:39 +0200] category=JEB severity=INFORMATION msgID=8388697 msg=Starting import (using 8 threads)&lt;br /&gt;[26/Sep/2007:15:41:39 +0200] category=JEB severity=INFORMATION msgID=8388766 msg=Processing LDIF&lt;br /&gt;[26/Sep/2007:15:41:42 +0200] category=JEB severity=INFORMATION msgID=8388767 msg=End of LDIF reached&lt;br /&gt;[26/Sep/2007:15:41:44 +0200] category=JEB severity=INFORMATION msgID=8388730 msg=Beginning final index merge&lt;br /&gt;[26/Sep/2007:15:41:48 +0200] category=JEB severity=INFORMATION msgID=8388732 msg=Final index merge complete (processing time 3 seconds)&lt;br /&gt;[26/Sep/2007:15:41:48 +0200] category=JEB severity=INFORMATION msgID=8388702 msg=Processed 2002 entries, imported 2002, skipped 0, rejected 0 and migrated 0 in 8 seconds (average rate 233.3/sec)&lt;br /&gt;[26/Sep/2007:15:41:48 +0200] category=JEB severity=INFORMATION msgID=8388703 msg=Number of index values that exceeded the entry limit: 0&lt;br /&gt;Import complete&lt;br /&gt;The OpenDS setup process has completed successfully&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;By selecting "&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;Load automatically-generated sample data" option you'll start with 2000 random generated user entries in your LDAP server.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;ol start="3" type="I"&gt;&lt;ol start="3"&gt;&lt;li&gt;Copy "&lt;a href="http://blogs.sun.com/indira/resource/98-opends_user_schema.ldif"&gt;98-opends_user_schema.ldif&lt;/a&gt;" and "&lt;a href="http://blogs.sun.com/indira/resource/99-am_sm_ds_schema.ldif"&gt;99-am_sm_ds_schema.ldif&lt;/a&gt;" files into "OpenDS-1.0.0-build004/config/schema/" folder. Those configuration files comes from &lt;a title="Indira Blog" target="_blank" href="http://blogs.sun.com/indira/" id="jox6"&gt;Indira Blog&lt;/a&gt; and will extend OpenDS schema to enable  cooperation with OpenSSO. According to OpenSSO mailing lists it should support OpenDS out of box in the future.&lt;/li&gt;&lt;li&gt;Start OpenDS by running:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt; [bdaw@localhost OpenDS-1.0.0-build004]$ ./bin/start-ds&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;[26/Sep/2007:17:41:29 +0200] category=CORE severity=NOTICE msgID=458886 msg=OpenDS Directory Server 1.0.0-build004 starting up&lt;br /&gt;[26/Sep/2007:17:41:39 +0200] category=CONFIG severity=NOTICE msgID=3605006 msg=Access control has been enabled and will use the org.opends.server.authorization.dseecompat.AciHandler implementation&lt;br /&gt;[26/Sep/2007:17:41:43 +0200] category=JEB severity=NOTICE msgID=8847402 msg=The database backend userRoot containing 2002 entries has started&lt;br /&gt;[26/Sep/2007:17:41:44 +0200] category=CORE severity=NOTICE msgID=458887 msg=The Directory Server has started successfully&lt;br /&gt;[26/Sep/2007:17:41:44 +0200] category=CORE severity=NOTICE msgID=458891 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerStarted, alert ID 458887):  The Directory Server has started successfully&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also use "status-panel" binary which provide GUI for managing OpenDS state.&lt;/li&gt;&lt;li&gt;Add following ldif file into OpenDS (it is also based on ldif from &lt;a title="Indira Blog" target="_blank" href="http://blogs.sun.com/indira/" id="jox6"&gt;Indira Blog&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;dn: ou=agents,dc=opensso,dc=java,dc=net&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;&lt;br /&gt;dn: ou=groups,dc=opensso,dc=java,dc=net&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;&lt;br /&gt;dn: ou=dsame users,dc=opensso,dc=java,dc=net&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;&lt;br /&gt;dn: cn=dsameuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;objectclass: inetuser&lt;br /&gt;objectclass: organizationalperson&lt;br /&gt;objectclass: person&lt;br /&gt;objectclass: top&lt;br /&gt;cn: dsameuser&lt;br /&gt;sn: dsameuser&lt;br /&gt;userPassword: secret12&lt;br /&gt;&lt;br /&gt;dn: cn=amldapuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;objectclass: inetuser&lt;br /&gt;objectclass: organizationalperson&lt;br /&gt;objectclass: person&lt;br /&gt;objectclass: top&lt;br /&gt;cn: amldapuser&lt;br /&gt;sn: amldapuser&lt;br /&gt;userPassword: secret123&lt;br /&gt;&lt;br /&gt;dn:dc=opensso,dc=java,dc=net&lt;br /&gt;changetype:modify&lt;br /&gt;add:aci&lt;br /&gt;aci: (target="ldap:///dc=opensso,dc=java,dc=net")(targetattr="*")(version 3.0; acl "S1IS special dsame user rights for all under the root suffix"; allow (all) userdn = "ldap:///cn=dsameuser,ou=DSAME Users,dc=opensso,dc=java,dc=net"; )&lt;br /&gt;&lt;br /&gt;dn:dc=opensso,dc=java,dc=net&lt;br /&gt;changetype:modify&lt;br /&gt;add:aci&lt;br /&gt;aci: (target="ldap:///dc=opensso,dc=java,dc=net")(targetattr="*")(version 3.0; acl "S1IS special ldap auth user rights"; allow (read,search) userdn = "ldap:///cn=amldapuser,ou=DSAME Users,dc=opensso,dc=java,dc=net"; )&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To do this you can use "&lt;span style="font-style: italic;"&gt;ldapmodify&lt;/span&gt;" tool that comes with OpenDS:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;[bdaw@localhost OpenDS-1.0.0-build004]$ ./bin/ldapmodify -a -h localhost -p 8389 -D "cn=Directory Manager" -w password -f opensso_entries.ldif&lt;br /&gt;Processing ADD request for ou=agents,dc=opensso,dc=java,dc=net&lt;br /&gt;ADD operation successful for DN ou=agents,dc=opensso,dc=java,dc=net&lt;br /&gt;Processing ADD request for ou=groups,dc=opensso,dc=java,dc=net&lt;br /&gt;ADD operation successful for DN ou=groups,dc=opensso,dc=java,dc=net&lt;br /&gt;Processing ADD request for ou=dsame users,dc=opensso,dc=java,dc=net&lt;br /&gt;ADD operation successful for DN ou=dsame users,dc=opensso,dc=java,dc=net&lt;br /&gt;Processing ADD request for cn=dsameuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;ADD operation successful for DN cn=dsameuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;Processing ADD request for cn=amldapuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;ADD operation successful for DN cn=amldapuser,ou=DSAME Users,dc=opensso,dc=java,dc=net&lt;br /&gt;Processing MODIFY request for dc=opensso,dc=java,dc=net&lt;br /&gt;MODIFY operation successful for DN dc=opensso,dc=java,dc=net&lt;br /&gt;Processing MODIFY request for dc=opensso,dc=java,dc=net&lt;br /&gt;MODIFY operation successful for DN dc=opensso,dc=java,dc=net&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Another good tool for LDAP operations you can leverage for this task is &lt;a title="LDAP Browser" target="_blank" href="http://www-unix.mcs.anl.gov/%7Egawor/ldap/download.html" id="v.sg"&gt;LDAP Browser&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;OpenSSO deployment and installation&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Download &lt;a href="https://opensso.dev.java.net/"&gt;OpenSSO.&lt;/a&gt; It is distributed as a single war file that can be easily deployed in a servlet container. On the project page you'll find nightly builds ready for download. We'll use build &lt;a href="http://download.java.net/general/opensso/nightly/amserver/20070905/"&gt;20070509&lt;/a&gt; here. Just obtain "&lt;span style="font-style: italic;"&gt;amclientsdk.jar&lt;/span&gt;" and  "&lt;span style="font-style: italic;"&gt;opensso.war&lt;/span&gt;"&lt;/li&gt;&lt;li&gt;Download and unzip tomcat - we'll use "&lt;span style="font-style: italic;"&gt;apache-tomcat-5.5.25&lt;/span&gt;" binary here. &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Edit file "&lt;span style="font-style: italic;"&gt;apache-tomcat-5.5.25/conf/server.xml&lt;/span&gt;" and change default HTTP connector port to 8081:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;Connector port="8081" maxHttpHeaderSize="8192"&lt;br /&gt;          maxThreads="150" minSpareThreads="25" maxSpareThreads="75"&lt;br /&gt;          enableLookups="false" redirectPort="8443" acceptCount="100"&lt;br /&gt;          connectionTimeout="20000" disableUploadTimeout="true" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Comment out AJP connector:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;!--&lt;/span&gt;&amp;lt;Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /&amp;gt;&lt;span style="font-weight: bold;"&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Put "opensso.war" file into "webapps" directory and run tomcat:&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;[bdaw@localhost Tomcat]$ cd apache-tomcat-5.5.25&lt;br /&gt;[bdaw@localhost apache-tomcat-5.5.25]$ cp ../../OpenSSO/20070905/opensso.war webapps/&lt;br /&gt;[bdaw@localhost apache-tomcat-5.5.25]$ cd bin/&lt;br /&gt;[bdaw@localhost bin]$ chmod a+x *.sh&lt;br /&gt;[bdaw@localhost bin]$ ./startup.sh&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Put &lt;a title="http://www.domain.com:8081/opensso/" target="_blank" href="http://www.domain.com:8081/opensso/" id="umvx"&gt;http://www.domain.com:8081/opensso/&lt;/a&gt; in your browser to see the OpenSSO configuration page:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9wPqRbWe-BI/RvrPSftyHZI/AAAAAAAADoM/IbSP8-DYCs4/s1600-h/os1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9wPqRbWe-BI/RvrPSftyHZI/AAAAAAAADoM/IbSP8-DYCs4/s320/os1.png" alt="" id="BLOGGER_PHOTO_ID_5114628243490741650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click "Enter only the password" option to perform quick file system based configuration and follow the instructions. Let's use &lt;span style="font-style: italic;"&gt;"password"&lt;/span&gt; value to keep it simple :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9wPqRbWe-BI/RvrPtPtyHaI/AAAAAAAADoU/scEU3wVmC_s/s1600-h/os2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9wPqRbWe-BI/RvrPtPtyHaI/AAAAAAAADoU/scEU3wVmC_s/s320/os2.png" alt="" id="BLOGGER_PHOTO_ID_5114628703052242338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;After clicking on "Login to the administration console" you should be able to authenticate into OpenSSO console using "amadmin" user and password provided in previous step.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9wPqRbWe-BI/RvrPtftyHbI/AAAAAAAADoc/eXVJ6-LjpFQ/s1600-h/os3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9wPqRbWe-BI/RvrPtftyHbI/AAAAAAAADoc/eXVJ6-LjpFQ/s320/os3.png" alt="" id="BLOGGER_PHOTO_ID_5114628707347209650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;OpenDS datastore configuration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Now you need to configure OpenSSO to use OpenDS as its user store. Click on the "opensso" realm and then go to the "Data Stores" tab.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click "New", put "opends" as name, select "&lt;span class="LblLev3Txt"&gt;Sun DS with AM schema" radio button and press "Next"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="LblLev3Txt"&gt;&lt;/span&gt;Change values of the following fields:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LDAP Server&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;localhost:8389&lt;/span&gt;&lt;br /&gt;&lt;span class="LblLev2Txt"&gt;&lt;span style="font-weight: bold;"&gt;LDAP Bind Password&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;secret12&lt;/span&gt; &lt;/span&gt;&lt;span class="LblLev2Txt"&gt;(This is specified in ldif you added with ldapmodify to OpenDS previously)&lt;/span&gt;&lt;br /&gt;&lt;span class="LblLev2Txt"&gt;&lt;span style="font-weight: bold;"&gt;LDAPv3 Plug-in Supported Types and Operations&lt;/span&gt;: Remove "&lt;span style="font-style: italic;"&gt;filteredrole&lt;/span&gt;" and "&lt;span style="font-style: italic;"&gt;role&lt;/span&gt;" values&lt;/span&gt;&lt;br /&gt;and click "Finish"&lt;/li&gt;&lt;li&gt;Go to the "Subjects" tab. If "opends" DataStore is configured properly you should see many user entries that were autogenerated during OpenDS configuration.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9wPqRbWe-BI/RvrPuPtyHeI/AAAAAAAADo0/1SJJl0u4Q8o/s1600-h/os6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9wPqRbWe-BI/RvrPuPtyHeI/AAAAAAAADo0/1SJJl0u4Q8o/s320/os6.png" alt="" id="BLOGGER_PHOTO_ID_5114628720232111586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Click on "New" and create 3 user entries:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ID&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;amadmin&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Password&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;password&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ID&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Password&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ID&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;user&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Password&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;user&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9wPqRbWe-BI/RvrQ2_tyHfI/AAAAAAAADo8/yJ8UnTKtmTM/s1600-h/os7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9wPqRbWe-BI/RvrQ2_tyHfI/AAAAAAAADo8/yJ8UnTKtmTM/s320/os7.png" alt="" id="BLOGGER_PHOTO_ID_5114629970067594738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Go to the &lt;span style="font-style: italic;"&gt;"Authentication"&lt;/span&gt; tab and in &lt;span style="font-style: italic;"&gt;"Module Instances"&lt;/span&gt; section click on &lt;span style="font-style: italic;"&gt;"LDAP"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Correct the value of &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;span class="LblLev2Txt"&gt;&lt;span style="font-style: italic;"&gt;Primary LDAP Server"&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;"localhost:8389"&lt;/span&gt; and for &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span class="LblLev2Txt"&gt;&lt;span style="font-style: italic;"&gt;Password for Root User Bind:"&lt;/span&gt; use&lt;span style="font-style: italic;"&gt; "secret123"&lt;/span&gt; (This is specified in ldif you added with ldapmodify to OpenDS previously). Click on "Save" and "Back to Authentication"&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="LblLev2Txt"&gt;In &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Authentication Chaining"&lt;/span&gt; section click on &lt;span style="font-style: italic;"&gt;"ldapService"&lt;/span&gt;, change required instance from &lt;span style="font-style: italic;"&gt;"DataStrore"&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;"LDAP"&lt;/span&gt; and click on &lt;span style="font-style: italic;"&gt;"Save"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_9wPqRbWe-BI/RvrPtvtyHcI/AAAAAAAADok/10gFiLiDEtk/s1600-h/os4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_9wPqRbWe-BI/RvrPtvtyHcI/AAAAAAAADok/10gFiLiDEtk/s320/os4.png" alt="" id="BLOGGER_PHOTO_ID_5114628711642176962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now you can verify that everything is correctly configured. Logout and click on &lt;span style="font-style: italic;"&gt;"Return to Login page"&lt;/span&gt;. You should see &lt;span style="font-style: italic;"&gt;"This server uses LDAP Authentication"&lt;/span&gt; and be able to authenticate as&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;User name:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;amadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Password:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;password&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9wPqRbWe-BI/RvrPt_tyHdI/AAAAAAAADos/WeDSMV47tnU/s1600-h/os5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9wPqRbWe-BI/RvrPt_tyHdI/AAAAAAAADos/WeDSMV47tnU/s320/os5.png" alt="" id="BLOGGER_PHOTO_ID_5114628715937144274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;JBoss Portal authentication with OpenSSO &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Deploy JBoss Portal 2.6.2 on JBoss Application Server 4.2.1 using standard instructions - you can use the ready to go bundle &lt;a href="http://labs.jboss.com/jbossportal/download/index.html"&gt;here&lt;/a&gt; (use "&lt;a href="http://sourceforge.net/project/downloading.php?groupname=jboss&amp;amp;filename=jboss-portal-2.6.2.GA-bundled.zip&amp;amp;use_mirror=surfnet"&gt;&lt;b&gt;JBoss Portal + JBoss AS 4.2.1&lt;/b&gt;&lt;/a&gt;").&lt;/li&gt;&lt;li&gt;Edit "&lt;span style="font-style: italic;"&gt;jboss-4.2.1.GA/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml&lt;/span&gt;" file and uncomment following lines:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;Valve className="org.jboss.portal.identity.sso.opensso.OpenSSOAuthenticationValve"&lt;br /&gt;  loginURL="http://www.domain.com:8081/opensso"&lt;br /&gt;  logoutURL="http://www.domain.com:8081/opensso/UI/Logout"&lt;br /&gt;  appendLoginGoto="true"&lt;br /&gt;  appendLogoutGoto="true"&lt;br /&gt;  authType="FORM"&lt;br /&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;valve classname="org.jboss.portal.identity.sso.opensso.OpenSSOAuthenticationValve" loginurl="http://www.domain.com:8081/opensso" logouturl="http://www.domain.com:8081/opensso/UI/Logout" appendlogingoto="true" appendlogoutgoto="true" authtype="FORM"&gt;&lt;br /&gt;&lt;/valve&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;(Make sure that "loginURL" and "logoutURL" parameters contain hostname proper for your configuration and port on which tomcat instance with OpenSSO is running)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Copy "&lt;span style="font-style: italic;"&gt;amclientsdk.jar&lt;/span&gt;" file that you downloaded from OpenSSO site to "&lt;span style="font-style: italic;"&gt;jboss-4.2.1.GA/server/default/deploy/jboss-portal.sar/lib&lt;/span&gt;"&lt;/li&gt;&lt;li&gt;OpenSSO configuration should create file named &lt;span style="font-style: italic;"&gt;"AMConfig.properties"&lt;/span&gt; in your home directory. Copy this file into "&lt;span style="font-style: italic;"&gt;jboss-4.2.1.GA/server/default/config&lt;/span&gt;". Edit it and change line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; com.iplanet.am.serverMode=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; com.iplanet.am.serverMode=false&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Run JBoss Application server and go to portal URL : &lt;a title="http://www.domain.com:8080/portal" target="_blank" href="http://www.domain.com:8080/portal" id="ym.i"&gt;http://www.domain.com:8080/portal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now you can verify the configuration. On the main JBoss Portal page click on &lt;span style="font-style: italic;"&gt;"Login"&lt;/span&gt; link in the upper right corner. You'll be redirected to the OpenSSO login page. After successfull authentication (&lt;span style="font-weight: bold;"&gt;user:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;password:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt;) you'll be redirect back to the portal. Now try to click on &lt;span style="font-style: italic;"&gt;"Logout"&lt;/span&gt; link. Then go to &lt;a title="http://www.domain.com:8081/opensso" target="_blank" href="http://www.domain.com:8081/opensso" id="vc4k"&gt;http://www.domain.com:8081/opensso&lt;/a&gt; page and login again as &lt;span style="font-weight: bold;"&gt;user:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;password:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin.&lt;/span&gt; Now browse again to &lt;a title="http://www.domain.com:8080/portal" target="_blank" href="http://www.domain.com:8080/portal" id="ym.i"&gt;http://www.domain.com:8080/portal&lt;/a&gt;. You are authenticated! Is it magic? No! Its SSO ;)&lt;br /&gt;&lt;br /&gt;After those steps JBoss Portal is configured to authenticate using OpenSSO login page and to auto discover SSOToken presence in the upcoming requests. Based on this token it will auto authenticate users. However JBoss Portal is still using database to store and retreive users. This means that to be able to  leverage some of portal features based on users identity and profile information, you'll need to keep users in both OpenSSO DataStore and JBoss Portal database.&lt;br /&gt;&lt;br /&gt;So now lets move this one step further. OpenSSO uses OpenDS LDAP server to store users so why not configure JBoss Portal to use the same LDAP server?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;JBoss Portal with OpenDS&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt; &lt;ol start="3" type="I"&gt;&lt;ol&gt;&lt;li&gt;Add following ldif to OpenDS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;dn: cn=Admin,ou=groups,dc=opensso,dc=java,dc=net&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: groupOfNames&lt;br /&gt;cn: Admin&lt;br /&gt;description: Portal admin role&lt;br /&gt;member: uid=admin,ou=People,dc=opensso,dc=java,dc=net&lt;br /&gt;&lt;br /&gt;dn: cn=User,ou=groups,dc=opensso,dc=java,dc=net&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: groupOfNames&lt;br /&gt;cn: User&lt;br /&gt;description: Portal user role&lt;br /&gt;member: uid=admin,ou=People,dc=opensso,dc=java,dc=net&lt;br /&gt;member: uid=user,ou=People,dc=opensso,dc=java,dc=net&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Save ldif above to the "portal_entries.ldif" file and use following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;[bdaw@localhost OpenDS-1.0.0-build004]$ ./bin/ldapmodify -a -h localhost -p 8389 -D "cn=Directory Manager" -w password -f portal_entries.ldif &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt;&lt;li&gt;Edit "&lt;span style="font-style: italic;"&gt;jboss-4.2.1.GA/server/default/deploy/jboss-portal.sar/jboss-portal.sar/META-INF/jboss-service.xml&lt;/span&gt;" and change line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;attribute name="ConfigFile"&gt;conf/identity/identity-config.xml&lt;/attribute&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;attribute name="ConfigFile"&gt;conf/identity/ldap_identity-config.xml&lt;/attribute&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Edit "&lt;span style="font-style: italic;"&gt;jboss-4.2.1.GA/server/default/deploy/jboss-portal.sar/conf/identity/ldap_identity-config.xml&lt;/span&gt;" and change it as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&amp;lt;datasources&amp;gt;&lt;br /&gt; &amp;lt;datasource&amp;gt;&lt;br /&gt;    &amp;lt;name&amp;gt;LDAP&amp;lt;/name&amp;gt;&lt;br /&gt;    &amp;lt;config&amp;gt;&lt;br /&gt;       &amp;lt;option&amp;gt;&lt;br /&gt;          &amp;lt;name&amp;gt;host&amp;lt;/name&amp;gt;&lt;br /&gt;          &amp;lt;value&amp;gt;localhost&amp;lt;/value&amp;gt;&lt;br /&gt;       &amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option&amp;gt;&lt;br /&gt;          &amp;lt;name&amp;gt;port&amp;lt;/name&amp;gt;&lt;br /&gt;          &amp;lt;value&amp;gt;&lt;span style="font-weight: bold;"&gt;8389&lt;/span&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;       &amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option&amp;gt;&lt;br /&gt;          &amp;lt;name&amp;gt;adminDN&amp;lt;/name&amp;gt;&lt;br /&gt;          &amp;lt;value&amp;gt;cn=Directory Manager&amp;lt;/value&amp;gt;&lt;br /&gt;       &amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option&amp;gt;&lt;br /&gt;          &amp;lt;name&amp;gt;adminPassword&amp;lt;/name&amp;gt;&lt;br /&gt;          &amp;lt;value&amp;gt;password&amp;lt;/value&amp;gt;&lt;br /&gt;       &amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;/config&amp;gt;&lt;br /&gt; &amp;lt;/datasource&amp;gt;&lt;br /&gt;&amp;lt;/datasources&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;module&amp;gt;&lt;br /&gt;&amp;lt;type&amp;gt;User&amp;lt;/type&amp;gt;&lt;br /&gt;&amp;lt;implementation&amp;gt;LDAP&amp;lt;/implementation&amp;gt;&lt;br /&gt;&amp;lt;class&amp;gt;&lt;span style="font-weight: bold;"&gt;org.jboss.portal.identity.ldap.LDAPExtUserModuleImpl&lt;/span&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&amp;lt;config/&amp;gt;&lt;br /&gt;&amp;lt;/module&amp;gt;&lt;br /&gt;&amp;lt;module&amp;gt;&lt;br /&gt;&amp;lt;type&amp;gt;Role&amp;lt;/type&amp;gt;&lt;br /&gt;&amp;lt;implementation&amp;gt;LDAP&amp;lt;/implementation&amp;gt;&lt;br /&gt;&amp;lt;class&amp;gt;&lt;span style="font-weight: bold;"&gt;org.jboss.portal.identity.ldap.LDAPExtRoleModuleImpl&lt;/span&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&amp;lt;config/&amp;gt;&lt;br /&gt;&amp;lt;/module&amp;gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&amp;lt;option-group&amp;gt;&lt;br /&gt;    &amp;lt;group-name&amp;gt;common&amp;lt;/group-name&amp;gt;&lt;br /&gt;    &amp;lt;option&amp;gt;&lt;br /&gt;       &amp;lt;name&amp;gt;userCtxDN&amp;lt;/name&amp;gt;&lt;br /&gt;       &amp;lt;value&amp;gt;&lt;span style="font-weight: bold;"&gt;ou=People,dc=opensso,dc=java,dc=net&lt;/span&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option&amp;gt;&lt;br /&gt;       &amp;lt;name&amp;gt;userSearchFilter&amp;lt;/name&amp;gt;&lt;br /&gt;       &amp;lt;value&amp;gt;&amp;lt;![CDATA[(&amp;amp;((uid={0})(objectClass=person)))]]&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option&amp;gt;&lt;br /&gt;       &amp;lt;name&amp;gt;roleCtxDN&amp;lt;/name&amp;gt;&lt;br /&gt;       &amp;lt;value&amp;gt;&lt;span style="font-weight: bold;"&gt;ou=groups,dc=opensso,dc=java,dc=net&lt;/span&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/option&amp;gt;&lt;br /&gt;    &amp;lt;option&amp;gt;&lt;br /&gt;       &amp;lt;name&amp;gt;roleSearchFilter&amp;lt;/name&amp;gt;&lt;br /&gt;       &amp;lt;value&amp;gt;&amp;lt;![CDATA[(&amp;amp;((cn={0})(objectClass=groupOfNames)))]]&amp;gt;&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;/option-group&amp;gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;module&gt;&lt;module&gt;&lt;option-group&gt;&lt;name&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/name&gt;&lt;br /&gt;    &lt;value&gt;&lt;span style="font-weight: bold;"&gt;&lt;!--[CDATA[(&amp;amp;((cn={0})(objectClass=groupOfNames)))]]--&gt;&lt;/span&gt;&lt;/value&gt;&lt;/option-group&gt;&lt;br /&gt;&lt;/module&gt;&lt;/module&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Run JBoss Application server and go to the portal URL : &lt;a title="http://www.domain.com:8080/portal" target="_blank" href="http://www.domain.com:8080/portal" id="ym.i"&gt;http://www.domain.com:8080/portal&lt;/a&gt;   &lt;/li&gt;&lt;li&gt;Click on &lt;span style="font-style: italic;"&gt;"Login"&lt;/span&gt; link and authenticate as &lt;span style="font-weight: bold;"&gt;user:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;password:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;admin&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click on &lt;span style="font-style: italic;"&gt;"Admin"&lt;/span&gt; link in upper right corner and go to &lt;span style="font-style: italic;"&gt;"Members"&lt;/span&gt; tab&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9wPqRbWe-BI/RvrQ3PtyHgI/AAAAAAAADpE/-ch-WP3H088/s1600-h/os8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9wPqRbWe-BI/RvrQ3PtyHgI/AAAAAAAADpE/-ch-WP3H088/s320/os8.png" alt="" id="BLOGGER_PHOTO_ID_5114629974362562050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pay attention to the &lt;span style="font-style: italic;"&gt;"Registered users    2002"&lt;/span&gt; information :)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click on the "&lt;span style="font-style: italic;"&gt;Search Users&lt;/span&gt;" link and enjoy the view:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_9wPqRbWe-BI/RvrQ3vtyHhI/AAAAAAAADpM/Ly_7MSw7c2s/s1600-h/os9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_9wPqRbWe-BI/RvrQ3vtyHhI/AAAAAAAADpM/Ly_7MSw7c2s/s320/os9.png" alt="" id="BLOGGER_PHOTO_ID_5114629982952496658" border="0" /&gt;&lt;/a&gt;Now you can play with it more on your own. Go to the OpenSSO administration console (you must login as &lt;span style="font-style: italic;"&gt;"amadmin"),&lt;/span&gt; try to add another user subject and use it to authenticate to the portal.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;Note:&lt;br /&gt;OpenSSO creates its configuration files in your home directory by default. You'll find &lt;span style="font-style: italic;"&gt;"AMConfig.properties"&lt;/span&gt; file and &lt;span style="font-style: italic;"&gt;"opensso"&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;"AccessManager"&lt;/span&gt; directories there. If you start playing with the deployment from scratch its important to remove them or you will get stucked wondering why OpenSSO configuration page doesn't come up with fresh installation....&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="bad_word" class="misspell" suggestions="Upends,Appends,Opens,Pends,Spends"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-561469870172030598?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/561469870172030598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=561469870172030598' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/561469870172030598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/561469870172030598'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/jboss-portal-with-opensso-and-opends.html' title='JBoss Portal with OpenSSO and OpenDS (step by step howto)'/><author><name>Bolesław Dawidowicz</name><uri>http://www.blogger.com/profile/09178797216278734614</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_9wPqRbWe-BI/RvrPSftyHZI/AAAAAAAADoM/IbSP8-DYCs4/s72-c/os1.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-6562984280338652148</id><published>2007-10-01T13:00:00.000+02:00</published><updated>2007-10-01T12:46:39.603+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal 2.6.2 released</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_qfEbDTOhbrs/RwDO-wnhvaI/AAAAAAAAACc/mBb_12KWPPE/s1600-h/identity.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp2.blogger.com/_qfEbDTOhbrs/RwDO-wnhvaI/AAAAAAAAACc/mBb_12KWPPE/s200/identity.png" alt="" id="BLOGGER_PHOTO_ID_5116316754290785698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Two months have passed since the last release, this release focuses on usability and SSO.&lt;br /&gt;The admin console usability revamp is now finished adding improved usability and cosmetic changes. The identity portlets &lt;a href="http://jbossportal.blogspot.com/2007/08/user-portlet-ui-improvements.html" title="rewritten Identity portlets"&gt;have been rewritten&lt;/a&gt; providing a more flexible configuration, in particular it is possible to customize the user profile editor. It is also possible to replace the default user registration with a business process which allows to integrate with your user provisioning    policy.&lt;br /&gt;&lt;br /&gt;On an enterprise stand point, we are making sure JBoss Portal integrates with your existing infrastructure by supporting several &lt;a href="http://jbossportal.blogspot.com/2007/06/ldap-support-tutorial-for-jboss-portal.html" title="LDAP"&gt;LDAP&lt;/a&gt; servers (&lt;a href="http://www.redhat.com/software/rha/directory/"&gt;Red Hat Directory Server&lt;/a&gt;, OpenLDAP, OpenDS, &lt;a href="http://jbossportal.blogspot.com/2007/08/sun-directory-server-in-jboss-portal-qa.html" id="fu5s" title="Sun Directory Server"&gt;Sun Directory Server&lt;/a&gt; (&lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfigurePortalForMicrosoftActiveDirectory" id="rev." title="Active Directory"&gt;Microsoft Active Directory&lt;/a&gt; has also been reported to work)) and &lt;a href="http://jbossportal.blogspot.com/2007/07/jboss-portal-takes-unbiased-stance-on.html" title="several SSO frameworks"&gt;several SSO frameworks&lt;/a&gt; such as &lt;a href="http://jbossportal.blogspot.com/2007/08/jboss-portal-takes-unbiased-stance-on.html" title="CAS"&gt;CAS&lt;/a&gt;, JOSSO and OpenSSO.&lt;br /&gt;&lt;br /&gt;One thing to notice is that JBoss Portal 2.6.2 is the last release that will be available for JDK 1.4. So if you are still using JDK 1.4, please think about migrating before the next release due on December 10th. The major justification is that today JBoss Portal 2.6.x targets mainly JBoss AS 4.2 which requires the Java 5 runtime.&lt;br /&gt;&lt;br /&gt;We kept supporting JBoss AS 4.0.5 for as long as we could, but it is holding us back. Consequently, JBoss Portal 2.6.2 is the last release to support JBoss AS 4.0.5 technically (which just &lt;a href="http://www.redhat.com/security/updates/jboss_notes/" title="reached the it's maintenance phase"&gt;reached its maintenance phase&lt;/a&gt;). The professionally supported application server is the JBoss Enterprise Application Platform 4.2 (&lt;a href="http://www.redhat.com/jboss/platforms/application/" title="JBoss EAP 4.2"&gt;JBoss EAP 4.2&lt;/a&gt;) while the current community supported application server is JBoss AS 4.2.1.GA. If you want to run JBoss Portal 2.6.2 with JBoss AS 4.0.5 please &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=Portal26_AS40" title="read this"&gt;read this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Finally you will find usual bug fixes &lt;a href="http://jira.jboss.org/jira/secure/ReleaseNote.jspa?projectId=10050&amp;amp;styleName=Html&amp;amp;version=12311571" title="load of bug fixes and enhancements"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will find the download link at the &lt;a href="http://labs.jboss.com/jbossportal/download/index.html" title="usual place"&gt;usual place&lt;/a&gt;, and again, we hope to hear from you in &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=215" title="the forums"&gt;the forums&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-6562984280338652148?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/6562984280338652148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=6562984280338652148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6562984280338652148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/6562984280338652148'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/10/jboss-portal-262-released.html' title='JBoss Portal 2.6.2 released'/><author><name>Thomas Heute</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp1.blogger.com/_qfEbDTOhbrs/RvDBf1UQD1I/AAAAAAAAACI/tZr8ZR7rVIQ/s200/theute.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_qfEbDTOhbrs/RwDO-wnhvaI/AAAAAAAAACc/mBb_12KWPPE/s72-c/identity.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-3585701030020418540</id><published>2007-09-19T20:46:00.000+02:00</published><updated>2007-09-20T15:22:30.601+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QA'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>How does your portal QA compare ?</title><content type='html'>&lt;p&gt;&lt;acronym title="Quality Assurance"&gt;QA&lt;/acronym&gt; has always been an advantage of &lt;a href="http://labs.jboss.com/jbossportal/"&gt;JBoss Portal&lt;/a&gt; over other open-source portals: we've had strong coverage of databases and LDAP servers with the JBoss Portal 2.x series in addition to specification implementation and unit tests. However, we're not stopping there. We're always looking for ways to improve JBoss Portal's quality, and one way to accomplish this is better testsuite coverage. Here's an overview of our &lt;acronym title="Quality Assurance"&gt;QA&lt;/acronym&gt; work:&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Testsuite coverage&lt;/b&gt;&lt;p&gt;We have continuous run of portal 2.6 testsuite and trunk testsuite against JBoss 4.2.0.GA. Results can be seen at &lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-2.6-jboss42/"&gt;2.6-testuite&lt;/a&gt; and &lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-trunk-jboss42/"&gt;trunk-testsuite.&lt;/a&gt; We plan to add JBoss AS 4.2.1.GA to the matrix as well.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Database Compatibility&lt;/b&gt;&lt;p&gt;We've been continuously running our testsuite against following the most popular database products for over a year now:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Oracle 9i&lt;/li&gt;&lt;li&gt;Oracle 10g&lt;/li&gt;&lt;li&gt;MySql4&lt;/li&gt;&lt;li&gt;MySql5&lt;/li&gt;&lt;li&gt;MS SQL Server&lt;/li&gt;&lt;li&gt;PostgreSQL 8&lt;/li&gt;&lt;li&gt;Hypsersonic (HSQLDB)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;The result of these test runs can be seen at &lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-trunk-db/"&gt;DB-tests&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;LDAP compatibility&lt;/b&gt;&lt;p&gt;LDAP support has been added in the 2.6 release and we've also had continuous runs of identity module tests with the following LDAP servers:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;OpenLDAP&lt;/li&gt;&lt;li&gt;RedHat DS (of course)&lt;/li&gt;&lt;li&gt;Sun DS&lt;/li&gt;&lt;li&gt;Open DS&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The test results can be seen at &lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-identity/"&gt;ldap-tests&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Modules detachment&lt;/b&gt;&lt;p&gt;I won't speak here about the detachment of modules since Julien covered it nicely in &lt;a href="http://jbossportal.blogspot.com/2007/09/jboss-portal-modularization.html"&gt;another post&lt;/a&gt; already. It is the last item that has been added to the mix, just a couple of days ago. The following modules have been detached from the trunk source tree so far and they are used in portal as thirdparty libraries:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-common"&gt;common&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-identity"&gt;identity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-web/"&gt;web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-portlet"&gt;portlet&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;Basically it is about modularizing the code base and make it container agnostic. As a result, we now have continuous runs of these modules test suites against JBoss AS 4.2.0.GA, JBoss AS 4.2.1.GA and Tomcat 6. We plan to add JBoss 5 and Tomcat 5.5 very soon to the matrix.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Interoperability with other portal servers&lt;/b&gt;&lt;p&gt;This effort is still in its early stages. We have started doing some deeper testing of &lt;acronym title="Web Services for Remote Portlets"&gt;WSRP&lt;/acronym&gt; interoperability with BEA portal server. We plan to try to make it part of a continuous run and include more vendors as well. This might prove tricky and the lack of a &lt;acronym title="Test Conformance Kit"&gt;TCK&lt;/acronym&gt; for &lt;acronym title="Web Services for Remote Portlets"&gt;WSRP&lt;/acronym&gt; makes interoperability testing rather dauting.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A portal is a key integration product for enterprise applications and it should be tested with the different products it integrates with. If you need a portal and you worry about how it will behave in your environment, a continuously run, well covering test suite is a major factor for your peace of mind. QA is a necessary evil and, as you can see, we are serious about it. How does &lt;strong&gt;your&lt;/strong&gt; current portal compare (if you're not already using &lt;a href="http://labs.jboss.com/jbossportal/"&gt;JBoss Portal&lt;/a&gt;, that is ^_^)?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-3585701030020418540?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/3585701030020418540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=3585701030020418540' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3585701030020418540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/3585701030020418540'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/09/how-does-your-portal-qa-compare.html' title='How does your portal QA compare ?'/><author><name>Prabhat Jha</name><uri>http://www.blogger.com/profile/18220849795910855444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-7747309232544053003</id><published>2007-09-14T13:21:00.000+02:00</published><updated>2007-09-14T16:43:08.420+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='wsrp'/><title type='text'>Specifications blues...</title><content type='html'>&lt;p&gt;I am responsible for our &lt;acronym title="Web Services for Remote Portlets"&gt;WSRP&lt;/acronym&gt; implementation and it's been challenging at times. The basics of the specification is easy enough but, as usual, the devil is in the details.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Take for example what I'm currently working on: support for file uploading (i.e. forms that use the &lt;code&gt;multipart/form-data enctype&lt;/code&gt;). The specification is far from clear on how it's supposed to be handled. On one side, you have form parameters, which are the parsed parameters in a form (with a &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt; MIME type). On the other side, you have upload contexts which are, according to the &lt;a href="http://www.oasis-open.org/committees/download.php/3343/oasis-200304-wsrp-specification-1.0.pdf"&gt;specification&lt;/a&gt;: &lt;i&gt;an optional field where mime types not parsed into &lt;code&gt;formParameters&lt;/code&gt; are placed for transfer to the Producer&lt;/i&gt;. How's that for not explicit?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Then you take a look at the &lt;code&gt;UploadContext&lt;/code&gt; type and you see that there are two required fields, &lt;code&gt;mimeType&lt;/code&gt; and &lt;code&gt;uploadData&lt;/code&gt;. &lt;code&gt;mimeType&lt;/code&gt; is the MIME type of what is in the &lt;code&gt;uploadData&lt;/code&gt;. Alright, clear enough, but what is supposed to go in &lt;code&gt;uploadData&lt;/code&gt;? Well, according to the spec: &lt;i&gt;a binary data blob that is being uploaded&lt;/i&gt;!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are so many ways you could write code that conforms to this rather vague specification that it's not even funny: do you put the whole form data as a binary blob (similarly to what is done in the portlet specification) or do you use one &lt;code&gt;UploadContext&lt;/code&gt; per file being uploaded? Do you include any of the form metadata in the blob? Far from clear!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The approach that I first took was to split each file into its own &lt;code&gt;UploadContext&lt;/code&gt;, including only the file data in the &lt;code&gt;uploadData&lt;/code&gt; field. However, by doing that, I quickly realized that some of the form metadata is lost in the process: when the producer receives the interaction parameters, there is no way to know which &lt;code&gt;uploadData&lt;/code&gt; was associated with which form field. So I was stumped for a while. Julien pointed me to a &lt;a href="http://www.oasis-open.org/archives/wsrp/200607/msg00040.html"&gt;message&lt;/a&gt; on the WSRP mailing list archive, showing that I wasn't the only one confused with the issue (note, by the way, that the thread didn't resolve the issue): the optional field &lt;code&gt;mimeAttributes&lt;/code&gt;, which, according to the specification, are &lt;i&gt;MIME attributes that are not represented elsewhere&lt;/i&gt; could potentially offer a solution. How helpful! What are those MIME attributes is not clear, though, according to the message, they might be used to contain the needed metadata. How exactly is still a mystery! Note also that none of this in actually mentioned in the specification.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;More googling resulted in finding a post on &lt;acronym title="MicroSoft Developer Network"&gt;MSDN&lt;/acronym&gt; where I found this gem:&lt;/p&gt;&lt;br /&gt;&lt;blockquote url="http://msdn.microsoft.com/msdnmag/issues/06/02/WSRP/"&gt;The specification for uploading binary data for WSRP is a bit unclear. The technique that has been adopted by most vendors is to pass the MIME contents, derived directly from a browser post operation, into the uploadData byte array with the MIME type defined as multipart/form-data. The MIME contents include all the attributes and form data, in addition to the binary data.&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;At this point, I'm wondering how I am supposed to figure this out when I work mostly off of the specification. Why isn't this clearly explained in it?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If that was the only ambiguous/unclear part of the specification, it wouldn't be too much of a problem. However, there are many such instances where there is a lot of room for interpretation. It wouldn't be as bad if there was a decent &lt;acronym title="Test Conformance Kit"&gt;TCK&lt;/acronym&gt; but this is not the case: &lt;a href="http://wsrptk.sourceforge.net/"&gt;WSRPtk&lt;/a&gt; is pretty much dead, almost impossible to work with and doesn't have good coverage. Sometimes working with the specification it feels like the big boys did their thing, discussed issues and no traces (or close to none) were left of it and the actual specification was written as an afterthought, just the bare minimum to work with (which is feasible only if you interpret the things the way they are supposed to).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And people wonder why standards are not more widely adopted or supposedly compatible implementation turn out not so compatible after all... &amp;lt;sigh&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-7747309232544053003?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/7747309232544053003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=7747309232544053003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7747309232544053003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/7747309232544053003'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/09/specifications-blues.html' title='Specifications blues...'/><author><name>Christophe Laprun</name><uri>http://www.blogger.com/profile/07919528571694590136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_jo0ES8FJmhQ/SkniYKi8XBI/AAAAAAAAAAM/qHwmVunidKk/S220/smug.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-849276358463071982</id><published>2007-09-05T09:19:00.000+02:00</published><updated>2007-09-05T18:17:24.911+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal Modularization</title><content type='html'>We started a few weeks ago to modularize the portal code base. There are several good reasons  to do it and it was probably the best time to do it, i.e just after the 2.6 major release.&lt;br /&gt;&lt;br /&gt;Probably the best reason is that we want now to decouple the modules life cycle from the portal life cycle. It makes code easier to maintain as it decouples the branching and versionning from the portal, it also improves greatly the QA since the portal releases can reuse tested and released modules.&lt;br /&gt;&lt;br /&gt;Part of this effort is the creation of a new module called "web" whose goal is to provide an abstraction layer for non portable servlet container features. Indeed portal and portlet applications require some obscure modifications operated at the web application level and today there is no universal and portable way to achieve it. There are several ways to achieve it and this module aims to define a service provider interface (SPI) that can be implemented by servlet containers. We have an universal implementation that will work with any servlet container above 2.5 version of the spec at the expense of requiring a pre modification of the web application by the developer. For Tomcat we have developped a transparent solution that do not require modification of the web application. We will of course provide more implementations in the future depending on the need to integrate with other web containers.&lt;br /&gt;&lt;br /&gt;The portlet container module has also been extracted and now the testsuite passes fully in Tomcat 6 which is a great news for us. The portlet container test suite is built on top of the web module and the new JBoss Microcontainer 2.0 (Beta3).&lt;br /&gt;&lt;br /&gt;Bolek has extracted the identity module and has integrated the work done by Sohil at the SSO level in the same module.&lt;br /&gt;&lt;br /&gt;This modularization will help the Portal Team to build the next generation of JBoss Portal that will be container agnostic and based on top of JBoss Microcontainer framework!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-849276358463071982?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/849276358463071982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=849276358463071982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/849276358463071982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/849276358463071982'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/09/jboss-portal-modularization.html' title='JBoss Portal Modularization'/><author><name>Julien Viet</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-946006273304365617</id><published>2007-08-28T13:52:00.000+02:00</published><updated>2007-08-30T09:24:47.231+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>User portlet UI improvements</title><content type='html'>Beside many other improvements in JBoss Portal 2.6.2 there will be also improvements for the user and role management UI. The most noticeable change is that we are going to provide two Portlets - one for actions related to the end user and one for administration of users and roles. That means we splitted the functionalities of the User Portlet and combined the user management functionalities with role managment in a new portlet, which will increase the easy of use and reusability.&lt;br /&gt;&lt;br /&gt;The following list is a rough overview of further improvements&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lost password&lt;/span&gt;&lt;br /&gt;If you forget your password it is now possible to retrieve a new password by email&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Captcha support&lt;/span&gt;&lt;br /&gt;We added JCaptcha to validate the registration process.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_hQB_exkNeF4/RtZwgsJQEAI/AAAAAAAAABc/fyC4v4DPblc/s1600-h/jbp_id_captcha.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_hQB_exkNeF4/RtZwgsJQEAI/AAAAAAAAABc/fyC4v4DPblc/s320/jbp_id_captcha.png" alt="" id="BLOGGER_PHOTO_ID_5104390934579122178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;jBPM integration&lt;/span&gt;&lt;br /&gt;The subscription of users can be bound to a jBPM workflow to validate the email and approve the registration by the admin. Out of the box we provide some common subscription modes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;automatic subscription (no jBPM)&lt;/li&gt;&lt;li&gt;validate email&lt;/li&gt;&lt;li&gt;validate email and approve by admin&lt;/li&gt;&lt;/ul&gt;Pending registrations can be approved or rejected within the User management portlet. Furthermore - using jBPM  enables you to extend the workflow or define custom actions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_hQB_exkNeF4/RtZwosJQEBI/AAAAAAAAABk/X_NqervFj3A/s1600-h/jbp_id_pending.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_hQB_exkNeF4/RtZwosJQEBI/AAAAAAAAABk/X_NqervFj3A/s320/jbp_id_pending.png" alt="" id="BLOGGER_PHOTO_ID_5104391072018075666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Last but not least - the new User Portlet is based on metadata exposed by the identity services in order to provide more flexible customizations.&lt;br /&gt;&lt;br /&gt;Work in progress so stay tuned..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-946006273304365617?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/946006273304365617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=946006273304365617' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/946006273304365617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/946006273304365617'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/08/user-portlet-ui-improvements.html' title='User portlet UI improvements'/><author><name>Emanuel Muckenhuber</name><uri>http://www.blogger.com/profile/09431266680787939796</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_hQB_exkNeF4/RtZwgsJQEAI/AAAAAAAAABc/fyC4v4DPblc/s72-c/jbp_id_captcha.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5825647263710028921</id><published>2007-08-14T18:45:00.000+02:00</published><updated>2007-08-14T18:45:04.701+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>JBoss Portal takes an unbiased stance on Single Sign On (Part 2)</title><content type='html'>Continuing with our series on Single Sign On Integration with JBoss Portal, this post will focus on integration of the CAS Single Sign On Framework with JBoss Portal&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAS Introduction&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;CAS is an authentication system originally created by Yale University to provide a trusted way for an application to authenticate a user. CAS became a JA-SIG project in December 2004. Details about the projects can be found at &lt;a href="http://www.ja-sig.org/products/cas/"&gt;http://www.ja-sig.org/products/cas/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAS Architecture&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;CAS system at its core consists of a &lt;span style="font-weight: bold;"&gt;Central Authentication Server&lt;/span&gt;. This Server is responsible for performing authentication for users trying to use a collection of web applications. These web applications belong to what we call a circle of trust. When the user is authenticated against the Central Authentication Server for any one of these web applications, the user is automatically authenticated on all the other web applications in this circle of trust, resulting in what we call Single Sign On.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A Typical CAS Interaction&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A user visits one of the web applications and tries to authenticate&lt;/li&gt;&lt;li&gt;The CAS Agent on this web application performs a browser redirect to the CAS Server&lt;/li&gt;&lt;li&gt;The user provides Login credentials to the CAS Server&lt;/li&gt;&lt;li&gt;After the user is successfully authenticated, the CAS Server issues an opaque ticket for the user, stored as a cookie on his browser&lt;/li&gt;&lt;li&gt;The CAS Server then redirects back to the web application&lt;/li&gt;&lt;li&gt;The CAS Agent on this web application then is responsible to creating an authenticated session for this user&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;CAS Integration Components and JBoss Portal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The out-of-the-box integration of CAS with JBoss Portal consists of the following components:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A CAS server which is a war file&lt;/li&gt;&lt;li&gt;A JBoss Portal CAS Authentication Handler. This is an Authentication Handler that plugs into the CAS Server. The CAS Server uses this Authentication Handler to process its authentication requests. This Authentication Handler uses the JBoss Portal Identity API to perform the authentication. The use of this API decouples the Authentication Handler from the actual Identity Store such as Relational Database, LDAP Repository, etc&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A JBoss Portal CAS Authentication Valve. This is a CAS Agent that is responsible for handling all CAS interactions between the web application, and CAS Server. It is also responsible for created automatic authenticated JBoss Portal sessions in case of successful Single Sign On&lt;/li&gt;&lt;/ul&gt;Technical Details on how to get this integration of JBoss Portal with CAS up and running can be found at &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=CASSSOFrameworkIntegration"&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=CASSSOFrameworkIntegration&lt;/a&gt;&lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=CASSSOFrameworkIntegration"&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 3 of this series will cover the next Single Sign On Framework, JOSSO&lt;br /&gt;&lt;br /&gt;Stay Tuned !!!!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5825647263710028921?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5825647263710028921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5825647263710028921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5825647263710028921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5825647263710028921'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/08/jboss-portal-takes-unbiased-stance-on.html' title='JBoss Portal takes an unbiased stance on Single Sign On (Part 2)'/><author><name>Sohil</name><uri>http://www.blogger.com/profile/02729977008610490091</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8148764803887665102.post-5484142660192371552</id><published>2007-08-03T00:11:00.002+02:00</published><updated>2007-08-03T00:12:56.864+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sso'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><title type='text'>Sun Directory Server in JBoss Portal QA</title><content type='html'>We are in the middle of the summer but lots of things are happening in the project. After a recent &lt;a href="http://jbossportal.blogspot.com/2007/07/jboss-portal-261ga-released.html"&gt;2.6.1 release&lt;/a&gt; the whole team is working towards delivering an even more robust and improved 2.6.2.&lt;br /&gt;&lt;br /&gt;Since yesterday JBoss Portal 2.6 daily testsuite is running against additional LDAP server instance- Sun Directory Server 6.1. It will be officially supported in the next release. This is part our plan to support all major LDAP servers and &lt;a href="http://jbossportal.blogspot.com/2007/07/jboss-portal-takes-unbiased-stance-on.html"&gt;SSO solutions&lt;/a&gt; on the market.&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8148764803887665102-5484142660192371552?l=jbossportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jbossportal.blogspot.com/feeds/5484142660192371552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8148764803887665102&amp;postID=5484142660192371552' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5484142660192371552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8148764803887665102/posts/default/5484142660192371552'/><link rel='alternate' type='text/html' href='http://jbossportal.blogspot.com/2007/08/sun-directory-server-in-jboss-portal-qa.html' title='Sun Directory Server in JBoss Portal QA'/><author><name>Bolesław Dawidowicz</name><uri>http://www.blogger.com/profile/09178797216278734614</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
