<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/"
 xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
 xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>
<channel>
<title>John's Blog</title>
<description>Full Posts from Articles</description>
<lastBuildDate>Wed, 14 Jul 2010 11:11:10 -0400</lastBuildDate>
<link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf</link>
<item><title>Resources for passing your Websphere Portal Admin/Developer Certifications</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Websphere_portal_certifications_resources</link><description><![CDATA[ I do a lot of work with many IBM technologies. &nbsp;You would not know this from reading my blog since it is focused on XPages....but I'm branching out today.

I recently passed my Websphere Portal 6.1 Administration and Deployment certification (LOT-955) ...]]></description><dc:subject>Websphere Portal</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Websphere_portal_certifications_resources</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Websphere_portal_certifications_resources</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">I do a lot of work with many IBM technologies. &nbsp;You would not know this from reading my blog since it is focused on XPages....but I'm branching out today.</font>
<br />
<br /><font size=2 face="sans-serif">I recently passed my Websphere Portal 6.1 Administration and Deployment certification (LOT-955) with a score of 97, and passed my Websphere Portal 6.1 Application Development (LOT-959) with a score of 100. &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">Now, the high scores are not exactly a reflection of my portal skills, but more a reflection of my study skills. &nbsp;These products are very deep and you could study for months without uncovering all there is to know about them. &nbsp;Having the correct resources can help you by isolating the topics that the tests focus on most.</font>
<br />
<br /><font size=2 face="sans-serif">Of course no amount of studying can take the place of hands on skills. &nbsp;If you want to learn Portal, Portlet Factory, or Rational Application Developer (RAD) and do not have access to the software, you can download trial versions of these products from IBM. &nbsp;Or even join their beta programs to learn the latest versions.
</font>
<br />
<br /><font size=2 face="sans-serif">Some folks do not believe in the merits of certifications, but I do...not for the reasons most might think, &nbsp;i.e. increased job opportunities. &nbsp;For me, studying for my certification forces me to study topics of a product that I might not have learned in my normal day-to-day work. &nbsp;This increases the depth of my skills. &nbsp;Then of course comes the &quot;Ah Ha&quot; moment when one day you solve a problem, or suggest a solution, with some knowledge you only learned because of studying for your certification. That makes it worth it to me.</font>
<br />
<br /><font size=2 face="sans-serif">Here's a list of resources that helped me:</font>
<br />
<br /><font size=2 face="sans-serif">Websphere Portal 6.1 Administration and Deployment certification </font><font size=1 face="sans-serif">(LOT-955)</font>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href="Websphere Portal 6.1 Administration and Deployment certification (LOT-955)"><font size=2 color=blue face="sans-serif">Websphere Portal 6.1 info center</font></a>
<br /><font size=2 face="sans-serif">- </font><a href="http://www-10.lotus.com/ldd/portalwiki.nsf/dx/10172008021136AMWEB9AB.htm"><font size=2 color=blue face="sans-serif">&nbsp;Wiki - Step by step cluster guide</font></a>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href=http://wenku.baidu.com/view/e09776db6f1aff00bed51e80.html><font size=2 color=blue face="sans-serif">Websphere Portal 6.1 955 sample questions</font></a><font size=2 face="sans-serif"> (many of these questions were almost identical to the ones on the test!)</font>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href="http://www-10.lotus.com/ldd/portalwiki.nsf/dx/websphere-portal-v6.1-configured-with-multiple-ldaps-and-multiple-realms"><font size=2 color=blue face="sans-serif">Wiki - WebSphere Portal V6.1 Configured with Multiple LDAP's and Multiple Realm's</font></a>
<br />
<br /><font size=2 face="sans-serif">Websphere Portal 6.1 Application Development (LOT-959)</font>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href="http://www-03.ibm.com/certify/tests/eduL959.shtml"><font size=2 color=blue face="sans-serif">IBM - Websphere Portal Training resources</font></a><font size=2 face="sans-serif"> (There are numerous links on this page)</font>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href="http://www.freeexamking.com/dl/lot-959.pdf"><font size=2 color=blue face="sans-serif">Lot 959 FreeExamKing sample questions</font></a><font size=2 face="sans-serif"> (again, these sample questions were very similar to what I saw on the test)</font>
<br /><font size=2 face="sans-serif">- &nbsp;</font><a href="https://www-03.ibm.com/partnerworld/vic/wps/myportal/mypoc?uri=service:deep_link&amp;courseid=2384"><font size=2 color=blue face="sans-serif">IBM's Virtual Innovation Center courseware</font></a><font size=2 face="sans-serif"> (this requires a partnerworld login..but it's excellent!)</font>
<br />
<br /><font size=2 face="sans-serif">I also used </font><a href=http://certfx.com/><font size=2 color=blue face="sans-serif">certFx</font></a><font size=2 face="sans-serif"> sample tests. &nbsp;They cost around $90, and you usually can find a promotion code for a discount. &nbsp;However, the above links to the online sample questions were very similar. &nbsp;One advantage of buying a certfx test is that they guarantee you will pass the test, and will reimburse for the testing fee if you do not pass. &nbsp;That's $200 dollars now. (I think it went up recently)</font>
<br />
<br /><font size=2 face="sans-serif">My study approach is to read the material, then take a sample test. &nbsp;If I do not know the answer to a sample test question I go to the info center or google and research it. &nbsp;Then I take the sample test over again (a couple of times) before my scheduled test date, this way it's all fresh.</font>
<br />
<br /><font size=2 face="sans-serif">Good luck on your tests!</font>
<br />
<br /><font size=2 face="sans-serif">-John</font>
<br /> ]]></content:encoded><pubDate>Wed, 14 Jul 2010 11:11:10 -0400</pubDate><slash:comments>0</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=067F44F39FD34B8088257760005381EB</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=067F44F39FD34B8088257760005381EB</wfw:comment></item><item><title>I'll be speaking at The View's Lotus Developer 2010 Conference</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Speaking_Lotus_Developers_Conference</link><description><![CDATA[ I'll be speaking at The View's Lotus Developer 2010 in Boston on May 12th to the 14th. &nbsp;If you see me there, please stop by and introduce yourself. &nbsp;That's the best part about conferences....meeting new people.

I have 2 sessions. &nbsp;Currently, ...]]></description><dc:subject>None</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Speaking_Lotus_Developers_Conference</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Speaking_Lotus_Developers_Conference</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">I'll be speaking at </font><a href=http://www.lotusdeveloper2010.com/ target=_blank><font size=2 color=blue face="sans-serif">The View's Lotus Developer 2010</font></a><font size=2 face="sans-serif"> in Boston on May 12th to the 14th. &nbsp;If you see me there, please stop by and introduce yourself. &nbsp;That's the best part about conferences....meeting new people.</font>
<br />
<br /><font size=2 face="sans-serif">I have 2 sessions. &nbsp;Currently, both are being scheduled to repeat, so I'll be busy. &nbsp;Here's the descriptions:</font>
<br />
<br /><font size=2 face="sans-serif"><strong>XPages: Write once, run everywhere!</strong></font>
<br /><font size=2 face="sans-serif">With the latest release of Domino Designer, the platforms for running your XPages applications have been significantly expanded. Attend this session for a deeper understanding of the new XPages features in version 8.5.1 and how to leverage them in your applications. See how XPages now runs in the Notes client including the settings you&#8217;ll need for client launch and themes as well as customizing your XPages based on the client type using JavaScript or @commands. Take a deep dive into the Component Design Element to learn step-by-step how to create components as well as how to produce Actions and Events for wiring in composite applications. See how to simply include XPages components in composite applications as well as iWidgets for both the IBM Mashup Center and WebSphere Portal. Take home a copy of the applications used in the presentation with full access to the code. </font>
<br />
<br /><font size=2 face="sans-serif"><strong>Building Rich Internet Applications in Domino using AJAX, JSON, and the Dojo toolkit</strong></font>
<br /><font size=2 face="sans-serif">Are your Domino Applications so yesterday? Bring your apps into the Web 2.0 world with a Rich Internet Application (RIA) facelift utilizing JSON, AJAX, and Dojo. Get an explanation of JSON (JavaScript Object Notation) &#8212; what it is, how it works, and why you want to use it. Get an understanding of the advantages of JSON over XML for building RIA applications with Domino. Learn how Domino can natively serve up JSON as well as how to generate JSON with agents and views. Explore the Dojo toolkit, an AJAX framework that now ships with Lotus Domino, and learn how you can leverage Dojo to build Rich Internet Applications. Walk away with an understanding of JSON, how to utilize JSON in AJAX frameworks, the Dojo toolkit, as well as a sample database with code.</font>
<br />
<br /><font size=2 face="sans-serif">Hope to see you there!</font>
<br />
<br /><font size=2 face="sans-serif">-John</font> ]]></content:encoded><pubDate>Wed, 28 Apr 2010 00:00:00 -0400</pubDate><slash:comments>0</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=51457B58E9D56DA488257712003B5B77</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=51457B58E9D56DA488257712003B5B77</wfw:comment></item><item><title>XPages tip: Programmatically jumping to a page on a View or Pager control</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_tip_gotoPage_View_Pager</link><description><![CDATA[ In the Dynamic View Custom Control I built, and is available on OpenNTF, I noticed that the pager control does not reset when I switch datasources. &nbsp;The Pager control does not reset because the custom control is not reloaded in the demo I put together. ...]]></description><dc:subject>Domino 8.5 - XPages</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_tip_gotoPage_View_Pager</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_tip_gotoPage_View_Pager</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">In the </font><a href=http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF target=_blank><font size=2 color=blue face="sans-serif">Dynamic View Custom Control</font></a><font size=2 face="sans-serif"> I built, and is available on OpenNTF, I noticed that the pager control does not reset when I switch datasources. &nbsp;The Pager control does not reset because the custom control is not reloaded in the demo I put together. &nbsp;So I was looking for a way to reset the control programmatically and I came across this</font><a href="http://xpagesblog.com/xpages-blog/2009/11/10/working-out-the-api-for-xsp-classes-in-xpages.html#comments" target=_blank><font size=2 color=blue face="sans-serif"> article from Matt White</font></a><font size=2 face="sans-serif"> on the
</font><a href=http://www.xpagesblog.com target=_blank><font size=2 color=blue face="sans-serif">XPagesblog</font></a><font size=2 face="sans-serif"> and then also came across the same answer on </font><a href="http://iqjam.net/iqjam/iqjam.nsf/tags.xsp?tag=xpages&amp;iqspace=Domino+Development~XPages" target=_blank><font size=2 color=blue face="sans-serif">IQJam</font></a><font size=2 face="sans-serif"> (both are great resources!).</font>
<br />
<br /><font size=2 face="sans-serif">The article shows you how to get a class in JS in the Designer so that you can browse the methods that are available to you. &nbsp;So for example if you want to jump to a certain page for a View control or Pager control you can use this &quot;gotoPage()&quot; method. </font>
<br />
<br /><font size=2 face="sans-serif">For a Pager:</font>
<br /><font size=2 color=#820040 face="Courier New">var</font><font size=2 face="Courier New"> pager:com.ibm.xsp.component.xp.XspPager = getComponent(</font><font size=2 color=#8100ff face="Courier New">&quot;pager1&quot;</font><font size=2 face="Courier New">);</font>
<br /><font size=2 face="Courier New">pager.gotoPage(1);&nbsp; </font><font size=2 color=#4040c2 face="Courier New">//0 is first page etc.,. </font>
<br />
<br /><font size=2 face="sans-serif">For a View:</font>
<br /><font size=2 color=#820040 face="Courier New">var</font><font size=2 face="Courier New"> view1:com.ibm.xsp.component.xp.XspViewPanel=getComponent(</font><font size=2 color=#8100ff face="Courier New">&quot;viewPanel2&quot;</font><font size=2 face="Courier New">);</font>
<br /><font size=2 face="Courier New">view1.gotoPage(1)</font><font size=2 face="sans-serif">;</font>
<br />
<br /><font size=2 face="sans-serif">Here's a screen shot of the script editor and some of the methods available for a View control. &nbsp;As you can see there is also gotoFirstPage(), gotoLastPage(), gotoNextPage(), gotoPreviousPage(), and gotoRow().</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_tip_gotoPage_View_Pager/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - XPages tip: Programmatically jumping to a page on a View or Pager control" Title="Image:John's Blog - XPages tip: Programmatically jumping to a page on a View or Pager control" />
<br />
<br />
<br /><font size=2 face="sans-serif">-John</font> ]]></content:encoded><pubDate>Wed, 24 Feb 2010 10:30:09 -0400</pubDate><slash:comments>6</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=7190D2C8D7693450882576D4005528F7</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=7190D2C8D7693450882576D4005528F7</wfw:comment></item><item><title>XPages Dynamic View Custom Control - on OpenNTF.org</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF</link><description><![CDATA[ I created an XPages custom control that dynamically builds a view based on a series of passed in parameters. &nbsp;Normally with XPages, if you want different views to be displayed on your XPage, you would create the multiple view controls and hide the ones ...]]></description><dc:subject>Domino 8.5 - XPages</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">I created an XPages custom control that dynamically builds a view based on a series of passed in parameters. &nbsp;Normally with XPages, if you want different views to be displayed on your XPage, you would create the multiple view controls and hide the ones that should not be displayed. &nbsp;This custom control allows you to drop a single CC on your XPage and it can generate the views for you. &nbsp;Cick </font><a href=http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/XPages%20Dynamic%20View%20Control target=_blank><font size=2 color=blue face="sans-serif">here to open the OpenNTF.org projec</font></a><font size=2 face="sans-serif">t.</font>
<br />
<br /><font size=2 face="sans-serif"><strong>Overview</strong></font>
<br />
<br /><font size=2 face="sans-serif">I included a sample page and test data so you can try the Custom Control out.</font>
<br />
<br /><font size=2 face="sans-serif">When you first launch the database, click on a view to generate: Projects, Customers, or Orders.</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" Title="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" />
<br />
<br />
<br />
<br /><font size=2 face="sans-serif">When you click on one of the view links I set session scope variables for the view parameters. &nbsp;You can pass these parameters anyway you like or compute them too. For the demo I chose session variables. You can even build an interface so the users can tailor their own views. &nbsp;Here's a sample of setting the parameters for the Project view:</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF/StoryRichTextMime/M3?OpenElement"  alt="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" Title="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" />
<br />
<br />
<br />
<br /><font size=2 face="sans-serif">On the Custom Control, you can see how I pick up the Session Variables and pass them to the control:</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF/StoryRichTextMime/M4?OpenElement"  alt="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" Title="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" />
<br />
<br />
<br />
<br /><font size=2 face="sans-serif">To further demonstrate how you can change the view dynamically, I added a custom control that has input controls bound to the session variables. &nbsp;This allows you to change any of the parameters and click the &quot;Build View&quot; button to regenerate the view. &nbsp;So you can change the order of the fields, the width of the view, link column etc., &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">*Note: the fields do not have to be physically in the view. &nbsp;I grab the fields from the backend document:</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF/StoryRichTextMime/M5?OpenElement"  alt="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" Title="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" />
<br />
<br />
<br /><font size=2 face="sans-serif">The ccDynamicView control is actually very small. &nbsp;It consists of 2 nested repeat controls with a pager control:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_OpenNTF/StoryRichTextMime/M6?OpenElement"  alt="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" Title="Image:John's Blog - XPages Dynamic View Custom Control - on OpenNTF.org" />
<br />
<br />
<br /><font size=2 face="sans-serif">I used Paul Calhoun's example </font><a href="http://xpagesblog.com/xpages-blog/2009/9/23/creating-a-dynamic-html-table-on-an-xpage.html" target=_blank><font size=2 color=blue face="sans-serif"><u>Creating a Dynamic HTML Table on an XPage</u></font></a><font size=2 face="sans-serif"> to add the columns to the tables as it iterates through the field list. &nbsp;By adding the &lt;xp:td&gt; tags around the repeat controls the Outline palette seemed to object to this and will not let me select the repeat control anymore with my mouse.</font><font size=3> </font><font size=2 face="sans-serif">This makes it difficult to edit the custom control through the interface. If you need to make changes, you need to use the source view.</font>
<br />
<br /><font size=2 face="sans-serif">This repeat control builds the columns and the view header by exploding the list of columns and iterating through them:</font>
<br />
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xp:tr</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xp:repeat</font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">id</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;repeat2&quot;</em></font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">rows</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;30&quot;</em></font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#800080 face="Courier New">value</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;#{</em></font><a href=javascript:@Explode(compositeData.columns)><font size=2 color=#4200ff face="Courier New"><em>javascript:@Explode(compositeData.columns)</em></font></a><font size=2 color=#4200ff face="Courier New"><em>}&quot;</em></font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">var</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;colName&quot;</em></font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#800080 face="Courier New">indexVar</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;colIndex&quot;</em></font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">first</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;0&quot;</em></font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xp:td</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br />
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xp:text</font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">escape</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;true&quot;</em></font><font size=2 face="Courier New">
</font><font size=2 color=#800080 face="Courier New">id</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;computedField1&quot;</em></font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#800080 face="Courier New">value</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;#{</em></font><a href=javascript:colName><font size=2 color=#4200ff face="Courier New"><em>javascript:colName</em></font></a><font size=2 color=#4200ff face="Courier New"><em>;}&quot;</em></font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#800080 face="Courier New">style</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New"><em>&quot;color:rgb(0,0,128);font-weight:bold&quot;</em></font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br />
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xp:text</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xp:td</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xp:repeat</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br /><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xp:tr</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br />
<br />
<br /><font size=2 face="sans-serif">The next repeat control retrieves the data set for the view depending on the fulltext and category parameters, and then retrieves the field values for document. &nbsp;Along the way it formats the rows for alternating color and builds the href links.</font>
<br />
<br />
<br /><font size=2 face="sans-serif"><strong>Cons</strong></font>
<br /><font size=2 face="sans-serif">On the downside to using this custom control, the view cannot be expanded and collapsed. &nbsp;Nor is their the ability to click a column heading and sort the data. &nbsp;If anyone knows how to add that feature please comment! &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">-John</font>
<br /> ]]></content:encoded><pubDate>Tue, 16 Feb 2010 06:46:34 -0400</pubDate><slash:comments>7</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=796ADCE4D4B63754882576CC0040B08E</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=796ADCE4D4B63754882576CC0040B08E</wfw:comment></item><item><title>Free Domino Designer 8.5 Courseware</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Free_Domino_85_Courseware</link><description><![CDATA[ The folks over at TLCC are providing a &quot;free&quot; introductory level Domino Designer 8.5 course. &nbsp;If you have some newbie Domino developers in your group, Domino developers that want to start learning XPages, or administrators that want to get up ...]]></description><dc:subject>Domino 8.5</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Free_Domino_85_Courseware</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Free_Domino_85_Courseware</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">The folks over at TLCC are providing a &quot;free&quot; introductory level </font><a href=http://www.tlcc.com/admin/tlccsite.nsf/pages/freeddcourse target=_blank><font size=2 color=blue face="sans-serif">Domino Designer 8.5 course</font></a><font size=2 face="sans-serif">. &nbsp;If you have some newbie Domino developers in your group, Domino developers that want to start learning XPages, or administrators that want to get up to speed on development, you should check out this course. &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">From my past experience, TLCC provides high quality courses with a focus on details. &nbsp;It is delivered within the Notes 8.5 client, which you can also </font><a href=http://www.ibm.com/developerworks/downloads/ls/dominodesigner/learn.html target=_blank><font size=2 color=blue face="sans-serif">download for free from IBM</font></a><font size=2 face="sans-serif">. &nbsp;Using the Notes client allows you to learn at your own pace and perform the corresponding exercises in the Designer. &nbsp;I had the opportunity to review their full blown XPages course last year and would recommend it to anyone wanting to learn XPages. &nbsp;Click </font><a href="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/TLCC-XPages-Course" target=_blank><font size=2 color=blue face="sans-serif">here</font></a><font size=2 face="sans-serif"> to read that review.</font>
<br />
<br /><font size=2 face="sans-serif">Here's an overview of the course modules:</font>
<br />
<ul>
<li><font size=2 face="sans-serif">What is Notes and Domino software? </font></li>
<li><font size=2 face="sans-serif">The role of the Notes client and Domino server </font></li>
<li><font size=2 face="sans-serif">Domino Application Architecture </font></li>
<li><font size=2 face="sans-serif">Using Domino Designer software </font></li>
<li><font size=2 face="sans-serif">Creating a Domino Application </font></li>
<li><font size=2 face="sans-serif">Creating Forms and adding fields </font></li>
<li><font size=2 face="sans-serif">Designing Views </font></li>
<li><font size=2 face="sans-serif">Creating XPages for your application</li>
<li><font size=2 face="sans-serif">Programming options in Domino Designer applications </font></li>
<li><font size=2 face="sans-serif">Deploying a Domino application</font></li>
</ul>
<br /><font size=2 face="sans-serif">For more details visit the </font><a href=http://www.tlcc.com/admin/tlccsite.nsf/pages/freeddcourse target=_blank><font size=2 color=blue face="sans-serif">TLCC site</font></a><font size=2 face="sans-serif">. &nbsp;Nowadays, everyone could appreciate free courseware....</font> ]]></content:encoded><pubDate>Sun, 7 Feb 2010 12:03:30 -0400</pubDate><slash:comments>1</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=4551FC42726D741C882576C3005DB457</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=4551FC42726D741C882576C3005DB457</wfw:comment></item><item><title>Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements</link><description><![CDATA[ Now that Domino Designer 8.5 is based on Eclipse, you can take advantage of some built in Eclipse features. &nbsp;Eclipse provides the capability for editing multiple elements in the same design window by splitting the window either horizontally or ...]]></description><dc:subject>Domino 8.5</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">Now that Domino Designer 8.5 is based on Eclipse, you can take advantage of some built in Eclipse features. &nbsp;Eclipse provides the capability for editing multiple elements in the same design window by splitting the window either horizontally or vertically.</font>
<br />
<br /><font size=2 face="sans-serif">Let's say you want to edit an XPage and a Custom Control together. &nbsp;Open up both the XPage and Custom Control as you normally would. &nbsp;Open up the Custom Control. Now drag the XPage tab onto the currently opened Custom Control in the design pane. &nbsp;Release the mouse when the icon turns to a black arrow and a black shaded outline appears:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" Title="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" />
<br />
<br />
<br /><font size=2 face="sans-serif">Once the mouse is released the screen will split and contain both design elements:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements/StoryRichTextMime/M3?OpenElement"  alt="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" Title="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" />
<br />
<br />
<br /><font size=2 face="sans-serif">This is not limited to XPages. &nbsp;If you want to edit a Lotusscript agent and view the associated Notes Form at the same time you don't &nbsp;need to flip back and forth between tabs anymore. &nbsp;You open both design elements as normal. &nbsp;Click on the Form tab. &nbsp;Now drag the Lotusscript Agent tab onto the opened window toward the right side of the screen this time:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements/StoryRichTextMime/M4?OpenElement"  alt="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" Title="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" />
<br />
<br /><font size=2 face="sans-serif">Here you can see the Form and Agent side by side:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/DDE_85_edit_multiple_design_elements/StoryRichTextMime/M5?OpenElement"  alt="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" Title="Image:John's Blog - Domino 8.5 DDE Tip - How to edit multiple design elements in the same window.  (Agents, Forms, Views, XPages, etc. )" />
<br />
<br /><font size=2 face="sans-serif">If you need more real estate temporarily, you can double click on the design elements title and it will maximize that window. &nbsp;Double clicking again will restore the window size.</font>
<br />
<br /><font size=2 face="sans-serif">To move the split window back to it's original tab you can drag the window back to the Tab bar and the window will return to normal.</font>
<br />
<br /><font size=2 face="sans-serif">Good stuff....</font>
<br />
<br /><font size=2 face="sans-serif">-John</font> ]]></content:encoded><pubDate>Mon, 1 Feb 2010 08:50:32 -0400</pubDate><slash:comments>2</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=3E6CF839D2A85C70852576BD004C09BC</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=3E6CF839D2A85C70852576BD004C09BC</wfw:comment></item><item><title>XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control</link><description><![CDATA[ I was working on an application where I had a number of views on an XPage that I would hide/show depending on the navigation selected. &nbsp;I thought it would be great not to have to embed every view on the page, plus build out all the XPages views.

Just ...]]></description><dc:subject>Domino 8.5 - XPages</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">I was working on an application where I had a number of views on an XPage that I would hide/show depending on the navigation selected. &nbsp;I thought it would be great not to have to embed every view on the page, plus build out all the XPages views.</font>
<br />
<br /><font size=2 face="sans-serif">Just for fun I looked into creating a custom control that would accept the view name, the columns/fields, the link to open, etc. as parameters. The custom control would then generate the view for me. It turned out not to be so difficult to build...at least a scaled down version of a view control.</font>
<br />
<br /><font size=2 face="sans-serif">There's more to do though, but I was curious before I put more time into this if this is something folks could use? &nbsp;Please comment and let me know if you could use something like this and I'll finish it and publish it on openNTF.org. &nbsp;You can try out the example here: </font><a href=http://www.jmackey.net/groupwareinc/demos/XPagesDynamicViewExample1.nsf/DynamicViewPage.xsp target=_blank><font size=2 color=blue face="sans-serif">Dynamic View Custom Control</font></a>
<br />
<br /><font size=2 face="sans-serif">Here's a screen shot of it in action. &nbsp;The top section is for demo purposes only. &nbsp;The view name, columns, etc., can be passed via scope variables (or anyway you want). &nbsp;There might be a use case to allow users to save their view preferences in a profile or config document. &nbsp;(the data in the example db is garbage, that's why it looks to be duplicated):</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" Title="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" />
<br />
<br /><font size=2 face="sans-serif">So far, here are the parameters that I pass to the custom control.</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control/StoryRichTextMime/M3?OpenElement"  alt="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" Title="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" />
<br />
<br /><font size=2 face="sans-serif">The custom control uses nested repeat controls to build the view. &nbsp;I used Paul Calhoun's example </font><a href="http://xpagesblog.com/xpages-blog/2009/9/23/creating-a-dynamic-html-table-on-an-xpage.html" target=_blank><font size=2 color=blue face="sans-serif">Creating a Dynamic HTML Table on an XPage</font></a><font size=2 face="sans-serif"> to add the columns to the tables as it iterates through the field list. &nbsp;By adding the &lt;xp:td&gt; tags around the repeat controls the Outline palette seemed to object to this and will not let me select the repeat control anymore with my mouse. &nbsp;I have to work on that because it's torture to work with like this....</font>
<br />
<br /><font size=2 face="sans-serif">Here's a screen shot of the custom control with the nested repeat controls. &nbsp;Not much to it. &nbsp;Right now I'm being challenged to add a sorting feature to the columns. &nbsp;Any ideas?:</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages_Dynamic_View_Control/StoryRichTextMime/M4?OpenElement"  alt="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" Title="Image:John's Blog - XPages: Generate Dynamic Views at runtime - Custom Control....opinions wanted" />
<br />
<br /><font size=2 face="sans-serif">-John</font> ]]></content:encoded><pubDate>Thu, 28 Jan 2010 11:04:06 -0400</pubDate><slash:comments>10</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=839F6939574BFE92882576B90058448D</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=839F6939574BFE92882576B90058448D</wfw:comment></item><item><title>XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere</link><description><![CDATA[ With the 8.5.1 release you can now run your XPages applications in the Notes client, composite applications, Mashup Center, and Websphere Portal. &nbsp;

Imagine taking some of your key Notes applications and adding an XPage front end to some core corporate ...]]></description><dc:subject>Domino 8.5</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">With the 8.5.1 release you can now run your XPages applications in the Notes client, composite applications, Mashup Center, and Websphere Portal. &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">Imagine taking some of your key Notes applications and adding an XPage front end to some core corporate functionality. &nbsp;Then componentizing those XPages and publishing them as components to your catalogs for consumption. &nbsp;Notes users can then add them to composite applications and take them offline, a Mashup Center user can add them to a mashup along with their sales projection spreadsheet, Portal users can wire them to their dashboards for drill down capabilities. &nbsp;All of this with one development tool, the Domino Designer!</font>
<br />
<br /><font size=2 face="sans-serif">The great thing here is this is not just surfacing your Notes data in these other platforms. &nbsp;This is providing the same Web 2.0 applications and functionality that Xpages delivers in a web browser to these platforms.</font>
<br />
<br /><font size=2 face="sans-serif">There are 2 new design elements/features in 8.5.1 that make all this possible: </font>
<br /><font size=2 face="sans-serif">- The ability to run your XPages applications in the Lotus Notes client, both on the server or locally. </font>
<br /><font size=2 face="sans-serif">- The new Component design element that allows you to split up your XPages applications into components for wiring in composite applications. &nbsp;Once you have defined your components, they are immediatley available to run in Notes Composite applications, the Mashup center or Websphere Portal as iWidgets....without any code changes!</font>
<br />
<br /><font size=2 face="sans-serif">All this with minimal design effort required on your part....point and click, drag and drop and you now created a component that has properties and events for wiring.</font>
<br />
<br /><font size=2 face="sans-serif">I have a new article published on </font><a href=http://www.eview.com/ target=_blank><font size=2 color=blue face="sans-serif">The View</font></a><font size=2 face="sans-serif"> that goes in depth step by step on how to utilize all these new features. &nbsp;It shows you how to create components and run your XPages applications in the Notes Client, composite applications, Mashup Center, and Portal. &nbsp;You can access the article here: </font><a href=http://www.eview.com/eview/VOLR6.nsf/CurrentIssue/D1B4233117C9DCF085257650005B56D6?OpenDocument target=_blank><font size=2 color=blue face="sans-serif">Domino Designer 8.5.1&#8212; XPages in the Notes Client, Composite Applications, Mashups, and Portal!</font></a><font size=2 face="sans-serif"> &nbsp;(<em>*requires login</em>)</font>
<br />
<br /><font size=2 face="sans-serif">Here's a preview:</font>
<br />
<br /><font size=2 face="sans-serif"><strong>Web Client and Notes Client</strong></font>
<br /><font size=2 face="sans-serif">This is an image of the sample XPages application running in a browser and also running in the Notes client. &nbsp;In this example I am using the same theme. &nbsp;Note the use of the @ClientType() formula in a computed field displaying what client the application is running in. You can use the @ClientType() formula in any JavaScript computable property to tailor the page to the client or the browser.</font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" Title="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" />
<br />
<br />
<br />
<br /><font size=2 face="sans-serif"><strong>Notes Client as Components in a Composite Applications</strong></font>
<br /><font size=2 face="sans-serif">In this screen shot I took the XPages application and created two components from it. &nbsp;It is very easy to add actions for the wiring since there are new client side simple action available. &nbsp;When the customer link is clicked it fires off the events sending the customer name and the customer address. &nbsp; &nbsp;The viewOrders component receives the customer name and filters the orders view to show only the orders for this customer. &nbsp;The Google map receives the address and opens up a street map showing the location. </font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere/StoryRichTextMime/M3?OpenElement"  alt="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" Title="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" />
<br />
<br />
<br /><font size=2 face="sans-serif"><strong>Mashup Center</strong></font>
<br /><font size=2 face="sans-serif">This picture shows the same components running in a mashup in the Mashup Center without any changes from the Notes client version! &nbsp;The Domino server projects the components as iWidgets for us so there is nothing we need to do to use them in the Mashup Center....just drag and drop and add the wiring. </font>
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere/StoryRichTextMime/M4?OpenElement"  alt="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" Title="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" />
<br />
<br /><font size=2 face="sans-serif"><strong>Websphere Portal</strong></font>
<br /><font size=2 face="sans-serif">Here is a screen shot of the XPage component running in Websphere Portal in the iWidget portlet along side two Portlet Factory generated portlets.<br />
</font><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/Running-XPages-Everywhere/StoryRichTextMime/M5?OpenElement"  alt="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" Title="Image:John's Blog - XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!" />
<br />
<br /><font size=2 face="sans-serif">This is really an amazing release! &nbsp;It is packed with hundreds of fixes and new features. &nbsp;These new features really open the door to developing applications for platforms that might have been previously out of reach for Domino developers.</font>
<br />
<br /><font size=2 face="sans-serif">A special thanks to </font><a href=http://www.wissel.net/ target=_blank><font size=2 color=blue face="sans-serif">Stephan Wissel</font></a><font size=2 face="sans-serif"> and Henry Christiaan who helped me troubleshoot issues I was having with the iWidget portlet in Portal. &nbsp;I was having problems getting the portlet to work in my test environment across my VMware servers. &nbsp;The resolution was to adjust the Ajax security settings in the portlet </font><a href=http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/dev/ajax_proxy_cfg_xml.html target=_blank><font size=2 color=blue face="sans-serif"><u>proxy-config.xml</u></font></a><font size=2 face="sans-serif">
</font><font size=3>to </font><font size=2 face="sans-serif">allow across servers and port access.</font><font size=3> &nbsp;</font><font size=2 face="sans-serif">These guys recently demoed similar functionality at the IBM Portal Excellence Conference 2009 in Macau China. &nbsp;Thanks for your help!</font>
<br />
<br /><font size=2 face="sans-serif">-John</font> ]]></content:encoded><pubDate>Mon, 19 Oct 2009 08:56:21 -0400</pubDate><slash:comments>5</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=BF8B81E7C045F0BD85257654004713D2</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=BF8B81E7C045F0BD85257654004713D2</wfw:comment></item><item><title>XPages: The View article(s) - How to Compute a Custom Control at Runtime</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-How-to-Compute-a-Custom-Control-at-Runtime</link><description><![CDATA[ I recently had 2 articles published in
The View that demonstrate how to compute which custom control to display at runtime based on a formula. &nbsp;This is similar to using a computed subform in traditional Notes/Domino development. &nbsp;

The first ...]]></description><dc:subject>Domino 8.5</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-How-to-Compute-a-Custom-Control-at-Runtime</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-How-to-Compute-a-Custom-Control-at-Runtime</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">I recently had 2 articles published in
</font><a href=http://www.eview.com target=_blank><font size=2 color=blue face="sans-serif">The View</font></a><font size=2 face="sans-serif"> that demonstrate how to compute which custom control to display at runtime based on a formula. &nbsp;This is similar to using a computed subform in traditional Notes/Domino development. &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">The first article provides the technical overview on how to accomplish this using a built-in XPages feature. &nbsp;The second article expands on the first by enhancing the custom control to allow the use of parameters so that it can be re-used in any of your applications.</font>
<br />
<br /><font size=2 face="sans-serif">Here's a synopsis of the articles. &nbsp;(<em>the full articles require a subscription login</em>)</font>
<br />
<br />
<table>
<tr valign=top>
<td colspan=2><a href=http://www.eview.com/eview/VOLR6.nsf/2a8bf6b62c61b60585256f2500684630/1d889b952ae09321852575da00466c40?OpenDocument target=_blank><font size=2 color=blue face="sans-serif"><strong>XPages &#8212; How to Compute a Custom Control at Runtime</strong></font></a>
<tr valign=top>
<td><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; </font>
<br /><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; </font>
<td><font size=2 face="sans-serif">When Domino developers first start exploring XPages, they naturally tend to compare the new XPages controls and functionality with traditional IBM Lotus Notes and Domino development: &#8220;I know what I want to do and how I would have accomplished it with Domino Designer. Now how do I do it in XPages?&#8221; </font>
<br />
<br /><font size=2 face="sans-serif">Take the concept of a Notes computed subform. I have heard many developers asking how this is handled in XPages. While many Notes concepts are handled the same way in XPages as in traditional Notes development, the computed-subforms concept is not one of them. </font>
<br />
<br /><font size=2 face="sans-serif">The XPages design component that most closely corresponds with subforms is the custom control. You use a custom control where you have a group of fields or functionality that you want to reuse on other XPages within your application. Once created, a custom control shows up in the Controls palette. Then you can drag and drop the control onto any XPage in your application. </font>
<br />
<br /><font size=2 face="sans-serif">In Notes, you can compute which subform to include on a form based on a formula. Computing which subform to include at runtime is an easy way to tailor the form and functionality without having to maintain numerous hide/when formulas. This is a very valuable feature for rapid application development. With XPages, however, there is no computed custom control. I&#8217;ll show you a technique to help you get functionality in XPages that is similar to computed subforms.</font>
<br />
<tr valign=top>
<td><font size=2 face="sans-serif">&nbsp; </font>
<td>
<tr valign=top>
<td colspan=2><a href=http://www.eview.com/eview/VOLR6.nsf/CurrentIssue/95DB4708AF35D0178525762D0042C3D3?OpenDocument target=_blank><font size=2 color=blue face="sans-serif"><strong>XPages &#8212; A Reusable Solution for Computing a Custom Control at Runtime</strong></font></a>
<tr valign=top>
<td>
<td><font size=2 face="sans-serif">In XPages development, you use a custom control when you have a group of fields or functionality that you want to reuse on other XPages within your application. In an earlier article (</font><a href=http://www.eview.com/eview/VOLR6.nsf/2a8bf6b62c61b60585256f2500684630/1d889b952ae09321852575da00466c40?OpenDocument target=_blank><font size=2 color=blue face="sans-serif">THE VIEW, 2009</font></a><font size=2 face="sans-serif">) I showed you how to use a custom control that computes which custom control to display on an XPage at runtime, similar to using computed subforms in Domino Designer.
</font>
<br />
<br /><font size=2 face="sans-serif">Now I&#8217;ll show you how to enhance that custom control so you can reuse it in any XPages application to compute any custom control at runtime. Plus, I&#8217;ll show you how to create custom control properties for parameters that can be accessed with serverside JavaScript. Learning how to parameterize your custom controls will enable you to build your own library of reusable controls for rapid application development.</font></table>
<br /><font size=2 face="sans-serif">-John</font>
<br /> ]]></content:encoded><pubDate>Sun, 13 Sep 2009 13:40:47 -0400</pubDate><slash:comments>3</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=C1F6200FAC5F78618525763000611E7D</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=C1F6200FAC5F78618525763000611E7D</wfw:comment></item><item><title>XPages - How to pass a Document Data Source to a Custom Control</title><link>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control</link><description><![CDATA[ In a previous article I explained how you can use the undocumented currentDocument data source object to get the data source for the XPage from a Custom Control. &nbsp;This works great if the XPage has one data source. What if you have multiple data sources? ...]]></description><dc:subject>None</dc:subject><dc:creator>groupwareinc</dc:creator><comments>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control</comments><guid isPermaLink="true">http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control</guid><content:encoded><![CDATA[ <font size=2 face="sans-serif">In a previous article I explained how you can use the </font><a href="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-CstomControls-Tip" target=_blank><font size=2 color=blue face="sans-serif">undocumented currentDocument data source</font></a><font size=2 face="sans-serif"> object to get the data source for the XPage from a Custom Control. &nbsp;This works great if the XPage has one data source. What if you have multiple data sources? &nbsp;For example, you want to include a custom control within a repeat control that is accessing multiple documents from a document collection or a view. &nbsp;The currentDocument variable would only point to the first data source on the XPage.</font>
<br />
<br /><font size=2 face="sans-serif">At first glance, looking at the data types that are available for parameters in a Custom Control, you cannot pass a data source object. The type list drop down is a list of standard JavaScript variable types. </font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M2?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br />
<br />
<br /><font size=2 face="sans-serif">But, if you click on the folder icon next to the Type field you will see an extended list of type available.</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M3?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br />
<br /><font size=2 face="sans-serif">Then from your XPage you can pass the datasource using computed JavaScript, such as: </font><font size=2 face="Courier New">&quot;OrderDetails.getDocument();</font><font size=2 face="sans-serif">&quot;</font>
<br />
<br /><font size=2 color=red face="sans-serif"><em>*updated - see note below</em></font><font size=3>
</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M4?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br /><font size=2 face="sans-serif"><strong>Binding fields on a Custom Control to a dynamic datasource</strong></font>
<br /><font size=2 face="sans-serif">The second part of this can be tricky. &nbsp;On your Custom Control you cannot use the &quot;Simple Data Binding&quot; option to bind your fields since you have no datasource set for the Custom Control, the datasource is dynamic. &nbsp;</font>
<br />
<br /><font size=2 face="sans-serif">The perfect solution for this is to use the Advanced -&gt; Expression Language (EL) binding. &nbsp;For example, to bind the field to the &quot;Comment&quot; field, we would use &quot;compositeData.docdatasource.Comment&quot;. &nbsp;Where....</font>
<br /><font size=2 face="sans-serif">- compositeData holds all the parameters for the Custom Control</font>
<br /><font size=2 face="sans-serif">- docdatasource is the parameter that we created that receives the datasource</font>
<br /><font size=2 face="sans-serif">- Comment is the field name on the Notes form</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M5?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br /><font size=2 face="sans-serif">Now, with that said, there is an issue with this in 8.5. &nbsp;DDE tries to convert the EL expression to a Simple data binding when you save and reopen the Custom Control. So it works the first time you enter it, but loses the binding when you edit the Custom Control. &nbsp;However, it looks like this is fixed in 8.5.1. </font>
<br />
<br /><font size=2 face="sans-serif">BUT, no sweat, I have a workaround. &nbsp;If you select JavaScript for the binding type, select &quot;Compute on page load&quot;, and then enter the formula as '#{compositeData.docdatasource.Comment}' it will continue to work.</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M6?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br />
<br /><font size=2 face="sans-serif">Here's an example of the Custom Control used with multiple Data Sources in action:</font>
<br />
<br /><img src="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/d6plinks/XPages-HowToPass-Data-Source-Custom-Control/StoryRichTextMime/M7?OpenElement"  alt="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" Title="Image:John's Blog - XPages - How to pass a Document Data Source to a Custom Control" />
<br />
<br /><font size=2 face="sans-serif">You can download this example </font><a href="http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/D6plinks/Xpages-DemoPassingDataSources.htm/$FILE/DemoPassingDatasource.nsf"><font size=2 color=blue face="sans-serif">here</font></a><font size=2 face="sans-serif">.</font>
<br />
<br /><font size=2 color=red face="sans-serif">*<em>update - by passing the NotesXSPDocument instead of the NotesDocument, the fields will automatically handle whether the document is in read or edit mode.</em></font>
<p><font size=2 color=red face="sans-serif"><em>To do this, select &quot;ModelDataSource&quot; as the type for the property.&nbsp; Then when passing the datasource from your XPage change the JavaScript from &quot;OrderDetails.getDocument()&quot; to just &quot;OrderDetails&quot;. </em></font>
<br />
<br /><font size=2 face="sans-serif">-John</font>
<br /> ]]></content:encoded><pubDate>Mon, 17 Aug 2009 09:29:37 -0400</pubDate><slash:comments>0</slash:comments><wfw:commentRss>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/CommentsRSS?Open&amp;id=728D191E13ADB55A88257615004A1EAC</wfw:commentRss><wfw:comment>http://www.jmackey.net/groupwareinc/johnblog/johnblog.nsf/PostComment?RunAgent&amp;id=728D191E13ADB55A88257615004A1EAC</wfw:comment></item></channel>
</rss>
