<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <title>Neil Griffin</title>
  <link rel="alternate" href="http://www.portletfaces.org/web/neil/blog/-/blogs/rss" />
  <subtitle>Neil Griffin</subtitle>
  <entry>
    <title>Lightning fast portlet development with JRebel</title>
    <link rel="alternate" href="http://www.portletfaces.org/web/neil/blog/-/blogs/lightning-fast-portlet-development-with-jrebel" />
    <author>
      <name>Neil Griffin</name>
    </author>
    <id>http://www.portletfaces.org/web/neil/blog/-/blogs/lightning-fast-portlet-development-with-jrebel</id>
    <updated>2011-07-22T22:16:38Z</updated>
    <published>2011-07-22T22:16:11Z</published>
    <summary type="html">&lt;p&gt;
	Back in April of this year I had the opportunity to speak at the &lt;a href="http://www.con-fess.com/"&gt;CON-FESS&lt;/a&gt; conference in Vienna, Austria. One of the exhibitors there was &lt;a href="http://www.zeroturnaround.com"&gt;zeroturnaround.com&lt;/a&gt; and I had the privilege of sitting next to founder &lt;a href="http://www.zeroturnaround.com/about-us/"&gt;Jevgeni Kabanov&lt;/a&gt;&amp;nbsp;over dinner one night.&lt;/p&gt;
&lt;p&gt;
	Jevgeni described the benefits of &lt;a href="http://www.zeroturnaround.com/jrebel/"&gt;JRebel&lt;/a&gt;, a&amp;nbsp;JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. Needless to say, redeploying WARs is part of the very fabric of a Liferay portlet developer&amp;#39;s life, so I knew that I had to give this product a try with my next &lt;a href="http://www.icefaces.org"&gt;ICEFaces 2&lt;/a&gt; portlet with &lt;a href="http://www.portletfaces.org/projects/portletfaces-bridge"&gt;PortletFaces Bridge&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	and &lt;strong&gt;to my utter amazement... IT WORKED!!!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Simply put, &lt;strong&gt;this product is a MUST HAVE for Liferay portlet developers&lt;/strong&gt;. I&amp;#39;m hooked! Over the past 6 years of portlet development, this product could have saved me COUNTLESS hours of development time waiting for redeploys.&lt;/p&gt;
&lt;p&gt;
	The &lt;a href="http://www.zeroturnaround.com/jrebel/documentation/"&gt;JRebel documentation&lt;/a&gt; is quite good, but here are some quick instructions for how to get started with JRebel and the Liferay+Tomcat bundle:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		&lt;a href="http://www.zeroturnaround.com/jrebel/current/"&gt;Download JRebel&lt;/a&gt; (30 day free trial)&lt;/li&gt;
	&lt;li&gt;
		Install JRebel to it&amp;#39;s default location. For example, on the Mac: /Applications/ZeroTurnaround/JRebel&lt;/li&gt;
	&lt;li&gt;
		Set the REBEL_HOME environment variable. On the Mac, I find it&amp;#39;s best to do this inside the&amp;nbsp;$HOME/.MacOSX/environment.plist file:
		&lt;pre&gt;
		&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;
&amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt; &amp;lt;dict&amp;gt;
&amp;lt;key&amp;gt;REBEL_HOME&amp;lt;/key&amp;gt;
&amp;lt;string&amp;gt;/Applications/ZeroTurnaround/JRebel&amp;lt;/string&amp;gt;
&amp;lt;/dict&amp;gt;
&amp;lt;/plist&amp;gt;&lt;/pre&gt;
	&lt;/li&gt;
	&lt;li&gt;
		On Mac, add the following to the LIFERAY_HOME/tomcat/bin/setenv.sh script:
		&lt;pre&gt;
		-javaagent:$REBEL_HOME/jrebel.jar&lt;/pre&gt;
	&lt;/li&gt;
	&lt;li&gt;
		On Windows, add the following to the LIFERAY_HOME/tomcat/bin/setenv.bat file:
		&lt;pre&gt;
		-javaagent:%REBEL_HOME%\jrebel.jar&lt;/pre&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Create a &lt;a href="http://www.zeroturnaround.com/reference-manual/app.html#app-3.1"&gt;rebel.xml&lt;/a&gt; file that will be deployed in the runtime classpath of the WAR:Note that if you install the JRebel plugin for &lt;a href="http://www.zeroturnaround.com/reference-manual/ide.html#ide-2.2"&gt;Eclipse&lt;/a&gt;, &lt;a href="http://www.zeroturnaround.com/reference-manual/app.html#app-3.3"&gt;IntelliJ 8/9&lt;/a&gt;, &lt;a href="http://www.zeroturnaround.com/reference-manual/app.html#app-3.4"&gt;IntelliJ X&lt;/a&gt;, or &lt;a href="http://www.zeroturnaround.com/reference-manual/ide.html#ide-2.5"&gt;NetBeans&lt;/a&gt;) you can right click on the project and have the IDE generate the file. You can also generate the rebel.xml file with a &lt;a href="http://www.zeroturnaround.com/reference-manual/app.html#app-3.6"&gt;Maven&lt;/a&gt; goal.
		&lt;ul&gt;
			&lt;li&gt;
				&lt;strong&gt;Maven&lt;/strong&gt;: src/main/resources/rebel.xml&lt;/li&gt;
			&lt;li&gt;
				&lt;strong&gt;Liferay Plugins SDK&lt;/strong&gt;: docroot/WEB-INF/src/rebel.xml&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Start Tomcat with the liferay/tomcat/bin/startup.sh script (startup.bat on Windows)&lt;/li&gt;
	&lt;li&gt;
		Deploy the WAR to the Liferay /deploy folder&lt;/li&gt;
	&lt;li&gt;
		Make some Java code changes to your app and click Save in your IDE&lt;/li&gt;
	&lt;li&gt;
		Reload your browser, and voila! Instant changes! No redeploy!&lt;/li&gt;
&lt;/ol&gt;</summary>
    <dc:creator>Neil Griffin</dc:creator>
    <dc:date>2011-07-22T22:16:11Z</dc:date>
  </entry>
  <entry>
    <title>Working with JSF's &lt;f:convertDateTime /&gt; and java.util.Date</title>
    <link rel="alternate" href="http://www.portletfaces.org/web/neil/blog/-/blogs/working-with-jsf-s-&lt;f:convertdatetime-&gt;-and-java-util-date" />
    <author>
      <name>Neil Griffin</name>
    </author>
    <id>http://www.portletfaces.org/web/neil/blog/-/blogs/working-with-jsf-s-&lt;f:convertdatetime-&gt;-and-java-util-date</id>
    <updated>2010-07-30T20:50:39Z</updated>
    <published>2010-07-30T20:08:04Z</published>
    <summary type="html">&lt;p&gt;During a recent class I taught on ICEfaces, one of my students asked me why the &lt;ice:selectinputdate&gt;&lt;/ice:selectinputdate&gt; calendar was often one day off from what got posted back to the model managed-bean setter. &lt;br /&gt; &lt;br /&gt; &lt;strong&gt;For example&lt;/strong&gt;: &lt;br /&gt; &lt;code&gt;&lt;!-- Facelets XHTML markup: --&gt;// Facelets XHTML Markup:&lt;br /&gt; &amp;lt;ice:selectInputDate value=&amp;quot;#{modelManagedBean.dateOfBirth}&amp;quot;&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;f:convertDateTime pattern=&amp;quot;MM/dd/yyyy&amp;quot; /&amp;gt;&lt;br /&gt; &lt;/code&gt;&lt;code&gt;&amp;lt;/ice:selectInputDate&amp;gt;&lt;br type="_moz" /&gt; &lt;/code&gt;&lt;code&gt;&lt;br /&gt; // Java Code&lt;br /&gt; import java.util.Date; &lt;br /&gt; &lt;/code&gt;&lt;code&gt; public class ModelManagedBean {&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;private Date dateOfBirth;&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;public Date getDateOfBirth()&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;return dateOfBirth;&lt;br /&gt; &amp;nbsp;&amp;nbsp;}&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;public Date setDateOfBirth(Date dateOfBirth)&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;SimpleDateFormat dateFormat = new SimpleDateFormat(&amp;quot;MM/dd/yyyy hh:mm z&amp;quot;);&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;// The value printed here during postback was often wrong by 1 day&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;dateOfBirth=&amp;quot; + dateFormat.format(dateOfBirth));&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;this.dateOfBirth = dateOfBirth;&lt;br /&gt; &amp;nbsp;&amp;nbsp;}&lt;br /&gt; } &lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Basically, the JSF&amp;nbsp;&lt;a href="https://javaserverfaces.dev.java.net/nonav/docs/2.0/javadocs/javax/faces/convert/DateTimeConverter.html"&gt;DateTimeConverter Javadoc&lt;/a&gt; states that if the timeZone attribute is not specified, then the default is GMT. But when you create an instance of java.text.SimpleDateFormat, the default TimeZone is equal to TimeZone.getDefault() which (for me) was EST.  So the solution I explained to my students was to make sure we were comparing apples-to-apples the whole way through, by using GMT for the SimpleDateFormat printing, like this: &lt;br /&gt; &lt;br /&gt; &lt;code&gt;dateFormat.setTimeZone(TimeZone.getTimeZone(&amp;quot;GMT&amp;quot;)); &lt;br /&gt; &lt;/code&gt; &lt;br /&gt; And of course, I think it's the recommended practice to run your application server JVM in GMT. That would eliminate the problem entirely. But when you're using Eclipse and Tomcat for development, that's typically not the case.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <dc:creator>Neil Griffin</dc:creator>
    <dc:date>2010-07-30T20:08:04Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.0 Complete Reference, with JSF Portlet Appendix</title>
    <link rel="alternate" href="http://www.portletfaces.org/web/neil/blog/-/blogs/jsf-2-0-complete-reference-with-jsf-portlet-appendix" />
    <author>
      <name>Neil Griffin</name>
    </author>
    <id>http://www.portletfaces.org/web/neil/blog/-/blogs/jsf-2-0-complete-reference-with-jsf-portlet-appendix</id>
    <updated>2010-07-30T20:51:19Z</updated>
    <published>2010-02-19T19:34:54Z</published>
    <summary type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;table&gt;     &lt;tbody&gt;         &lt;tr&gt;             &lt;td style="vertical-align: top;"&gt;&lt;a href="http://www.amazon.com/JavaServer-Faces-2-0-Complete-Reference/dp/0071625097/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1265194167&amp;amp;sr=8-2"&gt;&lt;img width="200" alt="JSF 2.0 Complete Reference with JSF Portlet Appendix" src="http://jsfcompref.appspot.com/faces/javax.faces.resource/jsfcompref-cover-front.jpg?ln=style" /&gt;&lt;/a&gt;&lt;/td&gt;             &lt;td&gt;&lt;p&gt;I'm pleased to announce the new &lt;a href="http://www.amazon.com/JavaServer-Faces-2-0-Complete-Reference/dp/0071625097/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1265194167&amp;amp;sr=8-2"&gt;JSF 2.0 Complete Reference&lt;/a&gt; book by Ed Burns and Chris Schalk, published by McGraw-Hill. During the planning stages, Ed asked me to be a contributing author and help bring the first edition of the book up-to-date with JSF 2.0, and also to write a&amp;nbsp;&lt;strong&gt;JSF Portlet Appendix&lt;/strong&gt;.&lt;/p&gt;             &lt;p&gt;As listed in the Table of Contents, Appendix A discusses the following Topics:&lt;/p&gt;             &lt;ul&gt;                 &lt;li&gt;Overview of Portlet 1.0 and 2.0                 &lt;ul&gt;                     &lt;li&gt;Portlet Lifecycle&lt;/li&gt;                     &lt;li&gt;Portlet Modes&lt;/li&gt;                     &lt;li&gt;Portlet Window States&lt;/li&gt;                     &lt;li&gt;Portlet Preferences&lt;/li&gt;                     &lt;li&gt;Inter-Portlet Communication&lt;/li&gt;                 &lt;/ul&gt;&lt;/li&gt;                 &lt;li&gt;JSF Portlet Development                 &lt;ul&gt;                     &lt;li&gt;JSF Portlet Bridges&lt;/li&gt;                     &lt;li&gt;JSF Portlet View Handlers&lt;/li&gt;                     &lt;li&gt;JSF ExernalContext and the Portlet API&lt;/li&gt;                     &lt;li&gt;JSF and Portlet Preferences&lt;/li&gt;                     &lt;li&gt;JSF and Inter-Portlet Communication&lt;/li&gt;                 &lt;/ul&gt;&lt;/li&gt;                 &lt;li&gt;ICEfaces Portlet Development                 &lt;ul&gt;                     &lt;li&gt;ICEfaces Ajax with Partial Submit&lt;/li&gt;                     &lt;li&gt;ICEfaces Direct-to-DOM RenderKit&lt;/li&gt;                     &lt;li&gt;The ice:portlet Tag&lt;/li&gt;                     &lt;li&gt;ICEfaces 1.x Portlet Bridge&lt;/li&gt;                     &lt;li&gt;ICEfaces 1.x D2DFaceletViewHandler&lt;/li&gt;                     &lt;li&gt;ICEfaces 1.x and Portlet Window States&lt;/li&gt;                     &lt;li&gt;ICEfaces Portlets and Concurrent DOM Views&lt;/li&gt;                     &lt;li&gt;ICEfaces 1.x Extended Request Scope&lt;/li&gt;                     &lt;li&gt;ICEfaces Ajax Push and Inter-Portlet Communication&lt;/li&gt;                     &lt;li&gt;ICEfaces Themes and Portal Themes&lt;/li&gt;                     &lt;li&gt;ICEfaces Themes and Liferay Themes&lt;/li&gt;                     &lt;li&gt;ICEfaces Ajax Bridge and Liferay Portal&lt;/li&gt;                     &lt;li&gt;ICEfaces Portlets and Liferay Request Attributes&lt;/li&gt;                 &lt;/ul&gt;&lt;/li&gt;                 &lt;li&gt;PortletFaces                 &lt;ul&gt;                     &lt;li&gt;Downloading PortletFaces&lt;/li&gt;                     &lt;li&gt;PortletFacesContext&lt;/li&gt;                     &lt;li&gt;PortletFaces Tags&lt;/li&gt;                     &lt;li&gt;PortletFaces and Portlet Preferences&lt;/li&gt;                     &lt;li&gt;PortletFaces and Expression Language Additions&lt;/li&gt;                     &lt;li&gt;PortletFaces and Localization&lt;/li&gt;                     &lt;li&gt;Liferay Language Portlet Integration&lt;/li&gt;                     &lt;li&gt;Improved Integration Between Liferay and ICEfaces 1.x&lt;/li&gt;                 &lt;/ul&gt;&lt;/li&gt;             &lt;/ul&gt;             &lt;p&gt;This week (Feb 2nd to Feb 5th) Ed Burns &amp;amp; Chris Schalk will be helping to &lt;a href="http://www.coderanch.com/t/481095/JSF/java/Welcome-Ed-Burns-Chris-Schalk"&gt;answer questions about the new book at JavaRanch.&lt;/a&gt; In addition, JavaRanch will be giving away a free copy of the book.&lt;/p&gt;             &lt;p&gt;Finally I'd like to express my gratitude to &lt;a href="http://www.liferay.com"&gt;Liferay&lt;/a&gt;, &lt;a href="http://www.icesoft.com"&gt;ICEsoft&lt;/a&gt;, &lt;a href="http://www.mimacom.ch"&gt;Mimacom&lt;/a&gt;, and &lt;a href="http://www.tritonsvc.com"&gt;Triton&lt;/a&gt; for their generous support in making the JSF Portlet Appendix&amp;nbsp;possible.&lt;/p&gt;&lt;/td&gt;         &lt;/tr&gt;     &lt;/tbody&gt; &lt;/table&gt;</summary>
    <dc:creator>Neil Griffin</dc:creator>
    <dc:date>2010-02-19T19:34:54Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.0 + ICEfaces 2.0 + Portlet 2.0 = The PortetFaces Bridge</title>
    <link rel="alternate" href="http://www.portletfaces.org/web/neil/blog/-/blogs/jsf-2-0-icefaces-2-0-portlet-2-0-=-the-portetfaces-bridge" />
    <author>
      <name>Neil Griffin</name>
    </author>
    <id>http://www.portletfaces.org/web/neil/blog/-/blogs/jsf-2-0-icefaces-2-0-portlet-2-0-=-the-portetfaces-bridge</id>
    <updated>2010-02-19T19:33:30Z</updated>
    <published>2010-02-19T19:32:13Z</published>
    <summary type="html">&lt;p&gt;&lt;strong&gt;UPDATE#1:&lt;/strong&gt; PortletFaces Bridge &lt;a href="http://www.icefaces.org/main/resources/upcoming-webinars.iface?webinar=478643680"&gt;webinar&lt;/a&gt; took place on Thursday, Feb 11 2010 AD. &lt;a href="http://www.liferay.com/c/document_library/get_file?p_l_id=745520&amp;amp;groupId=11150&amp;amp;folderId=4618381&amp;amp;name=DLFE-31601.pdf"&gt;Click here to view the PDF slideshow&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE#2&lt;/strong&gt;: The source code is at Alpha1 status and can be checked out from SVN here:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://svn.portletfaces.org/svn/portletfaces/bridge/org.portletfaces.bridge.api/trunk/"&gt;http://svn.portletfaces.org/svn/portletfaces/bridge/org.portletfaces.bridge.api/trunk/&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://svn.portletfaces.org/svn/portletfaces/bridge/org.portletfaces.bridge.impl/trunk/"&gt;http://svn.portletfaces.org/svn/portletfaces/bridge/org.portletfaces.bridge.impl/trunk/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm working on a new project called the &lt;strong&gt;PortletFaces Bridge&lt;/strong&gt; which will enable the use of &lt;a href="http://www.javaserverfaces.org/"&gt;JSF 2.0&lt;/a&gt; within Portlet 2.0 compliant portals like Liferay 5.x. The bridge implements a subset of the features available in&amp;nbsp;&lt;a href="http://jcp.org/en/jsr/detail?id=329"&gt;JSR-329&lt;/a&gt;. Although the JSR-329 standard defines an API for a JSF 1.2 + Portlet 2.0 bridge, the PortletFaces Bridge is targeting JSF 2.0. Additionally, the bridge will facilitate usage of &lt;a href="http://wiki.icefaces.org/display/ICE/ICEfaces-2.0.0-Alpha2+Release+Notes"&gt;ICEfaces 2.0&lt;/a&gt; within Liferay Portal.&lt;/p&gt;
&lt;p&gt;Project Status as of January 27, 2010 AD:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;I have a sample JSF 2.0 portlet developed that is using the new PortletFaces Bridge.                         &lt;/meta&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;HTTP GET of portal page: bridge runs the portlet RENDER_PHASE, which runs the JSF lifecycle+renderResponse and the portlet renders fine in the browser.                         &lt;/meta&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;HTTP POST after clicking h:commandButton: bridge runs the portlet ACTION_PHASE, which runs the JSF lifecycle. It then runs the portlet RENDER_PHASE, which runs the JSF renderResponse and the portlet renders fine in the browser.                         &lt;/meta&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;RESOURCES: When using the new JSF 2.0 &amp;quot;resource&amp;quot; mechanism (like for downloading the &amp;quot;jsf.js&amp;quot; JavaScript file), the bridge correctly invokes the portlet RESOURCE_PHASE, which invokes the JSF 2.0 ResourceHandler and the contents of the requested resource are correctly delivered back to the browser.                         &lt;/meta&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;AJAX: After tabbing-out of a field, the JSF 2.0 &amp;quot;jsf.js&amp;quot; JavaScript code correctly invokes the portlet RESOURCE_PHASE, which runs the JSF lifecycle+renderResponse, and correctly applies the DOM updates in the browser. Currently it uses the new JSF 2.0 &amp;lt;f:ajax /&amp;gt; tag to do Ajax requests. BTW I had to fix a problem in Mojarra to make this work -- I'm in contact with the Mojarra team and they're working on fixing it for the upcoming 2.0.3 release.                         &lt;/meta&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;meta charset="utf-8"&gt;What's left: There's a bunch of little things -- loose ends that need to be coded up. Stuff like:
    &lt;ul&gt;
        &lt;li&gt;Testing of ICEfaces 2.0 WITHOUT the &amp;lt;f:ajax /&amp;gt; tag&lt;/li&gt;
        &lt;li&gt;Testing of ICEfaces 2.0 components (compatibility components)&lt;/li&gt;
        &lt;li&gt;Testing of ICEfaces 2.0 Ajax Push&lt;/li&gt;
        &lt;li&gt;After navigation-rules fire, need to compute the next JSF viewId to render&lt;/li&gt;
        &lt;li&gt;Detecting portlet mode changes (VIEW MODE, EDIT MODE, HELP MODE)&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/meta&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal is to have an Alpha version ready for use by the time the webinar happens on Thursday, Feb 11 2010 AD. The bridge will be be an open source project and be available for download from the &lt;a href="http://www.portletfaces.org"&gt;http://www.portletfaces.org&lt;/a&gt; website.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <dc:creator>Neil Griffin</dc:creator>
    <dc:date>2010-02-19T19:32:13Z</dc:date>
  </entry>
</feed>


