<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8148764803887665102</atom:id><lastBuildDate>Thu, 17 Jul 2008 17:59:25 +0000</lastBuildDate><title>JBoss Portal</title><description /><link>http://blog.jboss-portal.org/</link><managingEditor>noreply@blogger.com (Julien Viet)</managingEditor><generator>Blogger</generator><openSearch:totalResults>78</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/jbossportal" type="application/rss+xml" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-3839189371643916806</guid><pubDate>Tue, 15 Jul 2008 22:10:00 +0000</pubDate><atom:updated>2008-07-16T00:33:04.068+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">demo</category><title>Most impressive Javascript I've ever seen</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/336507998" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/07/most-impressive-javascript-ive-ever.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-7694388825907680582</guid><pubDate>Mon, 14 Jul 2008 13:54:00 +0000</pubDate><atom:updated>2008-07-14T16:06:08.416+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><category domain="http://www.blogger.com/atom/ns#">EPP</category><title>Daiwa Securities America customer reference</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/335137189" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/07/daiwa-securities-america-customer.html</link><author>noreply@blogger.com (Thomas Heute)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8661076696086348256</guid><pubDate>Tue, 08 Jul 2008 11:27:00 +0000</pubDate><atom:updated>2008-07-08T15:23:13.418+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><title>JBoss Portal 2.7 Alpha released</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/329817367" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/07/jboss-portal-27-alpha-released.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8907966375642741058</guid><pubDate>Mon, 07 Jul 2008 13:18:00 +0000</pubDate><atom:updated>2008-07-08T13:52:52.229+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bridge</category><category domain="http://www.blogger.com/atom/ns#">JSF</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portletbridge</category><title>JSF in a portlet has never been this easy!</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/329134308" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/07/jsf-in-portlet-has-never-been-this-easy.html</link><author>noreply@blogger.com (Wesley Hales)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-427093766328094690</guid><pubDate>Tue, 17 Jun 2008 20:22:00 +0000</pubDate><atom:updated>2008-07-08T13:51:26.818+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">EC2</category><title>JBoss Portal on Amazon EC2</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/316270132" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/06/jboss-portal-on-amazon-ec2.html</link><author>noreply@blogger.com (Prabhat Jha)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-2189746470724172315</guid><pubDate>Fri, 13 Jun 2008 17:00:00 +0000</pubDate><atom:updated>2008-06-13T19:10:15.512+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><title>JBoss Portlet Container 2.0 GA Release</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/311281823" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/06/jboss-portlet-container-20-ga-release.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-9115767038621408207</guid><pubDate>Tue, 10 Jun 2008 21:39:00 +0000</pubDate><atom:updated>2008-06-10T23:43:44.666+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">conference</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><category domain="http://www.blogger.com/atom/ns#">talk</category><title>JBoss Portal @ Rotterdam JBug</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/309136601" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/06/jboss-portal-rotterdam-jbug.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-7449345751797935728</guid><pubDate>Tue, 10 Jun 2008 21:14:00 +0000</pubDate><atom:updated>2008-06-10T23:18:52.138+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">GWT</category><category domain="http://www.blogger.com/atom/ns#">dev</category><title>How to get the tag name of a DOM element with GWT?</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/309117404" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/06/how-to-get-tag-name-of-dom-element-with.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6079114464435255806</guid><pubDate>Sun, 01 Jun 2008 18:55:00 +0000</pubDate><atom:updated>2008-06-01T20:57:40.045+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><title>Can the Servlet 3.0 improve the development of Portlets?</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/302498522" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/06/can-servlet-30-improve-development-of.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-1098717029258164433</guid><pubDate>Tue, 13 May 2008 12:29:00 +0000</pubDate><atom:updated>2008-05-13T17:56:38.817+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portal</category><title>JBoss Portal 2.6.5.GA released</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/289528828" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/05/jboss-portal-265ga-released.html</link><author>noreply@blogger.com (Thomas Heute)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8529665083703957702</guid><pubDate>Thu, 08 May 2008 11:38:00 +0000</pubDate><atom:updated>2008-05-08T14:05:59.556+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portal</category><title>When will Sun acquire Liferay ?</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/286024658" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/05/when-will-sun-acquire-liferay.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6751062626649437833</guid><pubDate>Mon, 05 May 2008 13:58:00 +0000</pubDate><atom:updated>2008-05-05T16:04:42.782+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">talk</category><title>JBoss Portal presentation</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/283957461" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/05/jboss-portal-presentation.html</link><author>noreply@blogger.com (Thomas Heute)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6282098667102029683</guid><pubDate>Sun, 04 May 2008 12:04:00 +0000</pubDate><atom:updated>2008-05-04T14:09:13.764+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">GWT</category><category domain="http://www.blogger.com/atom/ns#">dev</category><title>GWT hosted mode on Leopard tip</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/283281729" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/05/gwt-hosted-mode-on-leopard-tip.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-2995705547216986629</guid><pubDate>Sat, 03 May 2008 10:56:00 +0000</pubDate><atom:updated>2008-05-05T01:28:52.058+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">GWT</category><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">ajax</category><title>GWT in-place-editor</title><description>&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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/282691760" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/05/gwt-in-place-editor.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6046520448010290897</guid><pubDate>Sun, 20 Apr 2008 16:09:00 +0000</pubDate><atom:updated>2008-04-20T18:15:19.392+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">rant</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><title>JBoss Maven repository mess</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/274147521" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/04/jboss-maven-repository-mess.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-4854871401599188466</guid><pubDate>Fri, 18 Apr 2008 21:19:00 +0000</pubDate><atom:updated>2008-04-18T23:49:51.039+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><title>JBoss Portal Face To Face Meeting #1</title><description>&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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/273169022" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/04/jboss-portal-face-to-face-meeting-1.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-5482704080630088156</guid><pubDate>Thu, 10 Apr 2008 13:04:00 +0000</pubDate><atom:updated>2008-04-25T21:44:54.181+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bridge</category><category domain="http://www.blogger.com/atom/ns#">JSF</category><category domain="http://www.blogger.com/atom/ns#">sso</category><category domain="http://www.blogger.com/atom/ns#">richfaces</category><category domain="http://www.blogger.com/atom/ns#">identity</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">seam</category><title>JBoss Portlet Bridge Beta2 Released</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/267824048" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/04/jboss-portlet-bridge-beta2-released.html</link><author>noreply@blogger.com (Wesley Hales)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6226894744204986476</guid><pubDate>Mon, 31 Mar 2008 13:45:00 +0000</pubDate><atom:updated>2008-03-31T16:03:52.921+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><title>JBoss Portlet Container 2.0 Candidate Release 2</title><description>&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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/261298604" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/jboss-portlet-container-20-candidate_31.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-5961989014453939147</guid><pubDate>Fri, 28 Mar 2008 21:27:00 +0000</pubDate><atom:updated>2008-03-28T22:45:07.014+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><title>JBoss Portal 2.7 status</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/259877409" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/jboss-portal-27-status.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8468621988998571857</guid><pubDate>Thu, 27 Mar 2008 10:13:00 +0000</pubDate><atom:updated>2008-03-27T11:32:46.979+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">contribution</category><category domain="http://www.blogger.com/atom/ns#">dev</category><category domain="http://www.blogger.com/atom/ns#">community</category><title>JBoss Portal Summer of Contribution</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/258893082" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/jboss-portal-summer-of-contribution.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-470285939940776485</guid><pubDate>Wed, 19 Mar 2008 15:23:00 +0000</pubDate><atom:updated>2008-03-19T16:23:38.604+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">conference</category><category domain="http://www.blogger.com/atom/ns#">talk</category><title>JBoss Portal talk at Austin JUG</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/254343855" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/jboss-portal-talk-at-austin-jug.html</link><author>noreply@blogger.com (Prabhat Jha)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8995437935264099769</guid><pubDate>Wed, 12 Mar 2008 10:30:00 +0000</pubDate><atom:updated>2008-03-12T11:25:10.118+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bridge</category><category domain="http://www.blogger.com/atom/ns#">JSF</category><category domain="http://www.blogger.com/atom/ns#">richfaces</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><category domain="http://www.blogger.com/atom/ns#">ui</category><title>RichFaces Portlet Archetype</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/250044617" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/richfaces-portlet-archetype.html</link><author>noreply@blogger.com (Wesley Hales)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-3927381486109713471</guid><pubDate>Mon, 10 Mar 2008 09:20:00 +0000</pubDate><atom:updated>2008-03-10T10:21:02.180+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">portal</category><title>The Rise of the Portlet Containers</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/248772003" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/rise-of-portlet-containers.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-6108903631918002960</guid><pubDate>Wed, 05 Mar 2008 23:54:00 +0000</pubDate><atom:updated>2008-03-06T01:18:46.138+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><category domain="http://www.blogger.com/atom/ns#">jboss</category><title>JBoss Portlet Container 2.0 Candidate Release 1</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/246440034" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/jboss-portlet-container-20-candidate.html</link><author>noreply@blogger.com (Julien Viet)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8148764803887665102.post-8767082809395543712</guid><pubDate>Wed, 05 Mar 2008 10:55:00 +0000</pubDate><atom:updated>2008-03-05T12:01:09.364+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">release</category><category domain="http://www.blogger.com/atom/ns#">portlet</category><title>Portlet 2.0 specification is approved</title><description>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;img src="http://feeds.feedburner.com/~r/jbossportal/~4/246057830" height="1" width="1"/&gt;</description><link>http://blog.jboss-portal.org/2008/03/portlet-20-specification-is-approved.html</link><author>noreply@blogger.com (Julien Viet)</author></item></channel></rss>
