<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Production Management &#187; Personal</title>
	<atom:link href="http://www.simpleprojectz.com/category/personal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simpleprojectz.com</link>
	<description>project management &#38; software development &#38; personal stuff</description>
	<lastBuildDate>Wed, 05 Oct 2011 01:46:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Search Portlet</title>
		<link>http://www.simpleprojectz.com/2009/11/search-portlet/</link>
		<comments>http://www.simpleprojectz.com/2009/11/search-portlet/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 03:02:59 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[SW Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jboss portal]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[portlet]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search portlet]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=493</guid>
		<description><![CDATA[Few months ago I was developing a project on top of JBoss Portal. Unfortunately, JBoss Portal 2.7.x is a nice Portlet Container but a crappy CMS/Search engine -even when it is supported on Apache&#8217;s JackRabbit. However, I was forced to develop a search portlet. It wasn&#8217;t easy, and you will probably find that it is [...]]]></description>
			<content:encoded><![CDATA[<p>Few months ago I was developing a project on top of JBoss Portal. Unfortunately, JBoss Portal 2.7.x is a nice Portlet Container but a crappy CMS/Search engine -even when it is supported on Apache&#8217;s JackRabbit. However, I was forced to develop a search portlet. It wasn&#8217;t easy, and you will probably find that it is not a perfect solution. However I really hope you find this Search Portlet really useful.</p>
<p><strong>SearchPortlet.java</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
</pre></td><td class="code"><pre class="java5" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">portal.portlets</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Iterator</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.List</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.ActionRequest</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.ActionResponse</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.GenericPortlet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.PortletConfig</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.PortletException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.PortletRequestDispatcher</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.PortletSecurityException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.RenderRequest</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.RenderResponse</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.UnavailableException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.portlet.WindowState</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.log4j.Logger</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.cms.CMS</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.cms.CMSException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.cms.Command</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.cms.model.File</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.core.cms.ui.CMSPortlet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.search.FederatedQuery</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.search.QueryConversionException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.search.federation.SearchFederation</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.search.impl.jcr.JCRQuery</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.jboss.portal.search.impl.jcr.JCRQueryConverter</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SearchPortlet <span style="color: #000000; font-weight: bold;">extends</span> CMSPortlet <span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399; font-weight: bold;">Logger</span> log = <span style="color: #003399; font-weight: bold;">Logger</span>.<span style="color: #006633;">getLogger</span><span style="color: #009900;">&#40;</span>SearchPortlet.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">private</span> SearchFederation SearchService<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">private</span> CMS CMSService<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> init<span style="color: #009900;">&#40;</span>PortletConfig config<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> PortletException <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">init</span><span style="color: #009900;">&#40;</span>config<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> destroy<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">destroy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">/*
   * (non-Javadoc)
   *
   * @see javax.portlet.Portlet#init()
   */</span>
  @<span style="color: #003399; font-weight: bold;">Override</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> PortletException <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">SearchService</span> = <span style="color: #009900;">&#40;</span>SearchFederation<span style="color: #009900;">&#41;</span> getPortletContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SearchFederationService&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">CMSService</span> = <span style="color: #009900;">&#40;</span>CMS<span style="color: #009900;">&#41;</span> getPortletContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;CMS&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">SearchService</span> == <span style="color: #006600; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> PortletException<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Unable to start search service&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">CMSService</span> == <span style="color: #006600; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> PortletException<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;CMS services not available&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">/*
   * (non-Javadoc)
   *
   * @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest,
   * javax.portlet.RenderResponse)
   */</span>
  @<span style="color: #003399; font-weight: bold;">Override</span>
  <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #006600; font-weight: bold;">void</span> doView<span style="color: #009900;">&#40;</span>RenderRequest request, RenderResponse response<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> PortletException, <span style="color: #003399; font-weight: bold;">IOException</span>, UnavailableException <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #003399; font-weight: bold;">String</span> portalInstance = request.<span style="color: #006633;">getWindowID</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, request.<span style="color: #006633;">getWindowID</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    PortletRequestDispatcher prd = <span style="color: #006600; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #003399; font-weight: bold;">String</span> operation = <span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">String</span><span style="color: #009900;">&#41;</span> request.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;op&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>operation <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> operation.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;search&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003399; font-weight: bold;">String</span> queryString = <span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">String</span><span style="color: #009900;">&#41;</span> request.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;query&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>queryString <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> queryString.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        request.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;files&quot;</span>, <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getFiles</span><span style="color: #009900;">&#40;</span>queryString, portalInstance<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        prd = <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">getPortletContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getRequestDispatcher</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/WEB-INF/jsp/results.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #000000;  font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        prd = getPortletContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getRequestDispatcher</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/WEB-INF/jsp/search.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      prd.<span style="color: #006633;">include</span><span style="color: #009900;">&#40;</span>request, response<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000;  font-weight: bold;">else</span> <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>operation <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> operation.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;display&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">doView</span><span style="color: #009900;">&#40;</span>request, response<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000;  font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
      prd = getPortletContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getRequestDispatcher</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/WEB-INF/jsp/search.jsp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      prd.<span style="color: #006633;">include</span><span style="color: #009900;">&#40;</span>request, response<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">/*
   * (non-Javadoc)
   *
   * @see javax.portlet.Portlet#processAction(javax.portlet.ActionRequest,
   * javax.portlet.ActionResponse)
   */</span>
  @<span style="color: #003399; font-weight: bold;">Override</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> processAction<span style="color: #009900;">&#40;</span>ActionRequest request, ActionResponse response<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> PortletException, PortletSecurityException, <span style="color: #003399; font-weight: bold;">IOException</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399; font-weight: bold;">String</span> profile<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #003399; font-weight: bold;">String</span> operation = <span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">String</span><span style="color: #009900;">&#41;</span> request.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;op&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>operation <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> operation.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>operation.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ask&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        response.<span style="color: #006633;">setWindowState</span><span style="color: #009900;">&#40;</span>WindowState.<span style="color: #006633;">NORMAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #000000;  font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        response.<span style="color: #006633;">setWindowState</span><span style="color: #009900;">&#40;</span>WindowState.<span style="color: #006633;">MAXIMIZED</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      response.<span style="color: #006633;">setRenderParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;op&quot;</span>, operation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000;  font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
      response.<span style="color: #006633;">setRenderParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;op&quot;</span>, <span style="color: #0000ff;">&quot;ask&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      response.<span style="color: #006633;">setWindowState</span><span style="color: #009900;">&#40;</span>WindowState.<span style="color: #006633;">NORMAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>operation.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;search&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003399; font-weight: bold;">String</span> queryString = <span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">String</span><span style="color: #009900;">&#41;</span> request.<span style="color: #006633;">getParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;query&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>queryString <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> queryString.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        response.<span style="color: #006633;">setRenderParameter</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;query&quot;</span>, queryString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399; font-weight: bold;">List</span> getFiles<span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">String</span> queryString, <span style="color: #003399; font-weight: bold;">String</span> portal<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003399; font-weight: bold;">List</span> files = <span style="color: #006600; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #003399; font-weight: bold;">List</span> filteredFiles = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399; font-weight: bold;">ArrayList</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000;  font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>queryString <span style="color: #339933;">!</span>= <span style="color: #006600; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> queryString.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      FederatedQuery query = <span style="color: #000000; font-weight: bold;">new</span> FederatedQuery<span style="color: #009900;">&#40;</span>queryString<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      JCRQueryConverter converter = <span style="color: #000000; font-weight: bold;">new</span> JCRQueryConverter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        Command searchCommand = CMSService.<span style="color: #006633;">getCommandFactory</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">createSearchCommand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>JCRQuery<span style="color: #009900;">&#41;</span> converter.<span style="color: #006633;">convert</span><span style="color: #009900;">&#40;</span>query<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        files = <span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">List</span><span style="color: #009900;">&#41;</span> CMSService.<span style="color: #006633;">execute</span><span style="color: #009900;">&#40;</span>searchCommand<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// You can filter files if needed by reviewing its path under the CMS</span>
        <span style="color: #666666; font-style: italic;">// structure, by name, or any other criteria that fits your needs.</span>
&nbsp;
      <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>CMSException e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        log.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;CMS Error&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>QueryConversionException e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        log.<span style="color: #006633;">warn</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Conversion Error&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">return</span> files<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>I used two JSP pages to support this portlet.</p>
<ul>
<li>search.jsp &#8211; Search form &#8211; the standard portlet view</li>
<li>results.jsp &#8211; Results list page &#8211; appears with the portlet MAXIMIZED and displays CMS files that matches the criteria</li>
</ul>
<p><strong>search.jsp</strong> &#8211; (<a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a> does not support JSP)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>h2<span style="color: #66cc66;">&gt;</span>Search<span style="color: #66cc66;">&lt;</span>/h2<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>form action<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;%=contactActionURL%&gt;&quot;</span> method<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;POST&quot;</span><span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>fieldset style<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;border: none;&quot;</span><span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>input name<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;op&quot;</span> type<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;hidden&quot;</span> value<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;search&quot;</span> /<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>input name<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;query&quot;</span> type<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> /<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>input type<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> value<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Search&quot;</span> /<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>/fieldset<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>/form<span style="color: #66cc66;">&gt;</span></pre></td></tr></table></div>

<p><strong>results.jsp</strong> &#8211; (<a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a> does not support JSP)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="groovy" style="font-family:monospace;"><span style="color: #66cc66;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;org.jboss.portal.cms.model.File&quot;</span><span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;%</span>@ page <span style="color: #000000; font-weight: bold;">import</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;java.util.List&quot;</span><span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;%</span>@ page language<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;java&quot;</span> <span style="color: #000000; font-weight: bold;">extends</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;org.jboss.portal.core.servlet.jsp.PortalJsp&quot;</span><span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;%</span>@ taglib uri<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://java.sun.com/portlet_2_0&quot;</span> prefix<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;portlet&quot;</span><span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;%</span>
  List<span style="color: #66cc66;">&lt;</span>File<span style="color: #66cc66;">&gt;</span> files <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span>List<span style="color: #66cc66;">&lt;</span>File<span style="color: #66cc66;">&gt;</span><span style="color: #66cc66;">&#41;</span> request.<span style="color: #006600;">getAttribute</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;files&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>files <span style="color: #66cc66;">!=</span> <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&amp;&amp;</span> files.<span style="color: #663399;">size</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;</span>h1<span style="color: #66cc66;">&gt;</span>RESULTADOS DE B<span style="color: #66cc66;">&amp;</span>Uacute<span style="color: #66cc66;">;</span>QUEDA<span style="color: #66cc66;">&lt;</span>/h1<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;%</span>
    <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> i <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">;</span> i <span style="color: #66cc66;">&lt;</span> files.<span style="color: #663399;">size</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span> i<span style="color: #66cc66;">++</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #aaaadd; font-weight: bold;">File</span> file <span style="color: #66cc66;">=</span> files.<span style="color: #663399;">get</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">;</span>
  <span style="color: #66cc66;">%&gt;</span>
  <span style="color: #66cc66;">&lt;</span>h2<span style="color: #66cc66;">&gt;&lt;%=</span> file.<span style="color: #006600;">getName</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%&gt;&lt;</span>/h2<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>p<span style="color: #66cc66;">&gt;&lt;%</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>file.<span style="color: #006600;">getDescription</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">!=</span> <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&amp;&amp;</span> file.<span style="color: #006600;">getDescription</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">%&gt;&lt;%=</span> file.<span style="color: #006600;">getDescription</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%&gt;&lt;%</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">%&gt;&lt;</span>a href<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;portlet:actionURL&gt;&lt;portlet:param name=&quot;</span>op<span style="color: #ff0000;">&quot; value=&quot;</span>display<span style="color: #ff0000;">&quot; /&gt;&lt;portlet:param name=&quot;</span>file<span style="color: #ff0000;">&quot; value=&quot;</span><span style="color: #66cc66;">&lt;%=</span> file.<span style="color: #006600;">getBasePath</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%&gt;</span><span style="color: #ff0000;">&quot; /&gt;&lt;/portlet:actionURL&gt;&quot;</span><span style="color: #66cc66;">&gt;</span>Ver m<span style="color: #66cc66;">&amp;</span>aacute<span style="color: #66cc66;">;</span>s...<span style="color: #66cc66;">&lt;</span>/a<span style="color: #66cc66;">&gt;&lt;</span>/p<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>hr /<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;%</span>
    <span style="color: #66cc66;">&#125;</span>
  <span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;%</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;</span>h1<span style="color: #66cc66;">&gt;</span>NO HAY RESULTADOS<span style="color: #66cc66;">&lt;</span>/h1<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;%</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">%&gt;</span>
<span style="color: #66cc66;">&lt;</span>p align<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;center&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>a href<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&lt;portlet:actionURL&gt;&lt;portlet:param name=&quot;</span>op<span style="color: #ff0000;">&quot; value=&quot;</span>ask<span style="color: #ff0000;">&quot; /&gt;&lt;/portlet:actionURL&gt;&quot;</span><span style="color: #66cc66;">&gt;</span>Volver<span style="color: #66cc66;">&lt;</span>/a<span style="color: #66cc66;">&gt;&lt;</span>/p<span style="color: #66cc66;">&gt;</span></pre></td></tr></table></div>

<p>Include the following lines on your <code>jboss-portlet.xml</code> file.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>CMS<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.jboss.portal.cms.CMS<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>:service=CMS<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SearchFederationService<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.jboss.portal.search.federation.SearchFederation<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>:service=SearchFederationService<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service-ref<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>And finally add the following lines on your <code>portlet.xml</code> file.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>DESC<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SearchPortlet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;display-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>NAME<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/display-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>portal.portlets.SearchPortlet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;supports<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mime-type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>text/html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mime-type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-mode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>VIEW<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-mode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/supports<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;resource-bundle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Resource<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/resource-bundle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-info<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SEARCH<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-info<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-preferences<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;preference<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>indexpage<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/default/index.html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/preference<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;preference<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>setBrowserTitle<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>false<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/preference<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-preferences<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>JBoss Portlet Filter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>org.jboss.portlet.filter.JBossPortletFilter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lifecycle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ACTION_PHASE<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lifecycle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lifecycle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>RENDER_PHASE<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lifecycle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>JBoss Portlet Filter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;portlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SearchPortlet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/portlet-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/11/search-portlet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Now as Product Developer</title>
		<link>http://www.simpleprojectz.com/2009/10/now-as-product-developer/</link>
		<comments>http://www.simpleprojectz.com/2009/10/now-as-product-developer/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 00:12:07 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[rrapido]]></category>
		<category><![CDATA[torrenegra]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=485</guid>
		<description><![CDATA[It has been a quite long time since I wrote my last post about project management. I even changed the whole look and feel of my Blog to fit (a little bit) closer the things I wrote here. The reason is simple, I changed my job. I resigned from my previous Account Manager position at [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a quite long time since I wrote my last post about project management. I even changed the whole look and feel of my Blog to fit (a little bit) closer the things I wrote here.</p>
<p>The reason is simple, I changed my job. I resigned from my previous Account Manager position at Studiocom (an interactive and digital WPP agency). It was difficult to leave that position (and such a great team) but it was a required decision from a professional perspective.</p>
<p>So I moved  to a new position as Product Developer at <a href="http://www.torrenegralabs.com" target="_blank">Torrenegra Labs</a>. I&#8217;ve been working at Torrenegra Labs for the last two months on a new business development that I&#8217;m sure will make me better person and integral Project Manager.</p>
<p>I&#8217;m currently learning about their management methods and of course and because I&#8217;m a techie guy, I&#8217;m looking at their code too <img src='http://www.simpleprojectz.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   &#8211; they have create their own PHP Framework on top of CakePHP, including JSON and SOAP Webservices and other cool stuff &#8211; I&#8217;m pushing hard to share most of those nice CakePHP extensions back to the community. You should take a look to their great product once it gets released &#8211; check <a href="http://alexander.letmego.com/" target="_blank">Alexander’s Blog – The Making of LetMeGo</a>.</p>
<p>I&#8217;ve been setting all the things to start a new huge initiative but also learning about their framework, coding style and development methodology (a.k.a <a href="http://www.torrenegralabs.com/group/content/rrapido_methodology" target="_blank">RRapido</a>). I&#8217;ve take the time to know the people -the most important asset on this and every company. It has been an inspiring time and now its time to rock-n-roll.</p>
<p>Starting next week, I will be in charge of my own top secret project that I&#8217;m pretty sure will shake the market -as it happens for most of the Torrenegra products (like <a href="http://www.voice123.com" target="_blank">Voice123 </a>and for sure <a href="http://www.letmego.com" target="_self">LetMeGo</a>). It is an exciting time for me, and I hope you enjoy the future posts about the project progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/10/now-as-product-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Ditched Windows&#8230;and, So Can You</title>
		<link>http://www.simpleprojectz.com/2009/08/i-ditched-windows-and-so-can-you/</link>
		<comments>http://www.simpleprojectz.com/2009/08/i-ditched-windows-and-so-can-you/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:33:30 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Digital Life]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux migration]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[windows vista]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=452</guid>
		<description><![CDATA[I bought a new desktop computer like a week ago, a nice desktop PC with a beautiful 22&#8243; screen. The truth is that I was looking for an iMac 24&#8243;, but unfortunately here in Colombia it could be have an overprice of USD$500 ~ USD$1000. So as you can tell it could be a trip [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-458" title="etiqueta_ubuntu4" src="http://www.simpleprojectz.com/wp-content/uploads/2009/08/etiqueta_ubuntu4.png" alt="etiqueta_ubuntu4" width="200" height="300" />I bought a new desktop computer like a week ago, a nice desktop PC with a beautiful 22&#8243; screen. The truth is that I was looking for an iMac 24&#8243;, but unfortunately here in Colombia it could be have an overprice of USD$500 ~ USD$1000. So as you can tell it could be a trip to U.S. with an iMac on your baggage. I talked to some of my friends and coworkers asking for somebody to bring it, but it wasn&#8217;t possible this time -at least shortly.</p>
<p>So I bought a nice computer with <strong>Windows Vista Home Premium</strong> -as usual and some useless stuff like a remote and <strong>MediaCenter</strong>. I tried it few days and Vista did its magic -slowing down the newest computer even faster than I thought- so I moved to <strong>Windows 7</strong> (64 bits version) -Oh Yeah it is like <em>Windows Vista but better</em> (like G.M. TV commercials with their cars).</p>
<p>A week ago, and after doing a realistic evaluation of my computing needs I decided to switch to Ubuntu 9.04 (64 bits version) and mount a VM with <strong>Windows XP Home </strong>to<strong> </strong>keep testing on <strong>Internet Explorer</strong> 6.0. It was a HUGE improvement in performance &#8211; I just remembered D.O.S. days when programs run immediately after being called. Ubuntu offers a lot of advantages in compare to Windows, but obviously we are so attached to Microsoft pseudo-world that just thinking on the switch could be a nightmare. I will not debate on architecture, security or speed. I&#8217;ll say this as clear as possible. If you do not have to use MS products like Exchange, or you do not have to use speciallized software that runs on Windows -like AutoCAD or Adobe CS4- you can just switch without fair, it will be the reinvention of the computer processing performance.</p>
<p>There are a lot of Linux Distributions in the market -like Ubuntu- but I have to say that Ubuntu is for soft-users and not hard-crazy linux fans. Ubuntu is nice, is really REALLY <strong>REALLY</strong> easy to install and if you aren&#8217;t sure about replacing your desktop with it, you can try <strong>Wubi</strong> -it installs Ubuntu as a Windows application -WOW!</p>
<p>Just to clarify, I had been using Ubuntu and other linux distributions for a long time (Fedora is another one) but it is the first time I decided to switch to Linux WITHOUT a Windows partition. My wife -who is a dentist- hates its portable due to its response time, and I did all the normal-not-so-risky tasks to speed up its XPS 1210 (that used to be mine) with <strong>Windows XP Home Edition</strong>, today we had our first class about linux and she is so happy about the speed and performance, and also the virus/crappy-sw situation that isn&#8217;t a critical issue on Ubuntu (Linux) so she is thinking seriously about moving to Ubuntu her portable too.</p>
<blockquote><p><strong>&#8220;So, if you’re using Windows and want to ditch it, <a href="http://www.ubuntu.com/">click here to begin a less stressful life&#8221;</a></strong></p></blockquote>
<p><strong>IMPORTANT NOTE</strong>: I decided to write this post when a friend of mine sent me a link to a post who has the same title of this one. Thanks to <a href="http://www.fastcompany.com/blog/gregory-ferenstein/fastminds/i-ditched-windowshellipand-so-can-you" target="_blank">Gregory Ferenstein</a> for such inspiring post -I did&#8217;t move to Linux because of his post, but I makes me feel like &#8220;<em>I&#8217;m not alone, I&#8217;m not just a crazy guy that hates Microsoft, I&#8217;m not a linux fanboy&#8230; we are just right about Windows: it sucks!</em>&#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/08/i-ditched-windows-and-so-can-you/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What is going on with offshore in Colombia?</title>
		<link>http://www.simpleprojectz.com/2009/07/what-is-going-on-with-offshore-in-colombia/</link>
		<comments>http://www.simpleprojectz.com/2009/07/what-is-going-on-with-offshore-in-colombia/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 04:47:51 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Methods]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[colombia]]></category>
		<category><![CDATA[lazy]]></category>
		<category><![CDATA[offshore]]></category>
		<category><![CDATA[worker]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=406</guid>
		<description><![CDATA[Colombia is a country full of high qualified developers, designers and in general, great web builder experts. However something is going wrong with those lucky guys that work for companies who have offshore contracts. After few months or even years of great work, people start feeling comfortable as well-paid workers and then suddenly and without [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/mau_igaly/3167971925/" target="_blank"><img class="alignleft size-full wp-image-421" title="Offshore" src="http://www.simpleprojectz.com/wp-content/uploads/2009/07/offshore.jpg" alt="Offshore" width="190" height="240" /></a>Colombia is a country full of high qualified developers, designers and in general, great web builder experts. However something is going wrong with those lucky guys that work for companies who have offshore contracts. After few months or even years of great work, people start feeling comfortable as well-paid workers and then suddenly and without notice, quality sense of work and care about details fade away. Why? I&#8217;m not sure, but I will do my best trying to discover the reasons through this post -and this is because I&#8217;m one of those lucky guys working for great company, but I REALLY do not want to start feeling comfortable, and  I REALLY REALLY do not want to start losing my tiny sense of quality and responsibility.</p>
<p>Feeling comfortable about having a job is not bad at all, even more these days during this crisis time, but is it really enough? Dedicated workers stand out from others because they do not feel comfortable, they are always looking for opportunities of doing great and better things. When this comfortable feeling grows more than it should, workers start forgetting that they are in Colombia, and start asking for foreign benefits and privileges, and they even believe that they deserve them. And that&#8217;s wrong, that&#8217;s totally wrong. It is not bad at all to get few additional benefits, however, it doesn&#8217; t mean we should take them for granted, we are still working in Colombia.</p>
<p>One of the amazing transformations of Colombian workers is: once we get used to a job,  we believe we can decide our own duties and decide what to do and when. Well my friends, most of the time and all around the world, bosses decides what must be done and when. So WTF! I really can&#8217;t deal with that, it piss me off. Job is responsibility, it is not about doing &#8220;favors&#8221; to the managers, it is about to do what it is supposed because you are getting paid for that. It is not because you want, it is because you have to -and I&#8217;m talking about legal, non-extra activities of course, but just to point that out.</p>
<p>Another endemic attitude is to look for responsible when there is no other guy doing the job. I will no get into this because&#8230; do I need to? A variance of this behaviour: people start doing EXACTLY what they were asked, even if managers are expecting a little support. They perform as machines, they do not evaluate and therefore there is no added value. If there is a misspelled word on their assignment description, they do not fix it, if there is something that requires some additional work or a little of analysis, they will try to delegate it. But, hey! keep in mind they are great developers, keep in mind we are not talking about junior resources. So why they decide to do that? Maybe I just pointed it out, it is because they do not want to assume their responsibility.</p>
<p>This comfortable behaviour is surrounding me for a little while, and I will say <strong>NO</strong>. I do not want to become one of those lazy but great workers that decide to keep their jobs by giving up their abilities. I will do my best tomorrow, and the day after tomorrow. Not sure what it means but probably I have an idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/07/what-is-going-on-with-offshore-in-colombia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Things my mom didn&#8217;t tell me about project management</title>
		<link>http://www.simpleprojectz.com/2009/05/things-my-mom-didnt-tell-me-about-project-management/</link>
		<comments>http://www.simpleprojectz.com/2009/05/things-my-mom-didnt-tell-me-about-project-management/#comments</comments>
		<pubDate>Wed, 06 May 2009 15:51:05 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[PM Community]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=391</guid>
		<description><![CDATA[There are several things nobody told me before I became PM. Most of these things are deeply related to my background knowledge, but probably, even if you do not work on the same field I work, you will find these tips useful. Project Managers are responsible for all the work they do not execute. WTF? [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/weepingrocksins/2463234514/" target="_blank"><img class="alignleft size-full wp-image-417" title="My Mom Didn't Tell Me" src="http://www.simpleprojectz.com/wp-content/uploads/2009/05/mom_didnt.jpg" alt="My Mom Didn't Tell Me" width="240" height="158" /></a> There are several things nobody told me before I became PM. Most of these things are deeply related to my background knowledge, but probably, even if you do not work on the same field I work, you will find these tips useful.</p>
<ol>
<li>Project Managers are responsible for all the work they do not execute. WTF? Back in the school you could say: Hey! I didn&#8217;t do it! It wasn&#8217;t me! &#8211; But now you are forced to assume any responsibility of the work that has been done by others -on your team of course! &#8220;Solution doesn&#8217;t work&#8221;, &#8220;There are several bugs&#8221;, &#8220;It doesn&#8217;t fulfill the client expectations&#8221; -It doesn&#8217;t occur often if you do your homework, but, it happens at least once so you have to be prepared. Fail is natural to human condition. Are you prepared to fail? Are you ready to get over it and assume the responsibility for others code? -from a coder perspective it could mean kill someone!</li>
<li>Project Managers should say client Yes/No and When. Coders aren&#8217;t forced to do that -that&#8217;s why PM&#8217;s estimate. Does it sounds familiar to you? &#8220;I&#8217;m doing ok with code, it will take like, uhmmm, uhmmm, uhmmm, -then silence- then a value plus extra time for them&#8221;.</li>
<li>Project Managers will use email clients, office productivity tools including spreadsheets -a lot of spreadsheets- over the lovely IDE -oh man, that sucks. Even the useful textedit&#8230; how I miss you?</li>
<li>Project Managers will have to say at least once &#8220;No&#8221; and get mad with their bosses while they are <em>Gold-Plating </em>the clients. The awful thing is that once bosses do that, PMs will have to assume again the responsibility to deliver the new <strong>extremely-simple-to-do</strong> addition while also have to listen the complains of the team.</li>
<li>Project Managers will solve problems between team members. I do no like democracy (democracy is for small cities and countries where  their ability to decide and vote is supported by a deep and clear perspective of the community and its future). PM is only one guy, he/she listen, process and decide -<strong>NICE!!! </strong>no voting, no democracy.</li>
<li>Hands-on Project Managers will also deliver the projects. It means most of the time, deploy to servers, and do a &#8220;lite-end-user qa&#8221;.  Not your case? YOU ARE SO LUCKY!</li>
<li>Project Managers will receive more money -it is not always the case, but here in Colombia, IT IS the case.</li>
</ol>
<p>If you have any additional thing your mom didn&#8217;t told you about PM, feel free to post it as a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/05/things-my-mom-didnt-tell-me-about-project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pee Paradigm</title>
		<link>http://www.simpleprojectz.com/2009/03/the-pee-paradigm/</link>
		<comments>http://www.simpleprojectz.com/2009/03/the-pee-paradigm/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 13:49:35 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[paradigm]]></category>
		<category><![CDATA[pee]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=364</guid>
		<description><![CDATA[At the beginning it was pure calm. Junior developers do not have to do a lot more than coding, and to be clear it is about coding something that probably someone else have been already designed. Those days when I started coding remind me when I was a kid at the school. I didn&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-426" title="The Pee Paradigm" src="http://www.simpleprojectz.com/wp-content/uploads/2009/03/meon.jpg" alt="The Pee Paradigm" width="140" height="240" />At the beginning it was pure calm. Junior developers do not have to do a lot more than coding, and to be clear it is about coding something that probably someone else have been already designed. Those days when I started coding remind me when I was a kid at the school. I didn&#8217;t have a lot of responsibilities and of course, the life was easier than now.</p>
<p>Then I became senior programmer, and then architect, and then system designer (Oh Dear God). Why? It&#8217;s probable because it is a natural process to grow up and get experience, knowledge and, obviously because it also means.. most of the times&#8230; a salary raise. But then I noticed that my whole perspective about software development had been changed. At that point I wrote the first draft of the <em>Pee Paradigm</em>. Please take a minute to read and understand it &#8211; you can also leave a comment.</p>
<p>When you are a programmer and you have to pee, you can just leave your desk at any given moment with one or few problems pending to be solved. Some minutes later -depending on your personal needs of course- when you come back to your desk you can be sure that 99.99% of the times it will be the same set of problems -nothing have been changed. And to make it even better, it is possible that while your were doing &#8220;your stuff&#8221; you came up with a solution to those problems! Amazing!. In contrast, assume that you get additional responsibilities including management tasks and you have to &#8220;pee&#8221;. So it comes the time when you have to LEAVE YOUR DESK and even when you will have a small set of &#8220;pending things&#8221; to solve or do, you can be absolutely sure that once you come back you will have additional items. And maybe you can solve things during your &#8220;reduced personal time off&#8221; but it will be certain that instead of solving things you will remember additional stuff.</p>
<p>Few months ago, when I was Production Manager for a huge project for one of the most famous brands in the world, I used to received more than 250 emails every day. Can you believe it? It was a mess. Obviously it was a failure inside the communications plan but it was true. So I created few rules to colorize my emails assigning colors depending on the recipients list. Let&#8217;s do some simple maths to clarify the situation:</p>
<p>250 emails x 1.5 minute reading<br />
= 375 minutes<br />
= 6.25 hours.</p>
<p>At this point I didn&#8217;t send an email, make a call, o even received it. I didn&#8217;t went to bathroom or do anything else than open my email client.</p>
<p>Could you imagine somebody asking about an specific email like &#8220;<em>did you checked the Fulano&#8217;s email about the X situation?</em>&#8221; &#8211; while my reduced set of neurons tried to evaluate and solve the question, another even more reduced set of neurons where thinking something like &#8220;<em>Ah? Blah? What are you talking about? Was my name at the beginning of the email content or as the email subject?</em>&#8221;</p>
<p>Since then, I wrote the Pee Paradigm and decided not take drinks at the office. Also I feel really concerned about have to pee during my working hours <img src='http://www.simpleprojectz.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/03/the-pee-paradigm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conference on IT Project Management</title>
		<link>http://www.simpleprojectz.com/2009/01/conference-on-it-project-management/</link>
		<comments>http://www.simpleprojectz.com/2009/01/conference-on-it-project-management/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 19:33:38 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[PM Community]]></category>
		<category><![CDATA[gerencia]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[jornada]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=323</guid>
		<description><![CDATA[Finally, it was officially announced: The 7th version of the Conference on IT Project Management will be in Bogotá (Col) from March 12 to March 13, 2009. I&#8217;m pretty excited about this event. I haven&#8217;t been notified about when should I give my presentation, so I still have a change to improve my slides. I [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, it was officially announced: The 7th version of the Conference on IT Project Management will be in Bogotá (Col) from March 12 to March 13, 2009. I&#8217;m pretty excited about this event. I haven&#8217;t been notified about when should I give my presentation, so I still have a change to improve my slides. I will keep you posted on the agenda, and once I give my presentation I will share it -as usual.</p>
<p>More info about the conference you can get additional info @ <a href="http://www.acis.org.co/index.php?id=356" target="_blank">ACIS</a> site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2009/01/conference-on-it-project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Year&#8217;s Resolutions</title>
		<link>http://www.simpleprojectz.com/2008/12/2009-resolutions/</link>
		<comments>http://www.simpleprojectz.com/2008/12/2009-resolutions/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 15:04:25 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[resolution]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=303</guid>
		<description><![CDATA[As you may noticed, I&#8217;ve switched back to English. It was not an easy decision but, for some reason latin american people look for English content as well, so writing in Spanish didn&#8217;t create the effect I thought it should. So here is my list about 2009 resolutions -I will not include my family or [...]]]></description>
			<content:encoded><![CDATA[<p>As you may noticed, I&#8217;ve switched back to English. It was not an easy decision but, for some reason latin american people look for English content as well, so writing in Spanish didn&#8217;t create the effect I thought it should.</p>
<p>So here is my list about 2009 resolutions -I will not include my family or personal ones:</p>
<ul>
<li>I will not forget to code. I do love to code, even as project manager I feel the necesity of coding. Which means Java (I really do love Java) or PHP, JavaScript, Perl, or even write some HTML (did you notice I said &#8220;write&#8221; not &#8220;code&#8221;).</li>
<li>I will try to get the Java Enterprise Architect Certification &#8211; as project manager I do not need it but, hey, I want to learn a little bit more about JEE, and why not to get the certification as a plus?</li>
<li>I will keep posting in my Blog -this is a hard one</li>
<li>I will try to make you post a comment -this one is the hardest <img src='http://www.simpleprojectz.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>I will try to make my job experience better</li>
<li>I will do my best to learn Portuguese. Brazil is a huge economy for this region (latin america) so I&#8217;m pretty sure it will be good for my career.</li>
<li>I will try to keep giving presentations about PM. I will try to improve the SW development process for at least one person -excluding me of course.</li>
</ul>
<p>Wow! It seems to that it will be a busy 2009!</p>
<p>Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2008/12/2009-resolutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Felices Fiestas</title>
		<link>http://www.simpleprojectz.com/2008/12/felices-fiestas/</link>
		<comments>http://www.simpleprojectz.com/2008/12/felices-fiestas/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 03:00:35 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[diciembre]]></category>
		<category><![CDATA[fiestas]]></category>
		<category><![CDATA[navidad]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/?p=291</guid>
		<description><![CDATA[Esta entrada es acerca de diciembre y de ésta época del año donde todos celebramos algo, y tomamos un tiempo para reunirnos, compartir, y conversar. Este año ha sido sin lugar a dudas uno de los mejores años que ha pasado en mi vida. Mi hermosa hija Martina nació sana y muy alegre -siempre tiene [...]]]></description>
			<content:encoded><![CDATA[<p>Esta entrada es acerca de diciembre y de ésta época del año donde todos celebramos algo, y tomamos un tiempo para reunirnos, compartir, y conversar.</p>
<p>Este año ha sido sin lugar a dudas uno de los mejores años que ha pasado en mi vida. Mi hermosa hija Martina nació sana y muy alegre -siempre tiene una encantadora sonrisa en su rostro.  Jacobo, ya es todo un señor -3 años y un poco mas- y ha sido elogiado por piloso -no puedo decir que es el más fuerte, el más conversador o el más deportista, pero si me siento orgulloso de que sea un piloso <img src='http://www.simpleprojectz.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Mi esposa&#8230; caray, que sería de mí sin ella, estaría perdido por el mundo pensando en quien sabe que cosas, y buscando algo que dificilmente podría obtener si no la tuviera a mi lado -felicidad!.</p>
<p>En lo profesional, bueno, este fue un año menos intenso en el área académica -que me apasiona- pero muy enriquecedor a nivel profesional. Obtuve mi certificación de PMP -luego de estudiar miles de horas :-S, incluídas vacaciones en la playa con libro en mano! Dicté una conferencia en el Campus-Party y dos conferencias en la ACIS. Nada mal!, poco, pero nada mal.</p>
<p>Agradezco a la vida el año que pasa, pero, debo decir que no contento con ello, espero que este año nuevo traiga al menos unos 14 meses, para que me alcance para todos mis proyectos <img src='http://www.simpleprojectz.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  Veo en el camino mucho trabajo y nuevas ideas, que conllevan muchas responsabilidades. Ah, aprovecho para perdirle al niño dios unas vacaciones un TANTIN más extensas y un TANTON más de dinero para poder sacarles el jugo!</p>
<p>A ustedes, los poquitos que se interesan en las cosas que escribo, les extiendo mi sentimiento de gratitud. Les deseo a ustedes y sus seres queridos unas muy felices fiestas decembrinas y un aún mejor comienzo de año.</p>
<p>Un abrazo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2008/12/felices-fiestas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Officially Updated to WordPress 2.7</title>
		<link>http://www.simpleprojectz.com/2008/12/officialy-updated-to-wordpress-27/</link>
		<comments>http://www.simpleprojectz.com/2008/12/officialy-updated-to-wordpress-27/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 14:44:53 +0000</pubDate>
		<dc:creator>Alberto Dominguez, PMP</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.simpleprojectz.com/2008/12/officialy-updated-to-wordpress-27/</guid>
		<description><![CDATA[Amazing transformation for WordPress. Huge UX improvement. Congratulations to the WP Team, you did an amazing job!]]></description>
			<content:encoded><![CDATA[<p>Amazing transformation for WordPress. Huge UX improvement. Congratulations to the WP Team, you did an amazing job!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simpleprojectz.com/2008/12/officialy-updated-to-wordpress-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

