<?xml version="1.0" encoding="utf-8"?>
<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/">
<channel>
<title>Chris Toohey | Domino Guru</title>
<link>http://www.dominoguru.com</link>
<description></description>
<lastBuildDate>Fri, 03 Jul 2009 20:38:09 EST</lastBuildDate>
<language>en-us</language>
<image>
<title>Chris Toohey | Domino Guru</title>
  <url>http://www.dominoguru.com/logo.gif</url> 
  <link>http://www.dominoguru.com</link> 
  </image>
<item>
<title>Lotus Notes Domino CMS - RenderKit Teaser Video</title> 
  <link>http://www.dominoguru.com/pages/dominocms_renderkit_teaser.html</link> 
<description>
<![CDATA[ 
I've put together a simple little teaser video that shows off the RenderKit architecture for the Lotus Notes Domino CMS I'm currently working on and plan to use to host not only www.dominoguru.com but also a few pro-bono websites I'm putting together.
  ]]> 
  </description>
  <dc:subject>Projects</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/dominocms_renderkit_teaser.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/dominocms_renderkit_teaser.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I've put together a simple little <em>teaser</em> video that shows off the <em>RenderKit</em> architecture for the Lotus Notes Domino CMS I'm currently working on and plan to use to host not only <a href="http://www.dominoguru.com" title="Chris Toohey | Domino Guru">this site</a>, but also a few <em>pro-bono</em> websites I'm putting together.</p><p align=center><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/ruiRFs1t7r8&hl=en&fs=1&hd=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ruiRFs1t7r8&hl=en&fs=1&hd=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object> </p><p>Once complete, I plan on publishing the Lotus Notes Domino CMS to <a href="http://www.openNTF.org">OpenNTF.org</a>, so if you have any comments, questions, and suggestions, please feel free to comment in this post!</p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 01 Jul 2009 00:15:51 EST</pubDate> 
  <slash:comments>6</slash:comments> 
  </item>

<item>
<title>CMS: do I ask for a PRE/POST Body for each renderkit?</title> 
  <link>http://www.dominoguru.com/pages/06282009083316.html</link> 
<description>
<![CDATA[ 
One of the projects that I'm working on requires the creation of a content management system.  With this CMS, I plan on not only running the two project websites in question but also this site (>www.dominoguru.com). All sites require some basic content management with a mind to incremental updates once the website 'design' is finalized.
It's with that in mind that I'm using (what I'm referring to as) renderkits for the markup blocks within the application.
  ]]> 
  </description>
  <dc:subject>Projects</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06282009083316.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06282009083316.html</guid> 
<content:encoded>
<![CDATA[ 
<p>One of the projects that I'm working on requires the creation of a Lotus Notes Domino-based content management system. With this Lotus Notes Domino CMS, I plan on not only running the two project websites in question but also this site (<a href="http://www.dominoguru.com">www.dominoguru.com</a>). All sites require some basic content management with a mind to incremental updates once the website "design" is finalized.</p><p>It's with that in mind that I'm using (what I'm referring to as) <em>renderkits</em> for the markup blocks within the application.</p><p>There are 2 main types of actual <em>content</em> NotesDocuments in my CMS at this time: <em>documents</em> and <em>events</em>.</p><p>Each of these NotesDocument types contain actual data, while the other types of NotesDocuments simply tell the CMS what to do with the data.</p><p><em>content</em> NotesDocuments are used to create static blocks of content - such as the inclusion of <a href="http://www.google.com/friendconnect">Google Friend Connect</a> or the <a href="http://planetlotus.org/widgets.php" title="PlanetLotus.org Blog Widget">PlanetLotus.org Blog Widget</a>, which will be unique-keyed and can be used throughout the website.</p><p>The <em>renderkits</em> allow you to define a unique key, selection criteria, formula template, and count attributes - all of which will be used to create evaluated subsets of <em>documents</em> and <em>events</em> content markup.</p><p align=center><img src="http://www.dominoguru.com/pages/06282009083316.html/$file/CMS_renderkit_form.png" alt="CMS RenderKit Form UI" title="CMS RenderKit Form UI" /></p><p>An Agent runs against all active <em>renderkits</em>, using the search criteria to grab a NotesDocumentCollection against the CMS, and - using the Formula as a "template", does a simple Mail Merge-like meld of the NotesDocumentCollection content into the desired format... which is then saved <em>en masse</em> into the Body NotesItem for that given <em>renderkit</em>.</p><p>Pretty standard stuff as far as a CMS goes... but I had a simple question: should I allow for the definition of <em>pre</em> and <em>post</em> Body NotesItems in the <em>renderkit</em>; allowing the prefix and suffixing of content in the Body NotesItem?</p><p>My knee-jerk reaction was <em>sure, why not!</em>... but the more and more I think about it I'm not too sure.</p><p>See, for the intended usage scenarios, I will be using a <em>Page</em> NotesDocument to marry the <em>content</em> and the <em>renderkit</em> into the intended delivered content. I can define prefix and suffix information in the <em>page</em> as needed without worry.</p><p>Of course I imagine that there's no harm in adding it really... but that's where I turn to you:</p><script language="JavaScript" src="http://www.micropoll.com/akira/MicroPoll?id=179762"></script><noscript><div><a href="http://www.micropoll.com/akira/mpview/589457-179762">Click Here for Poll</a><a href="http://www.questionpro.com" title="online surveys">Online Survey</a><BR> | <a href="http://www.micropoll.com" title="Website Polls">Website Polls</a><BR> | <a href="http://www.contactpro.com" title="email marketing">Email Marketing</a><BR><BR> | <a href="http://www.ideascale.com" title="crowdsourcing">Crowdsourcing</a><BR><a href="http://www.micropoll.com/akira/MicroPoll?mode=html&id=179762">View MicroPoll</A></div></noscript><!-- END MICROPOLL JAVASCRIPT CODE --><p>And feel free to give your thoughts beyond the poll in the comments of this post (and thanks!).</p>
  ]]> 
  </content:encoded>
  <pubDate>Sun, 28 Jun 2009 20:33:16 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>The beginnings of my 'untitled' Project Management and Tasking project</title> 
  <link>http://www.dominoguru.com/pages/06252009025944.html</link> 
<description>
<![CDATA[ 
One of the latest projects that I'm working on is something that I absolutely need: a simple yet effective Project Management and Tasking application.
  ]]> 
  </description>
  <dc:subject>Projects</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06252009025944.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06252009025944.html</guid> 
<content:encoded>
<![CDATA[ 
<p>One of the latest projects that I'm working on is something that <strong>I</strong> absolutely need: a simple yet effective Project Management and Tasking application.</p><p>I've decided to try to make this process as public as possible <strike>in an effort to drive away <strong>all</strong> of my readership</strike> to show you an example of ground-up development for new projects.</p><p>For example, I've posted the following two snapshots of my notepad entries based on customer meetings that I've had to gather requirements which establish a <em>phase 1</em> and <em>phase 2</em> run of napkin development for said project (shown respectively):</p><p align=center><img src="http://www.dominoguru.com/pages/06252009025944.html/$file/nd_phase1.jpg" alt="Project Management and Tasking application - Napkin Development: Phase 1" title="Project Management and Tasking application - Napkin Development: Phase 1" /></p><p align=center><img src="http://www.dominoguru.com/pages/06252009025944.html/$file/nd_phase2.jpg" alt="Project Management and Tasking application - Napkin Development: Phase 2" title="Project Management and Tasking application - Napkin Development: Phase 2" /></p><p>Yeah... you really can't see much. But it's not the particular content that I really wanted to share but the overall process.</p><p>Thankfully, the customer is all for my sharing this project with the overall community (minus their specific extended-functionality requests, of course), and provided I can get this completed in a timely manner I'll coordinate with the OpenNTF groups and get this online for a download.</p><p>I plan on starting development on this project after this weekend, where I'm wrapping up one post-due project and my Domino Java Ajax Proxy wiki article (and example application download)... so stay tuned!</p><p>... ok, I'll share a few basic features and functionality that I'm looking to add:</p><p>I want to create a fluid multi-client UX, which means using the UI that I played around with a few weeks back to mirror the Facebook UX in a Lotus Notes Client application. That being said, I'm writing this for the Lotus Notes Client, Wap/Mobile browser clients, and eventually a Web Browser client. Silly order you may say, but the fat client and mobile clients were the big requirements for this one... as the Web Browser client is really something that's a <em>nice to have</em>.</p><p>As for the functionality in the application itself, each Project will act as a single NotesDocument, which each Task a Response NotesDocument. A Task can have a <em>dependant</em> Task, which will allow you to properly weigh assignee workload across all projects as well as pinpoint potential delivery delays.</p><p>Each Task will also act as a <em>milestone</em> within the overall Project, so each Task is weighted against an overall 100% completion rate with completed milestone percentages <em>rolling up</em> to the Parent Project NotesDocument. ... hopefully that makes sense!</p><p>So anything else that you'd like to see in this application? Time provided, I'd love to get some click-to-export functionality that will allow you to take the content into Excel, Symphony, Open Office, or even Microsoft Project.</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 25 Jun 2009 14:59:44 EST</pubDate> 
  <slash:comments>8</slash:comments> 
  </item>

<item>
<title>My opinion on the current OpenNTF exchange</title> 
  <link>http://www.dominoguru.com/pages/06232009071841.html</link> 
<description>
<![CDATA[ 
I have not mentioned my opinion on the OpenNTF.org committees and other current initiatives...
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06232009071841.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06232009071841.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I haven't mentioned my opinion on the <a href="http://www.openntf.org">OpenNTF.org</a> committees and other current initiatives... because (as a contributor and a project chef) I have yet to contribute in the publically-available forum nor did I participate in the open conference call wherein the steering committee had begged for (and continues to beg for) contributor and project chef feedback.</p><p>See, I didn't want to weigh in here on my blog due to the fact that the steering committee has made it a priority to establish feedback avenues where we could all share our thoughts, ideas, concerns, and frustrations.</p><p>I felt that taking the discussion out of those arenas and silo-ing it in my blog would do nothing to help the cause, but act to instead simply drive traffic to my site... and would quite frankly come across as self-centered and elitist.</p><p>I would instead recommend that you <a href="http://openntf.org/internal/workinggroupip.nsf">check out the OpenNTF Forum</a> that's been setup to handle these discussions and share your opinions therein. And I would suggest that if you wish to bring to the attention the current ongoings with the community, that your blog post point your readership to the forum.</p><p>That way, you're not only helping the cause - or at the very least giving it a fair chance to be understood - but also giving your readership the opportunity to contribute their thoughts, ideas, concerns, and frustrations.</p><p>That is... unless you're not into giving your readers all of the facts in your blog posts and wouldn't want them to form their own opinions.</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 23 Jun 2009 19:18:41 EST</pubDate> 
  <slash:comments>4</slash:comments> 
  </item>

<item>
<title>Why I like WebOS (and can't wait for the Palm Pre on ATT)</title> 
  <link>http://www.dominoguru.com/pages/06192009102822.html</link> 
<description>
<![CDATA[ 
I'm a developer. At my core, I'm a web application developer. I know enough Java to get myself into trouble, sure, and I can handle most any language with minimal ramp-up time required... but I absolutely know HTML, CSS, and JavaScript.
  ]]> 
  </description>
  <dc:subject>Device Lust</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06192009102822.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06192009102822.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I'm a developer. At my core, I'm a web application developer. I know enough Java to get myself into trouble, sure, and I can handle most any language with minimal ramp-up time required... but I absolutely know HTML, CSS, and JavaScript.</p><p>WebOS - at it's core - is a Linux-based OS that runs <a href="http://en.wikipedia.org/wiki/WebKit">WebKit</a>, meaning that the UI components for the WebOS devices are <strong>HTML</strong>, <strong>CSS</strong>, and <strong>JavaScript</strong>!</p><p>Palm reportedly chose to architect the WebOS to allow web application developers a zero-grade ramp-up time on developing custom applications and tweaking existing applications for the device OS.</p><p>Ever try to create a <em>Hello World</em> application for a Blackberry having no prior experience with Web Services, Java, etc.? How about Windows Mobile?! And while the iPhone certainly has it's adoption numbers and application developers, unless you jailbreak your phone you can't customize the device (nor load custom applications not downloaded from the Apple AppStore.</p><p>Android shows some real promise in this arena as well... but while it's an Open Source OS and I don't foresee anything from Google moving into obscurity, it's just not quite there yet.</p><p>So back to the WebOS. It's an OS that leverages my existing knowledgebase. I don't need to learn something knew to get the thing to work... and while I'm up for growing as an individual and learning new things to improve myself - who the hell has the time anymore?!</p><p>I want to be able to hit the ground running, make tweaks as needed, and get the device to do what I want it to do when I want it to do it... and from what I'm hearing WebOS is the platform that will allow me to do it.</p><p>For the Palm Pre itself as a device, the reviews I've heard are all saying that it's a solid device for <em>first generation</em> hardware, and the reported issues I've heard were more WebOS things that can be fixed with firmware updates.</p><p>Sprint currently has an exclusivity deal for the Palm Pre <a href="http://www.engadget.com/2009/05/29/sprint-affirms-palm-pre-exclusivity-through-2009/">through 2009</a>, which means we're potentially only 6 months out to a Palm Pre jumping networks and making it's way to Verizon and (High One willing) AT&amp;T!</p><p>Within 6 months, I'm banking on the WebOS being properly vetted by the Sprint adopters, any and all hardware issues brought to light, and a post-holidays launch across networks of a slick device that sports an operating system that I can really sink my teeth into (without reading too many online tutorials).</p><p>So what are your thoughts? Have your own wishlist device? Have opinions on which mobile device OS you prefer (and prefer to write applications for)? Fire away in the comments section!</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 19 Jun 2009 10:28:22 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>Facebook: Vanity URLs, Blackberry Client Update, and Fan Pages</title> 
  <link>http://www.dominoguru.com/pages/06162009034103.html</link> 
<description>
<![CDATA[ 
I grab http://www.facebook.com/christoohey, Facebook v1.6 for Blackberry hits, and PlanetLotus.org gets a Facebook Fan Page!
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06162009034103.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06162009034103.html</guid> 
<content:encoded>
<![CDATA[ 
<p>Friday night/Saturday morning Facebook - the most heavily adopted and active social networking community online (at least since the last time I checked) - finally offered vanity URLs. I jumped at the chance to grab <a href="http://www.facebook.com/christoohey" title="Chris Toohey on Facebook">http://www.facebook.com/christoohey</a>. Thus I've updated my contact information which can be seen on the right-hand column of the <a href="http://www.dominoguru.com" title="Chris Toohey | Domino Guru">DominoGuru.com</a> website. If you haven't done so already, grab your own vanity URL (and while your there, feel free to Friend Request me).</p><p>In the past few months, I honestly find myself spending more time on Facebook than I do on this website or across the other various social networking sites. This is due in part to it's flexibility and near-constant evolution as well as the limitations within my own weblog template.</p><p>Speaking of <em>evolution</em>, <a href="http://www.blackberry.com/newsletters/connection/owners_lounge/i409/featuredapps.shtml?MIG=4A37848ECAB953FCE10000000A659D85">Facebook v1.6 for Blackberry</a> just hit the Blackberry AppWorld. I'm installing it now and hoping that this release bridges the UX gap between previous releases and those on - for example - the iPhone Facebook client.</p><p>I'll play around with it later today and let you know whether it's worth upgrading/installing.</p><p>Something that <strong>is</strong> worth checking out right now is the Fan Page for <a href="http://www.facebook.com/pages/Planet-Lotus/99056356846">PlanetLotus.org</a>.</p><p>The thing about this particular Fan Page is that it's a solid stroke to bring the subject matter expertise and amazing content that's generated from within the <em>little yellow bubble</em> <strong>to</strong> a community that primarily may not know of the Lotus Online Community.</p><p>From the Fan Page, Yancy is pulling in the PlanetLotus.org content feed. This will allow us to quickly and easily click-and-share content that addresses our own needs as well as those that do not actively engage the blogs, podcasts, news items, and other amazing content that's aggregated at PlanetLotus.org.</p><p>So go grab your vanity URL, fan page PlanetLotus.org, and for the love of all things holy can you stop sending me Yoville requests?! ;-)</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 16 Jun 2009 15:41:03 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>developerWorks Author Contribution Program, Domino Wiki, and my latest article</title> 
  <link>http://www.dominoguru.com/pages/06122009033031.html</link> 
<description>
<![CDATA[ 
My latest article and example utility - the Lotus Domino Java AJAX Proxy - will be published, hopefully sometime this month, as a wiki publication on the Lotus Domino Designer Wiki.There it should find a much larger readership and hopefully become a more useful solution for those developers beyond the yellow bubble of our Lotus Online Community.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06122009033031.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06122009033031.html</guid> 
<content:encoded>
<![CDATA[ 
<p>My latest article and example utility - the <em>Lotus Domino Java AJAX Proxy</em> - will be published hopefully sometime this month as a wiki publication on the <a href="http://www-10.lotus.com/ldd/ddwiki.nsf" title="Lotus Domino Designer Wiki">Lotus Domino Designer Wiki</a>.</p><p>There it should find a much larger readership and hopefully become a more useful solution for those developers <em>beyond the yellow bubble</em> of our Lotus Online Community.</p><p>My publishing the article in the wiki instead of directly onto this site is only - I'll admit - partially due to the fact that I think it will get more eyes-on and evolve beyond v1.0 than if I were to publish it here. See, I get something out of publishing to the wiki.</p><p>After a quick exchange with Amanda Bauman ( <a href="mailto:abauman@us.ibm.com" title="Amanda Bauman">abauman@us.ibm.com</a> ) - where we discussed the article topic, the specific versions of Lotus technology used, etc. - I had pre-registered my to-be-written article for submission to the <a href="http://www.ibm.com/developerworks/aboutdw/dwa/" title="IBM developerWorks Author Achievement Recognition Program">IBM developerWorks Author Achievement Recognition Program</a>! I am currently an <em>IBM developerWorks Contributing Author</em>, but working my way to the <em>IBM developerWorks Professional Author</em> designation.</p><p>So - to recap - I'll publish the <em>Lotus Domino Java AJAX Proxy</em> article on the Lotus Domino Designer Wiki, gain points towards a new developerWorks Author designation, gain readership and further my exposure in the greater global IBM community.... all for the same effort that it would take me to publish it on my own site. Well, <em>on my own site</em> minus the benefit of it being seen outside of the Lotus Online Community, which often has the <em>you're preaching to the choir</em> result.</p><p>If you have ideas on articles, run a blog/website and about to write a new article, or just want to contribute to the wikis that little nugget of how-to information that helps get you through the day, contact Amanda Bauman and see if you can't be greedy like me!</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 12 Jun 2009 15:30:31 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>IBM Lotus Technical Information Education Community Meeting - June 2009</title> 
  <link>http://www.dominoguru.com/pages/06122009020728.html</link> 
<description>
<![CDATA[ 
Invitation: Monthly Lotus Technical Information & Education Community Meeting for June 23rd 2009
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06122009020728.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06122009020728.html</guid> 
<content:encoded>
<![CDATA[ 
<p align=center><img src="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-monthly-lotus-technical-information-education-community-meeting2/content/M3?OpenElement" alt="" title="" /></p><p><strong>Meeting Agenda</strong><ul><li>Community updates - hear the latest community news </li><li>Member spotlights - two contributors share their stories </li><li>Special Topics:<ul><li><strong>IBM Press</strong> - learn how to become an IBM Press author </li><li><strong>IBM Custom Content Assembler demonstration</strong> - see a new tool that allows you to assemble only the technical content YOU want to see!</li></ul></li></ul></p><p>For more information about our community, visit our <a href="http://www-10.lotus.com/ldd/ltieteamblog.nsf">blog</a>, <a href="http://www.facebook.com/home.php#/pages/Lotus-Technical-Information-and-Education/46376367191?v=info&amp;viewas=500053686">Facebook page</a>, <a href="https://greenhouse.lotus.com/communities/service/html/communityview?communityUuid=586f4bb8-2edf-48cd-892f-17e59d246240"> community page</a> in Lotus Greenhouse, or <a href=http://twitter.com/lotustechinfo>Twitter page</a>.</p><p>Audio replays are made available following each meeting.</p><p>For more information about this meeting - including conference call-in numbers, etc. - please view the <a href="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-monthly-lotus-technical-information-education-community-meeting2" title="Invitation: Monthly Lotus Technical Information & Education Community Meeting">posting at the LTIE Team Blog</a>.</p><p>Using the <a href="http://domino1.clearframe.net/icalendar.nsf" title="Domino iCalendar Demo">Domino iCalendar Demo</a> application that I've put together, you can add either Conference Call-in option that best meets your schedule:</p><p><ol><li><strong>Option 1:</strong> June 23rd, 2009 - <a href="http://domino1.clearframe.net/icalendar.nsf/entry.ics?open&UNID=0578C945A565DA9B852575D3006155AF" title="Invitation: Monthly Lotus Technical Information & Education Community Meeting - Option 1 - June 23rd 2009 10:00AM-11:00AM EST">10:00AM-11:00AM EST</a></li><li><strong>Option 1:</strong> June 23rd, 2009 - <a href="http://domino1.clearframe.net/icalendar.nsf/entry.ics?open&UNID=1E31D2B451D3C89B852575D300618457" title="Invitation: Monthly Lotus Technical Information & Education Community Meeting - Option 2 - June 23rd 2009 08:00PM-09:00PM EST">08:00PM-09:00PM EST</a></li></ol></p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 12 Jun 2009 14:07:28 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Domino URL Schemas for Domino CRUD API READ States</title> 
  <link>http://www.dominoguru.com/pages/06042009125941.html</link> 
<description>
<![CDATA[ 
Every Domino Web Application Developer has used the db/view/notesdocument URL Schema for accessing a NotesDocument in a Domino-based NotesDatabase.  That's the standard usage scenario. It's what we have all been taught. It's how Domino RAD drives us to develop.

But I'm curious... is there a better way? Specifically, does the db/Page_or_Form?open&UNID=X URL Schema, when combined with @URLQueryString and @GetDocField, lend to a better NotesDocument and NotesData access scenario?
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/06042009125941.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/06042009125941.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I posted a question yesterday across the various social networks (Facebook, MySpace, Twitter, LinkedIn, BrightKite, etc.) asking the following:<br /><br /><blockquote>Do you prefer db/view/doc or db/doc?open&UNID=X architecture for the front-end of the Domino CRUD API & web development?</blockquote><br /><br />... and I got some amazing feedback. Before I go into the feedback on the idea - which I'll admit 140 characters didn't quite do justice - I'll elaborate.<p><p><img src="http://www.dominoguru.com/pages/06042009125941.html/$file/thinker.png" alt="The Thinker" align=right class="pad" /><strong>Every</strong> Domino Web Application Developer has used the <em>db/view/notesdocument</em> URL Schema for accessing a NotesDocument in a Domino-based NotesDatabase. That's the standard usage scenario. It's what we have all been taught. It's how Domino RAD drives us to develop.</p><p>But I'm curious... is there a better way? Specifically, does the <em>db/Page_or_Form?open&UNID=X</em> URL Schema, when combined with <code>@URLQueryString</code> and <code>@GetDocField</code>, lend to a <em>better</em> NotesDocument and NotesData access scenario?</p><p>No, I haven't done benchmark testing yet on this, but avoiding a View Design Element that does nothing at times but add <em>bloat</em> to a NotesDatabase - to me - is just one of the many potential benefits to this approach.</p><p>Now, a few things that people brought up and that I think definitely should be mentioned:</p><p><ol><li><p><strong>This can impact/break <em>URL Walking</em></strong><br />Simply put, you can't delete the NotesDocument and expect to see the View.</li><li><p><strong>Most Domino Web Application Usage Experiences warrant Views</strong><br />... so why not just use the View.</li><li><p><strong>This can impact URL Permalinking</strong><br />Basing the URL up a NotesDocument UNID is easy, but it breaks any permalinking functionality, which can cause problems for bookmarking content or Search Engine Optimization.</li></ol></p><p>Now, I have an address for each of these items:</p><p><ol><li><p>This really depends on the expected usage experience. Do I want to return - potentially - a listing of all content if I navigate away from a specific content entry (NotesDocument)? Depending on the application, I might not want to. As for this "breaking", you can handle a missing UNID and where to redirect in that event in the design architecture.</p></li><li><p>Again, depends on what you need the application to do. For an application like Email, this meta-viewing of entries makes sense. For an application like a requisition, helpdesk, or jobs database, I don't think you'd want to return the customer back to a listing of all entries.</p><p>As far as rendering a NotesDocumentCollection in the UI, some could argue that unless there is a continuous update on View Entry contents, using a View can be unnecessary overhead. For example, if I were to render an entire "View Index" into a single NotesDocument as JSON and return those contents, I'm getting the exact functionality I would require without that overhead... but I'm getting ahead of myself here.</p></li><li>This... this I'm working on.</li></ol></p><p>For that last one, consider a technique that I've mentioned in the past (<a href="http://www.lotus911.com/nathan/escape.nsf/d6plinks/NTFN-7GA4FJ" title="Nathan T. Freeman's Andrew's Allusion (or Creating Primary Keys in NSFs)">Nathan T. Freeman's <em>Andrew's Allusion (or Creating Primary Keys in NSFs)</em></a>), where with <em>db/Page_or_Form?open&UNID=X</em>, <em>X</em> is something like <em>index.html</em>. The content - when created - is assigned a plain-text UNID by the customer (ie., <em>index.html</em>). Post submission, the NotesDocument UNID is set to <code>@ReplaceSubString(@Password(UNID); "(":")":":";"")</code>. This hash - for those curious - would result in a completely valid UNID (<em>3A8A735F029991B9844D181AE297DDDE</em>).</p><p>But I'm again getting ahead of myself.</p><p>Back to the original question: which method works best? I personally think that - once you have a handle on the UNID, <code>@GetDocUNID</code> would return a NotesDocument <strong>much</strong> faster than lookup via NotesView. Why? Well, consider this:</p><p>When you access a NotesDocument by it's UNID from the Web Browser Client via the <em>db/view/UNID</em> URL schema, the <em>view</em> simply becomes a placeholder, and is quite frankly ignored. Next time you see a Domino Web Application that uses this UNID URL schema, replace the <em>view</em> with either a <em>0</em> (zero) or <em>thisviewdoesnotexist</em>. Both will result in the NotesDocument being rendered. The View however <em>is</em> considered for things like Form Formula etc., as long as you don't use a zero or a non-existing element name.</p><p>I dunno, that sounds more dangerous to me than breaking the <em>URL Walking</em> and could potentially be another feather in the cap for the <em>db/Page_or_Form?open&UNID=X</em> URL Schema.</p><p>But like I said, I've yet to do any real benchmarking on this to see which is indeed faster or weigh the true benefits of one approach over another. For that, I'll open up the comments. Weigh in and let us know what you're thinking. If we get enough interest, I'll update the <a href="http://domino1.clearframe.net/example.nsf" title="Understanding the Domino CRUD API Example Database">Understanding the Domino CRUD API Example Database</a> to use both techniques.</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 04 Jun 2009 12:59:41 EST</pubDate> 
  <slash:comments>2</slash:comments> 
  </item>

<item>
<title>Lotus Technical Information and Community Kickoff a success!</title> 
  <link>http://www.dominoguru.com/pages/05262009114307.html</link> 
<description>
<![CDATA[ 
Option 1 of our Community Kickoff meeting today went without a hitch! We defined the objectives of the initiative, showcased not only the IBM Lotus Notes Domino Wiki but also the previewed the XPages-based Wiki template that will soon hit developerWorks, and established what Lotus Advocates already knew: this IBM initiative is about using the technology and collaborative tools in and beyond our products portfolio to establish and maintain connections with customers, subject matter experts, business partners, and IBM key players.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05262009114307.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05262009114307.html</guid> 
<content:encoded>
<![CDATA[ 
<p><em>Option 1</em> of our Community Kickoff meeting today went without a hitch! We defined the objectives of the initiative, showcased not only the IBM Lotus Notes Domino Wiki but also the previewed the XPages-based Wiki template that will soon hit developerWorks, and established what Lotus Advocates already knew: this IBM initiative is about using the technology and collaborative tools in and beyond our products portfolio to establish and maintain connections with customers, subject matter experts, business partners, and IBM key players.</p><p>Joyce Davis, the Community and Program Manager, has published today's presentation online in case you missed the meeting (or, like some were stuck in your car during the call!):</p><p align=center><div id="__ss_1488115"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jadintx/lotus-technical-information-and-education-community-kickoff?type=powerpoint" title="Lotus Technical Information and Education Community Kickoff">Lotus Technical Information and Education Community Kickoff</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lotuscommunitykickoff26-may-2009-090525215935-phpapp02&stripped_title=lotus-technical-information-and-education-community-kickoff" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lotuscommunitykickoff26-may-2009-090525215935-phpapp02&stripped_title=lotus-technical-information-and-education-community-kickoff" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">Keynote presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jadintx">Joyce Davis</a>.</div></div> </p><p>If you missed this morning's conference call and presentation, there's always <em><a href="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-to-lotus-technical-information-education-community-kickoff">Option 2</a></em>, which takes place tonight at 8PM Eastern (click-thru the link for all conference information).</p><p>And if you haven't done so yet, check out <a href="http://greenhouse.lotus.com">Lotus Greenhouse</a>, which will act as the home for this community initiative, which you can <a href="https://greenhouse.lotus.com/communities/service/html/communityview?communityUuid=586f4bb8-2edf-48cd-892f-17e59d246240">find here</a> (Lotus Greenhouse Login Required).</p><p>Once you've signed up, feel free to connect to me via their public Sametime server at <em>sametime.lotus.com</em>, where you'll be able to connect to other community members as well!</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 26 May 2009 11:43:07 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Using iCalendar to integrate Lotus Notes Domino Applications and the Microsft Outlook Calendar</title> 
  <link>http://www.dominoguru.com/pages/icalendar_domino-outlook.html</link> 
<description>
<![CDATA[ 
We've all heard of them if not experienced them first hand: a company decides to migrate their email and calendaring & scheduling from IBM Lotus Notes Domino to Microsoft Exchange... but keep their collaborative applications on IBM Lotus Notes Domino. The developers are often then tasked with integrating the aforementioned technologies to provide the customer base an improved usage experience.
  ]]> 
  </description>
  <dc:subject>Integrated Solutions</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/icalendar_domino-outlook.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/icalendar_domino-outlook.html</guid> 
<content:encoded>
<![CDATA[ 
<p>We've all heard of them if not experienced them first hand: a company decides to migrate their email and calendaring & scheduling from IBM Lotus Notes Domino to Microsoft Exchange... but keep their collaborative applications on IBM Lotus Notes Domino. The developers are often then tasked with integrating the aforementioned technologies to provide the customer base an improved usage experience.</p><p>This basic article shows you how you can create a very simple integration point with a Domino-based Online Calendaring Application (read: this <strong>will</strong> be in the <em>Public Build: Event Calendar</em>... once my schedule opens up and I can resume development) and the Microsoft Outlook Calendar. This approach would alternately work with <strong>any</strong> iCalendar-friendly application, such as Lotus Notes 7.n and greater or iCal for you Mac users.</p><p><strong>Summary:</strong></p><p>I'm currently working with a customer who uses Lotus Notes Domino 8.n for their collaborative applications while using Microsoft Exchange and Microsoft Outlook for their email and calendaring & scheduling solution. One of the Lotus Notes Domino applications in question was a pretty slick Events Calendar (note: <strong>not</strong> my <em>Public Build: Event Calendar</em>). While extending some of the base functionality of the application, the user community - when polled - loved the idea for a <em>Click to Add to Outlook</em> feature - allowing them to quickly add a given Event to their own calendars.</p><p>Now, there are plenty of different ways to do this, but I thought that I would settle for what could be the easier of the bunch and use the <a href="http://en.wikipedia.org/wiki/ICalendar" title="iCalendar">iCalendar</a> format.</p><p>So, the end result will be a simple link, labelled <em>Click to Add to Outlook</em>, which will use the iCalendar format.</p><p><strong>Build:</strong></p><p>A few things we should establish at this point:</p><p><ul><li>Each <em>Event</em> is a NotesDocument in the Lotus Notes Domino Event Calendar NotesDatabase.</li><li>We want to do this with the least impact to the current design and architecture of the NotesDatabase.</li><li>We want to do this quickly!</li></ul></p><p>This is one of those <em>nice to have</em> features in an application that grabs customer focus due to it's interactive capabilities. The usage experience is immediately improved and thus you have a happier customer... which is why we want to really deliver on this one.</p><p>So, let's get started with the build:</p><p>Design Elements:</p><p><ul><li><p>Page Design Element named entry.ics</p></li></ul></p><p>Yep... that's pretty much it! See, we really don't want to impact the current architecture of the Lotus Notes Domino Event Calendar NotesDatabase - as mentioned - so we're going to make this as non-invasive as possible. This alternately allows you to see how easy this approach is to adopt in your existing Lotus Notes Domino-based applications.</p><p>In my article <a href="http://www.dominoguru.com/pages/crud_3.html" title="Understanding the Domino CRUD API: $$Return and Smart Landing Pages">Understanding the Domino CRUD API: $$Return and Smart Landing Pages</a>, we showed how a very basic Page Design Element - when combined with a Domino URL Query String Parameter - could allow us to present context-sensitive data. In the example from the article, it was to display the data from the recently submitted NotesDocument. In this usage, we're going to use this to build our iCalendar format-based Event.</p><p>We'll use the following syntax to call our Page:</p><p><code>http://server/notesdatabase/<strong>entry.ics</strong>?open&UNID=<strong>NotesDocument UniversalID</strong></code></p><p>After we set the Context Type of our <em>entry.ics</em> Page Design Element to <code>text/calendar</code>, we'll put in the following combination of text markup and Computed Text Elements:</p><p><code>BEGIN:VCALENDAR<br />VERSION:2.0<br />PRODID:-//<strong>&lt;Computed Text&gt;</strong>//NONSGML v1.0//EN<br />BEGIN:VEVENT<br />DTSTART:<strong>&lt;Computed Text&gt;</strong><br />DTEND:<strong>&lt;Computed Text&gt;</strong><br />SUMMARY:<strong>&lt;Computed Text&gt;</strong><br />DESCRIPTION:<strong>&lt;Computed Text&gt;</strong><br />LOCATION:<strong>&lt;Computed Text&gt;</strong><br />CONTACT:<strong>&lt;Computed Text&gt;</strong><br />END:VEVENT<br />END:VCALENDAR</code></p><p>Each of these Computed Text Elements will use a variation of the following Formula:</p><p><code>UNID := @UrlQueryString("UNID");<br />@If(UNID = ""; ""; @GetDocField(UNID; "title"))</code></p><p>You can see from here that we're simply grabbing the UNID value from our URL Query String and using that to get a handle on the NotesDocument NotesItem that we need.</p><p>To use this, we simply add the following to either the View or Form Design Elements that render the Event Calendar entries to the UI:</p><p><code>"&lt;a href=\"entry.ics?open&UNID=" + @Text(@DocumentUniqueID) + "\"&gt;Click to Add to Outlook&lt;/a&gt;"</code></p><p>Pretty simple stuff huh?</p><p>If you'd like to see this in action, check out the simple <a href="http://domino1.clearframe.net/icalendar.nsf" title="Domino iCalendar Demo Example NotesDatabase">Domino iCalendar Demo</a> Example NotesDatabase application that I've put together.</p><p><strong>Conclusion:</strong></p><p>Using this technique can help you improve your customer usage experience far beyond that of calendaring & scheduling functionality. Consider other Content Type + functional data format combinations that will allow you to extend the usage of Lotus Notes Domino by pushing integration and showing just how flexible and feature-rich Lotus technologies can be!</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 22 May 2009 16:59:32 EST</pubDate> 
  <slash:comments>3</slash:comments> 
  </item>

<item>
<title>You're Invited to the Lotus Technical Information and Education community kickoff!</title> 
  <link>http://www.dominoguru.com/pages/05192009012709.html</link> 
<description>
<![CDATA[ 
You are cordially invited!
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05192009012709.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05192009012709.html</guid> 
<content:encoded>
<![CDATA[ 
<p align=center><a href="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-to-lotus-technical-information-education-community-kickoff"><img src="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-to-lotus-technical-information-education-community-kickoff/content/M2?OpenElement" alt="Lotus Technical Information and Education Community" title="Lotus Technical Information and Education Community" /></a></p><p><blockquote>You are cordially invited to the Lotus Technical Information and Education community kickoff! Our community consists of IBMers, business partners and customers who contribute to or use technical information for Lotus & WebSphere Portal products, as well as those who have worked with the Lotus Information Development Center to provide feedback to help improve our offerings.</blockquote></p><p>I believe I will be - despite all logic and good taste - speaking as the LTIEC Lead Advocate. So feel free to attend to hear about our community building strategy and learn how you can get involved, as well as listen to me stagger through being given the mic and trying not to sound too foolish!</p><p>Get more information <a href="http://www-10.lotus.com/ldd/ltieteamblog.nsf/dx/invitation-to-lotus-technical-information-education-community-kickoff">on the LTIEC's team blog</a> including the date, times, and call-in information!</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 19 May 2009 13:27:09 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>When do you NOT help?</title> 
  <link>http://www.dominoguru.com/pages/05182009124726.html</link> 
<description>
<![CDATA[ 
A simple tale of me weighing the option of helping someone when your morally or ethically (or possibly legally) opposed to their intended usage.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05182009124726.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05182009124726.html</guid> 
<content:encoded>
<![CDATA[ 
<p><img src="http://www.dominoguru.com/pages/05182009124726.html/$file/yellow.jpg" class="pad" align=right alt="Maybe it should be a Yellow Hatter?" title="Maybe it should be a Yellow Hatter?" />I was contacted the other day by someone who came across my website -- specifically my <a href="http://www.dominoguru.com/pages/disablekeepprivate.html" title="Disabling $KeepPrivate documents! - Chris Toohey | Domino Guru">Disabling $KeepPrivate documents!</a> article -- who was looking for a method to add a Readers-type NotesItem to selected emails in his mail NotesDatabase. The issue that he was running into, he explained, was that his company prohibited personal Agents (and I suspect that each user only has Manager access to their mail NotesDatabase).</p><p>After explaining the potential issues with doing this - from the obvious "you could potentially lock yourself out" to the potential legal and corporate policy implications - I found out that he was concerned about his "nosey" boss reading his email.</p><p>Now, while I want this person to know that there are capabilities within the Lotus Notes client that will allow them to gain a richer experience and can improve the way that they perform their day-to-day functions, I don't want to <em>condone</em> such actions by me telling him <em>how</em> to do this.</p><p>And therein lies an issue: where do you draw the line?</p><p>I like to consider myself - at times - a Lotus <a href="http://en.wikipedia.org/wiki/White_hat">White Hatter</a>, but one person's White Hat can be another's <a href="http://en.wikipedia.org/wiki/Black_hat">Black Hatter</a>. And in <em>this</em> particular case, I think the actions - at best - would be considered <em>black hat</em>, if not actionable!</p><p>So, Constant Reader, have you run into a similar situation?</p>
  ]]> 
  </content:encoded>
  <pubDate>Mon, 18 May 2009 12:47:26 EST</pubDate> 
  <slash:comments>6</slash:comments> 
  </item>

<item>
<title>IBM Lotus Community News - In case you missed it!</title> 
  <link>http://www.dominoguru.com/pages/05132009031656.html</link> 
<description>
<![CDATA[ 
I thought I'd take a few minutes to highlight and comment on several of the truly things you should know news items and upcoming events in the IBM Lotus Community lately.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05132009031656.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05132009031656.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I thought I'd take a few minutes to highlight and comment on several of the truly <em>things you should know</em> news items and upcoming events in the IBM Lotus Community lately.</p><p><em>May 10th, 2009</em>: <a href="http://planetlotus.org/4c796c">Nathan highlights</a> the Bob Picciano vs. Lotus Online Community Bloggers conference call, which took place on Friday, May 8th, 2009. I had the privilege of not only attending the call but asking Bob the following question:</p><p><blockquote>You'd mentioned that collaboration was the heart of the Smart Work initiative. Do you see certain products in the Lotus portfolio coming to the foreground? And conversely do you see some products falling to the background? Would we leverage more cloud services? Or are we looking at streamlining Domino? What's the break down as you see it to really drive this initiative home?</blockquote></p><p>At least that's what Nathan quoted me saying, which sounds a lot smarter than anything that normally falls out of my mouth...</p><p>Bob fielded each question - including this one - like someone who actually <em>gets</em> it. This was my first interaction with the current General Manager of IBM Lotus, and the impression that I left with was that Bob is <em>one of us</em>.</p><p>A few things that you should absolutely take away from the call:</p><p><ul><li><p><blockquote>Mac as a client alternative is shaking people up to understand that there's no reason I couldn't have the same level of proficiency with a slick client like Ubuntu.</blockquote></p><p>Nathan highlighted this one as well - the <acronym title="Bring Your Own OS">BYOOS</acronym> attitude of the Lotus product portfolio really shines through with this statement. Lotus products are a cost-savings alternative to competitive collaborative technologies - in part - due to their non-dependancy on Operating Systems, Hardware, etc.</p></li><li><p><blockquote>The other aspect of the applications is that it's not necessarily the traditional apps -- they can be apps that come through SaaS, web services, widgets and gadgets which are much less dependent on underlying technology, and as a consequence act as an enabler.</blockquote></p><p>I'll step back here and bring up a topic that was just discussed on the latest episode of <a href="http://1352report.wordpress.com/2009/05/12/lotus-marketing-101/">The 1352 Report</a>. In this episode, the gang discusses potential marketing to the <em>end user</em> customer.</p><p>The thing that <em>I</em> have always found in these <em>Lotus sucks</em> arguments that arguably helped spawn (or at least contributed to) the Lotus Marketing discussion is this: the <em>main</em> reason people complain about Lotus Notes is that they perceive a better usage experience with a different technology. They know the other technology. They've seen what it can do. They've heard good things about it. Whatever the case, the driver isn't something personal against a given Lotus product (again, in <em>most</em> cases) but the want of the day-to-day customer to have a better experience and ultimately an easier work day.</p><p>Now, in that context, consider Bob's statement. Lotus products can be used to deliver enterprise level, real-business issue-addressing solutions via SaaS, <em>cloud</em> solutions, widget and gadgets <strong>as well</strong> as traditional web browser or <em>fat client</em> applications without pushing a given technology. Hell, the technology should be seamless and transparent in the usage experience.</p><p>Does this change how you're building your Lotus product-based applications?</p></li><li><p><blockquote>There's so much more potential on what we can do today. We've got to get the word out. </blockquote></p><p>This - to me - was the biggest take away from that call. IBM understands - like every <em>yellowbleeder</em> knows - that we are working with an absolutely amazing product portfolio. IBM - more importantly - understands that they need to make customers know that too. And IBM is really starting to push initiatives to make this a reality. I think they understand that their marketing may be missing their targets. They understand that there is a <strong>lot</strong> of talent outside of the IBM organization and are looking to leverage it with new strengthened community interactions. And while it's not something that can happy overnight, it <strong>is</strong> happening!</p></li></ul></p><p><em>May 12th, 2009</em>: <a href="http://www.openntf.org/">OpenNTF</a>, just this past week, announced their Steering Committee members and released their new online web presence.</p><p>OpenNTF's <em>mission statement</em> (if you will):</p><p><blockquote>OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.<br /><br />Browse the catalog to find the projects, components and controls you're looking for which have been made available under the Apache license (ALv2).<br /><br />Get involved in OpenNTF by contributing code, discussing technical topics or submitting ideas for OpenNTF improvements.</blockquote></p><p>In the midst of this re-launch, long-time OpenNTF contributor <a href="http://www.qtzar.com">Declan Sciolla-Lynch</a> published the following observation: <a href="http://planetlotus.org/4cb5f8">Is OpenNTF In Danger Of Jumping The Shark</a>. Interesting points and concerns that I'm certain are shared amongst contributors and users alike, but the thing that I want to point out here - which serves to drive my earlier point home - is that IBM is <em>engaging</em> the community. In this case, it was by through the OpenNTF Steering Committee members and those IBMers who commented on the post. Definitely a must-read for anyone who leverages the amazing contributions, thankfully contributes themselves, or is especially concerned about IBMs involvement in the Open Source Lotus Notes/Domino community initiative.</p><p><em>May 13th, 2009</em>: And speaking of <em>community initiatives</em>, the <em>Lotus Technical Information & Education Community Kickoff</em> meeting is scheduled for <strong>May 26th, 2009</strong>.</p><p><blockquote><p>Join us for the first monthly meeting of the Lotus Technical Information and Education community! Our community consists of IBMers, business partners and customers who contribute to or use technical information for Lotus & Websphere Portal products, as well as those who have worked with the Lotus Information Development Center to provide feedback to help improve our offerings.</p><p>In this kickoff meeting, you'll hear about our community building strategy, meet some of our advocates who've agreed to help drive contributions, and learn how you can participate in our community to help keep technical information accurate, comprehensive, easy to find and relevant.</p><p>If you have product expertise to share or have opinions on how Lotus technical content can be improved, please join us for this important kickoff meeting! If you can't attend live, be sure to listen to the audio replay which will be posted following the meeting.</p></blockquote></p><p>To accommodate schedules, we've setup two meetings:</p><p><ol><li>May 26th, 2009 @ 9:00AM - 10:00AM Eastern (-5:00 GMT)</li><li>May 26th, 2009 @ 7:00PM - 8:00PM Eastern (-5:00 GMT)</li></ol></p><p>We will be updating the <a href="https://greenhouse.lotus.com/communities/service/html/communityview?communityUuid=586f4bb8-2edf-48cd-892f-17e59d246240">Lotus Technical Information and Education Community</a> (Greenhouse Login required) with more information on the meetings as we get closer to the date! If you're not on IBM Greenhouse (or <em>are</em> and haven't joined the the Lotus Technical Information and Education Community yet) there's still time to join before the call!</p><p>Those of you on Facebook can get more information via the following published events on the <a href="http://www.facebook.com/pages/Lotus-Technical-Information-and-Education/46376367191">Lotus Technical Information and Education</a> Facebook page:</p><p><ul><li><a href="http://www.facebook.com/event.php?sid=60d357df16478fb7b7166d08ab16c142&eid=80154914143">May 26th, 2009 @ 9:00AM - 10:00AM Eastern (-5:00 GMT)</a></li><li><a href="http://www.facebook.com/event.php?sid=60d357df16478fb7b7166d08ab16c142&eid=80135601723">May 26th, 2009 @ 7:00PM - 8:00PM Eastern (-5:00 GMT)</a></li></ul></p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 13 May 2009 15:16:56 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>Getting Lotus technologies to tomorrow's developers - Part 2</title> 
  <link>http://www.dominoguru.com/pages/05082009103554.html</link> 
<description>
<![CDATA[ 
Afer my post from the other day, Marie Scott shared information on the following IBM Program...
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05082009103554.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05082009103554.html</guid> 
<content:encoded>
<![CDATA[ 
<p>After my post from the other day - <a href="http://www.dominoguru.com/pages/05042009115128.html">Getting Lotus technologies to tomorrow's developers</a> - <a href="http://www.bleedyellow.com/blogs/crashtestchix">Marie Scott</a> shared information on the following IBM program: <a href="http://www-304.ibm.com/jct01005c/university/scholars/members/index.html" title="IBM Academic Initiative: Membership">IBM Academic Initiative</a> - part of the <a href="http://www-304.ibm.com/jct01005c/university/scholars/" title="IBM University Relations">IBM University Relations</a> program:</p><p>From the <em>Become a member</em> section:</p><p><blockquote>Join the IBM Academic Initiative and get access to our valuable resources, at no-charge.</blockquote></p><p>Great - where do I sign up?! ;-)</p><p><blockquote><strong>Who can join?</strong> Faculty members and researcher professionals at accredited institutions of learning and qualifying members of standards organizations, all over the globe. Membership is granted on an individual basis. There is no limit on the number of members from an institution that can join.</blockquote></p><p>I have contacted one of the people <em>in charge of</em> the IBM Academic Initiative and will hopefully have some more information to share on this program soon. Until then, check out the IBM Academic Initiative home page - especially if you work in the education field!</p><p>However, in the comments section of my post from the other day, Jan posts:</p><p><blockquote>We are a student organisation (11 national places) and we use notes internaly: 300 ID User, alumni as webuser, notes used as webCMS, email and to organise our projects. We do avything unpaid and during our freetime.<br /><br />We have two big problems with notes/domino right now: we once started with notes because we got a sponsoring from IBM. This is not anymore happening, you need to have some contacts in the right place, which we don't have anymore. This means two things: first we need to pay for updates, which is a big blow for our financial situation and second, we don't get to use new technology like sametime, conection and so on. Which basicly means that IBM misses the oppertunity to show their producs to 150 new students, which will become engineers and manager in a not so distant future.<br /><br />The bigger problem is, that we don't get any students anymore, which want to play around with a notes/domino system. Most of them want to play with "cool new" MS thingies or "cool PHP" and noone wants to learn the unsexy beast, which is notes/domino. This is becoming a big problem for us, as basicly our system is going into "unsupported" mode during these days as the main persons responsible for the system finished their studies.<br /><br />I think this is a problem with marketing: Notes is a software, which is "uncool" and so noone wants to have something to with it if he can't help it. Also, as it is not aimed at "normal" users, only at big companies, almost no student has heard of it or used it. And noone has thought about programming for it or played around as an admin.<br /><br />The even bigger problem is, that noone sees it as a future career path. PHP, Open source, MS, that's the way to go, but N/D?</blockquote></p><p>I've brought this comment out in it's own post, because I think it's something that should be discussed!</p><p>Now, I don't know Jan nor do I know the whole situation, but I think that we can all at some level empathize with that feeling of a great technology that we love being looked over for something that we absolutely know to be inferior, all the while being relatively helpless to do anything about it.</p><p>To address Jan's issues specifically:</p><p><ol><li><p>I don't know if Jan was enrolled in this program or another one and something changed... If you were not enrolled, it sounds as though this program may meet the needs of your school. If you <em>were</em> enrolled in this program... what happened?!</p></li><li><p>This issue goes to the heart of my post from the other day - how do we drive interest in a product that is being marketed and directed to CIOs and has no real focus toward the typical day-to-day customer usage experience.</p><p>Years ago - decisions like this were top-down, no questions asked. Today, that's shifting. Employers are looking to keep employees happy, but more importantly keep them productive. If that's the case, do you go with a product portfolio that no one's ever heard of?!</p></li></ol></p><p>Today I was lucky enough to participate in on a phone call with <a href="http://www.linkedin.com/pub/8/232/708">Bob Picciano</a>, as well as a few other Lotus Online Community bloggers. During the call, he described a scenario he recently experienced where someone using the Lotus Notes Client was able to go from their email into LinkedIn via a Live Text Widget. In a very real world scenario, this person was able to get the information that they needed within seconds using Lotus technologies! Before I could unmute, <a href="http://nathan.lotus911.com">Nathan</a> said what we were all thinking:</p><p><blockquote><strong>That</strong> needs to be in a viral video on YouTube!</blockquote></p><p>The good news? IBM <em>gets</em> it! They're engaging the community - business partner, customer, and global alike - like never before. There are new and exciting products and offerings, as well as better emphasis on adding requested (and often demanded) features into existing products. The technology <strong>is</strong> sexier, <strong>is</strong> more capable, and <strong>is</strong> focused on improving the real world day-to-day customer user experience.</p><p>But who knows about all of that hard work and innovation? How do we effectively showcase the Lotus product portfolio in a way that gets people as excited about XPages in the Lotus Notes Client as the most die-hard yellowbleeder? And while we put the pressure on IBM to create better product, better marketing material, and push the message... is there anything that we can do?</p><p>Thoughts and comments appreciated...</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 08 May 2009 10:35:54 EST</pubDate> 
  <slash:comments>6</slash:comments> 
  </item>

<item>
<title>Quickpoll: Frameset Design Elements in Lotus Notes Client Application UI Design</title> 
  <link>http://www.dominoguru.com/pages/05072009110231.html</link> 
<description>
<![CDATA[ 
In follow-up to my post from the other day, I thought I'd pose the following question via Twitter: Lotus Notes Client design question: Do you still use Framesets in your Application UI? The response from both Twitter and the various other social networking sites prompted me to create a quick MicroPoll...
  ]]> 
  </description>
  <dc:subject>Lotus Notes</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05072009110231.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05072009110231.html</guid> 
<content:encoded>
<![CDATA[ 
<p>In follow-up to my <a href="http://www.dominoguru.com/pages/lotusnotes_client_uidevelopment_considerations.html">post from the other day</a>, I thought I'd pose the following question via <a href="http://www.twitter.com/christoohey" title="Chris Toohey on Twitter: @ChrisToohey">Twitter</a>:</p><p><blockquote><a href="http://twitter.com/christoohey/status/1727403700" title="Chris Toohey on Twitter: @ChrisToohey Lotus Notes Client design question: Do you still use Framesets in your Application UI? ">Lotus Notes Client design question: Do you still use Framesets in your Application UI? </a></blockquote></p><p>The response from both Twitter and the various other social networking sites prompted me to create a quick <a href="http://www.micropoll.com">MicroPoll</a>:</p><p align=center><script language="JavaScript" src="http://www.micropoll.com/akira/MicroPoll?id=165365"></script><noscript><div><a href="http://www.micropoll.com/akira/mpview/589457-165365">Click Here for Poll</a><a href="http://www.questionpro.com" title="online surveys">Online Survey</a><BR> | <a href="http://www.micropoll.com" title="Website Polls">Website Polls</a><BR> | <a href="http://www.contactpro.com" title="email marketing">Email Marketing</a><BR><BR> | <a href="http://www.ideascale.com" title="crowdsourcing">Crowdsourcing</a><BR><a href="http://www.micropoll.com/akira/MicroPoll?mode=html&id=165365">View MicroPoll</A></div></noscript><!-- END MICROPOLL JAVASCRIPT CODE --></p><p>Now, understandably, this is a pretty wide-open alternative with <em>Frameset vs. 'Web'</em>, but I have this idea...</p><p>Look at the more successful cloud service solutions out there today. You're presented with - in most cases - a 3-column fixed layout with highly-stylized UI interaction with various functional nodes. Navigation to top-sections is fairly basic, with in-content drill-down options to specific content or functional sections.</p><p>This should be fairly simple to re-create within a Lotus Notes Client application without the *[conventional] use of Frameset Design Elements.</p><p class="note">* - Have to give myself an out if there comes a situation where I'll need to use a Frameset in some <a href="http://www.lotus911.com/nathan/escape.nsf/downloads/sesameStreet">unconventional ways</a>.</p><p>And I know this won't be possible for <strong>every</strong> application-type within the Lotus Notes Client, as certain applications have certain user experience expectations... which begs the questions for those of you who might answer "We have a corporate standard UI": maybe that's a bad thing in some cases?</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 07 May 2009 11:02:31 EST</pubDate> 
  <slash:comments>6</slash:comments> 
  </item>

<item>
<title>My developerWorks, MdW Intro Video, and quick teaser</title> 
  <link>http://www.dominoguru.com/pages/05052009092724.html</link> 
<description>
<![CDATA[ 
Taglined 'The Geekiest Social Network', My developerWorks just keeps getting better.As I mentioned, the IBM developerWorks crew have really taken the social network via Lotus Connections to the community, resulting in an influx of new IBM Online Community (not everyone sticks to Lotus - sad to report ;-) ) Bloggers making the scene and really contributing some great content.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05052009092724.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05052009092724.html</guid> 
<content:encoded>
<![CDATA[ 
<p><a href="http://www.readwriteweb.com/archives/ibm_launches_worlds_geekiest_social_network.php">Taglined</a> "The Geekiest Social Network", <a href="https://www.ibm.com/developerworks/mydeveloperworks">My developerWorks</a> just keeps getting better. <a href="http://www.dominoguru.com/pages/mydeveloperworks.html">As I mentioned</a>, the IBM developerWorks crew have really taken the social network via Lotus Connections to the community, resulting in an influx of new IBM Online Community (not <strong>everyone</strong> sticks to Lotus - sad to report ;-) ) Bloggers making the scene and really contributing some great content.</p><p>Aside from content generation, there's also the added bonus of grabbing your own <em>Subject Matter Expert</em> Connections Profile - which can work 24-7 for your business networking and collaborative efforts... provided your honest in your tagging and bio information of course!</p><p>If you haven't signed up yet, check out the following demo video showing off My developerWorks. And for those of you not particularly interested in social networking -- y'know... those of you with <em>resession-proof</em> jobs that know everything you'll ever need to know <strong>right now</strong> and are too busy telling the neighborhood kids to get off your lawn -- consider this yet another public example of a solid Lotus Connections playground!</p><p align=center><object width="660" height="405"><param name="movie" value="http://www.youtube.com/v/GsSjXiQCF-k&hl=en&fs=1&rel=0&hd=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/GsSjXiQCF-k&hl=en&fs=1&rel=0&hd=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="405"></embed></object></p><p>And for those of you already in the Lotus Online Community who have an established blog, I'm actually working with the crew at developerWorks on that. More details on that as they materialize - which will hopefully be soon!</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 05 May 2009 09:27:24 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Getting Lotus technologies to tomorrow's developers</title> 
  <link>http://www.dominoguru.com/pages/05042009115128.html</link> 
<description>
<![CDATA[ 
The other day, I had the pleasure of proctoring a development assessment to a local vo-tech school. The assessments were designed to test the principals of project-based development rather than focusing on a particular technology, which was broken up into 2 sections. Section 1, the student was tasked with creating a simple payrole application that accepted specifically-formatted input and was to be designed to provide specifcally-formatted output. Section 2, the student was tasked with creating an application logic diagram or pseudocoding based on a descriptive requirements document for a given project. The good news - for both sections - the kids rocked it!
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/05042009115128.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/05042009115128.html</guid> 
<content:encoded>
<![CDATA[ 
<p><img src="http://www.dominoguru.com/pages/05042009115128.html/$file/youngloti.png" alt="Vo-Tech - Wikipedia" title="Vo-Tech - Wikipedia" align=right class="pad" />The other day, I had the pleasure of proctoring a development assessment to a local <a href="http://en.wikipedia.org/wiki/Vo-tech">vo-tech</a> school. The assessments were designed to test the principals of project-based development rather than focusing on a particular technology, which was broken up into two sections. Section 1, the student was tasked with creating a simple payroll application that accepted specifically-formatted input and was to be designed to provide specifcally-formatted output. Section 2, the student was tasked with creating an application logic diagram or pseudocoding based on a descriptive requirements document for a given project. The good news - for both sections - the kids rocked it! They were able to understand - after my real-world explanations of <em>why</em> they'll actually need this in the field that they've chosen to go into - the need for creating manager/VIP-friendly overviews prior to delving into a given technology. They also quickly grasped the concepts of "sometimes it's just better to shut up and give the [manager/VIP] what they want instead of trying to tell them of a better way to do things"... especially when the manager/VIP driver - in this case - was a state assessment looking for specific output and application functionality.</p><p>The more <em>left-brained</em> completed the tasks first while the more <em>right-brained</em> were focusing on cleaning up their workflow diagrams and color-coding various items, etc.. It was an absolutely fascinating look into the young mind, and a great tool for me to gauge the mistakes that I make even to this day: either ignoring UI for speed of delivery or actually focusing on UI or refining functional processes resulting in delayed delivery.</p><p>While waiting for the students to finish, I began chatting with and answering questions of the more curious who had turned in their work. After telling them that they actually <strong>would</strong> use algebra - sometimes every day in fact - I began to talk to them about what technologies excited them.</p><p>The results? Mixture of mobile devices/software, gaming, and web. Kind of what I had expected to be honest...</p><p>What I hadn't expected was one of the students showing me their classroom textbook. It was a shock to see that their development textbook was a Microsoft .Net Student Resource Book. In chatting with the kids, I quickly realized - in absolute horror - that all assumed the need to leverage .Net to do <em>work</em>-related development while other development technologies were more for personal/non-professional ventures.</p><p>Before I left for the day, I spoke at length with the teacher, and expressed my surprise in their understanding of what technologies were being used in the enterprise while also offering to come in at a later time and speak with students - outlining both the various technologies and ways those technologies are used in the enterprise, while additionally showing them some pretty slick <em>real world</em> enterprise-level applications.</p><p>So it looks as though I'll be helping expand some minds - if not this semester - then in upcoming semesters.</p><p><em>So what's with the title of this post?!</em> I hear you ask? Well, several things...</p><p><ol><li><p>I am absolutely eager to push Lotus technologies... but that's taking a biased stand, ultimately doing the students the same disservice that educating them in .Net is doing today.</p></li><li><p>If I can focus more on globally adopted technologies, methods, etc. - such as XHTML, JavaScript, Java, et al - I can not only showcase some <em>you can do this today</em> work but ensure that I don't teach them today what turns into a moving/lost target tomorrow when they're in working world.</p><p>For example, if I teach the kids about Lotus Notes and focus on <code>@Formula</code>, who's to say that @Formula will be around by the time they hit the enterprise? Look at the C API. Sure, still useful... as long as you're running a C-based client/server. And with XPages moving to the Lotus Notes client and a possible localized SSJS engine - <code>@Formula</code> becomes more of a legacy thing than anything. <acronym title="Your Mileage May Vary">YMMV</acronym> here; that's just my opinion...</p></li><li><p>Does IBM offer student discounts/training materials/etc.?</li></ol></p><p>For that last one, I'm completely ignorant -- I don't know! Are such discounts and courseware available? Is the development environment readily available to a student?</p><p>I suspect not...</p><p>This isn't an attempt at a re-hashing of the <em>Domino should be free!</em> thing - don't get me wrong - but... well, two quick examples and then I'll leave it to the comments section of the post:</p><p><ol><li><p>A few months ago I was contacted by a college student in Ireland who's professor is teaching them Lotus Notes. Awesome right? What I thought was <strong>really</strong> cool was the fact that Will - this student - came across the Lotus Online Community. Will, if you're still listening, check in and share!</p></li><li><p>One of my <em>Notes Shop</em>-customers decided to outsource two of their IT department groups - helpdesk and desk-side support - to a somewhat local firm. This firm does not have a competency in Lotus Notes. When I engaged the site manager, she informed me that she was unable to find anyone in the area <em>that knows Lotus Notes</em>.</p></li></ol></p><p>Lotus Notes is a technology that - today - you don't go out and actively seek to learn unless 1) you have a job requirement to do so or 2) are looking for employment in a company that uses Lotus Notes... and thus have a job requirement to do so.</p><p>Can that be changed?</p><p>Why do people want Microsoft Exchange? Simple really, Outlook is what they use at home. It's what they're familiar with. It's what they know. There's no ramp-up time needed. It's consumer-ware. Consumer-ware - incidentally - that drives technology purchases in the enterprise.</p><p>Is it better? Not as far as I'm concerned. Is it safer/more secure? Not hardly. Do people care? Not really...</p><p>It's not the featureset or the capabilities of a product that gets people to use it, it's the ease of getting it, ease of use, and not having to feel like you know how to use it in order to use it.</p><p>Ok, last point, and then I'm getting back to the project list. It's Monday after all...</p><p>Do you think people want to hear <em>well, you're using it wrong</em> or <em>it's not just email, but an application platform</em>? With responses like that, you wonder why some people in IT are thought of as egotistical prigs...</p>
  ]]> 
  </content:encoded>
  <pubDate>Mon, 04 May 2009 11:51:28 EST</pubDate> 
  <slash:comments>10</slash:comments> 
  </item>

<item>
<title>Application UI Development - Lotus Notes Client Standards or 'Teh nEw H0tn3ss'?</title> 
  <link>http://www.dominoguru.com/pages/lotusnotes_client_uidevelopment_considerations.html</link> 
<description>
<![CDATA[ 
While following 'Lotus Notes' on Twitter, I came across a particular complaint that got me thinking - how should we be designing our Lotus Notes Client Applications?
  ]]> 
  </description>
  <dc:subject>Lotus Notes</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/lotusnotes_client_uidevelopment_considerations.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/lotusnotes_client_uidevelopment_considerations.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I've been - as several people suggested - following a Twitter keyword search for "Lotus Notes".</p><p class="note">Note: I warn any yellowbleeder thinking of doing this - you will hear the most inane, hate-filled, and saddening complaints about Lotus Notes you've ever heard. Twitter - if anything - has given everyone creative license to air their grievances, and creates 140-character <a href="http://www.urbandictionary.com/define.php?term=internet%20tough%20guy">Internet Tough Guys</a>.</p><p>Some complaints are valid, of course, but one in particular made me stop and think. Here's the exchange:</p><p><blockquote>In training for lotus notes 8.5. Now it sucks *and* uses all your ram!</blockquote></p><p>My response:</p><p><blockquote>curious - and not trolling - what don't you like about Lotus Notes?</blockquote></p><p>And their responses:</p><p><blockquote>it's slow, uses strange non-standard ui for no reason, and I've never used an app with a more cluttered interface</blockquote></p><p><blockquote>it's all about the ui. its 2009. Don't give me a 1994 interface! I'm used to macs and iPhones!</blockquote></p><p>This got me thinking... How should we be developing our Lotus Notes Client applications? I understand the move to Web 2.0-UIs for Domino Web Applications, but the vast majority of Lotus Notes Client Applications have a similar basic layout:</p><p align=center><img src="http://www.dominoguru.com/pages/lotusnotes_client_uidevelopment_considerations.html/$file/layout_example.png" alt="An example of a typical Lotus Notes Client Application User Interface" title="An example of a typical Lotus Notes Client Application User Interface" /></p><p>Left-hand navigation, top-row action menu, and a <em>NotesView</em> pane where all of the action is. NotesDocuments are often modified via <em>Open in New Tab</em>, ModeChange to Edit Mode, Save and Close. Some Notes Client Applications allow for multi-NotesDocument processing via gutter selection, clicking an action from the View Design Element's <em>Action Bar</em>, and finally refreshing the NotesUIView.</p><p>Is this wrong? Wait... that's not fair. Does this meet the <em>user experience</em> expectations set by the majority of today's consumer-facing, popular, and heavily-adopted solutions?</p><p>I guess my real question is this: If you were not restricted by limitations of the given client, how would <strong>you</strong> <em>design</em> your application user interfaces?</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 01 May 2009 15:30:12 EST</pubDate> 
  <slash:comments>11</slash:comments> 
  </item>

<item>
<title>How I Met [Their] Mother: Celebrating our 10 Year Anniversary!</title> 
  <link>http://www.dominoguru.com/pages/himtm.html</link> 
<description>
<![CDATA[ 
Today marks the 10 year anniversary of my marriage to the most amazing, capable, strong, and beautiful woman I've ever known.
  ]]> 
  </description>
  <dc:subject>Personal</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/himtm.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/himtm.html</guid> 
<content:encoded>
<![CDATA[ 
<p>Today marks the 10 year anniversary of my marriage to the most amazing, capable, strong, and beautiful woman I've ever known.</p><p>To share in the celebration, I thought that I'd tell you all how I was lucky enough to meet Mrs. Shirley Toohey:</p><p>After successfully completing my run at Indiana University of Pennsylvania by failing out, I was working at a local self-service gas station. Eight-hour shifts were consumed by interacting with the occasional pre-paying customer (or those who would buy items from the in-building <em>convenience mart</em>), toiling away in my sketchpad or notebook (paper, not electronic), and smoking <strong>way</strong> too many easy-access cigarettes. The job did have it's perks - of course - all the free coffee you could drink (as long as you made it) and it was better than laying <a href="http://en.wikipedia.org/wiki/Asphalt ">asphalt</a>!</p><p>On October 13th, 1998, a young woman with shoulder-length blonde hair walked in to pre-pay for gas.</p><p>"I'll take $11.50 on Pump 3, please...".</p><p>I looked up from my sketchpad into eyes that took my breath away.</p><p>I understandably stammered in my response, "Well that's a precise figure!".</p><p>"I have a bet going - I know it'll take $11.50!", she bubbled - turning her head over her shoulder to her car.</p><p>At this point, my heart sank. Standing at Pump #3 were two guys, one of which was actively pumping gas. I'd like to say that I didn't flirt with a woman that was obviously accompanied by two men, but I am proud to say that I did!</p><p>The rest of the conversation - mostly small talk - was brief, and interrupted by a tone from my register.</p><p>"Hey - looks like you won your bet!"</p><p>From there - to be honest - it was awkward. The storybooks and fairytales tell you you'll find your true love at a galant evening ball, or that you'll rescue her from a tyrant of sorts (no doubt fire-breathing)... not that you'll small talk while she's getting gas from behind bullet-proof glass.</p><p>She left. And like an idiot, I let her go. I was so fixed in the moment that I didn't realize it had ended. I was drunk from the brief experience, and only sobered up when I realized that I would more than likely never see her again.</p><p>I'd like to tell you that a few minutes later she came running back into the store. I'd even settle for telling you that she came in several hours later for some of my coffee.</p><p>She didn't.</p><p>One of the guys at Pump #3 did however...</p><p>My first thought - and I think anyone growing up in the Manayunk/Roxborough area of Philadelphia can imagine this quite easily - was that my flirting was either noticed by or mentioned to said guy, who let it build up for several hours before confronting the jerk who'd dared to flirt with his girlfriend.</p><p>The first words out of his mouth all but confirmed my suspicions.</p><p>"Uh, yeah - do you remember a girl that came in here a while ago?".</p><p>My eyes darted to the unlocked, ajar door to my bulletproof-glass enclosed room and I cursed myself for not having locked it on my last trip through, "Uhh.. buddy, there's a lot of girls that come in here. Did you need gas?".</p><p>Persistent, he continued "Right. Well, she's blonde, about --".</p><p>"Well, there're a lot of blondes that come in here. Look, my manager gets really upset with me if I chat with the customers, and --".</p><p>"She's my sister, and she's being really annoying. She hasn't stopped talking about you since we left here. Actually wanted me to drive the car around so she could stop back in for more gas. I'm kinda sick of listening to her - here's her number...."</p><p>I was gobsmacked; absolutely stunned. The adrenaline that was first fueling my "fight or flight" response to an assumed threat was now making my head spin, and after saying "Thanks!" I found myself alone, in the store, totally geeking out that I had a number. Correction: I had <em>her</em> number.</p><p>I was 19. And rule #1 in dating is that you don't call your would-be suitee and gush "OHMYGODILOVEYOUTOOLET'SDATEANDGETMARRIEDANDHAVEKIDSANDLIVEINAHOUSEANDHAVEADOG!!!". You gotta play it cool! And, to be honest, I was hesitant to call in case this was a "let's mess with the gas station dude" prank.</p><p>The next night, I got settled, did that pre-first-phonecall self-peptalk/controlled breathing exercise, and dialed the number.</p><p>Any hesitation I had, any self-doubt or concerns instantly melted away. It's hard to explain - talking was effortless, familiar; it felt right.</p><p>An hour into the call, she asked me my age. Her reaction to my admission of being "only 19" was expected: a successful, professional, and established 24 year old does not date a 19 year old gas station cashier unless they're in a <a href="http://en.wikipedia.org/wiki/Uptown_Girl">Billy Joel</a> song.</p><p>So, adamantly stating that it was <strong>not</strong> a date, we agreed to meet that evening to "hang out".</p><p>She picked me up from my parents (down the street, in fact), and we quickly planned the evening: a quick stop to Blockbuster video before heading back to her apartment to watch said rental.</p><p>The movie was <a href="http://en.wikipedia.org/wiki/My_Giant">My Giant</a>, which to this day we've never watched. It played on the television, ended, auto-rewound, and sat at the VCR's default blue-screen while we talked late into the night.</p><p>I had found a person by happenchance that - pardon the cliche - absolutely completed me. Silly age-difference be damned!</p><p>The rest of the courtship? Well, that's for another time. I'll share the stories of her dumping me on my birthday weekend (which was only a few days after we met - October 17th!) and <em>coming to her senses</em> shortly thereafter, and such in subsequent posts for those of you interested in such tales of unfocused, chaotic young love.</p><p>Today, my wife has grown to become even more amazing, even more breathtaking, best friend and partner in my life, and I again fall in love with her each passing day. She brings out the best of me in everything that I do, is there for me when I fail, and is my proof that a single person can change the world.</p><p>Shirley -- if you get the chance to read this -- Elephant Shoes! Perhaps we'll not-watch the still shrink-wrapped <em>My Giant</em> DVD tonight...</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 30 Apr 2009 12:04:53 EST</pubDate> 
  <slash:comments>6</slash:comments> 
  </item>

<item>
<title>IBM developerWorks introduces My developerWorks - Social Networking via Lotus Connections</title> 
  <link>http://www.dominoguru.com/pages/mydeveloperworks.html</link> 
<description>
<![CDATA[ 
Looks like the cat is now out of the bag! IBM and the IBM DWadvancedDesign team have been working on a new Lotus Connections offering, this time taking the collaborative abilities of IBM Lotus Connections to the community with My developerWorks!
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/mydeveloperworks.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/mydeveloperworks.html</guid> 
<content:encoded>
<![CDATA[ 
<p>Looks like the cat is now out of the bag! IBM and the IBM DWadvancedDesign team have been working on a new Lotus Connections offering, this time taking the collaborative abilities of IBM Lotus Connections <strong>to</strong> the community:</p><p><blockquote>Welcome to a new way to connect and interact with your fellow developers. With My developerWorks, create your own personalized profile and custom home page (My Home) to get instant access to the people, feeds, tags, bookmarks, blogs, groups, forums, etc. that you care about.</blockquote></p><p>This is not <acronym title="Yet Another Connections Island">YACI</acronym>, as IBM has both - as I'd mentioned - taken the social network to the community as well as shown how an active, existing, and feature-rich environment such as developerWorks can adopt Lotus Connections. So far, so good!</p><p>I was asked earlier in the month to preview <a href="https://www.ibm.com/developerworks/mydeveloperworks/" title="IBM: My developerWorks">My developerWorks</a>, where I immediately setup my <a href="https://www.ibm.com/developerworks/mydeveloperworks/profiles/user/christoohey" title="Chris Toohey's My developerWorks profile">My developerWorks Profile</a> and began to dive into the site.</p><p>The bad news? Yancy might be busy updating <a href="http://www.planetlotus.org">PlanetLotus.org</a> with all of the newly launched Lotus-themed blogs!</p><p>I'm attempting to work with the DWadvancedDesign team to create a facility for existing bloggers to cross-post their content to a DW-based blog - allowing the existing blogger more exposure to the global Lotus Online Community beyond the <em>yellow bubble</em> while said blogger not having to do anything more than claiming their RSS feed. More on that when I have something to share!</p><p>Until then, check out <a href="https://www.ibm.com/developerworks/mydeveloperworks/" title="IBM: My developerWorks">My developerWorks</a>, create your profile, and feel free to add me as a colleague/connection!</p><p>And if you don't have one already, this is the <strong>perfect</strong> excuse to start a weblog!</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 30 Apr 2009 10:36:58 EST</pubDate> 
  <slash:comments>5</slash:comments> 
  </item>

<item>
<title>Feedback/Opinions Wanted!</title> 
  <link>http://www.dominoguru.com/pages/lotussupport_twitter.html</link> 
<description>
<![CDATA[ 
Just recently, fellow Lotus Advocate Bruce Lill, IBM Lotus Advocate Community Manager Joyce Davis, and I discussed ways that we could reach out far beyond our Yellowverse and reach those customers and fellow geeks that are either unfamiliar with ordo not frequent the Lotus Online Community or otherwise outside of the breadth of our reach, but that could benefit from our help and expertise.
  ]]> 
  </description>
  <dc:subject>Community</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/lotussupport_twitter.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/lotussupport_twitter.html</guid> 
<content:encoded>
<![CDATA[ 
<p><img src="http://www.dominoguru.com/pages/lotussupport_twitter.html/$file/LotusAttackKittens.png" alt="Lotus, Lotus, Lotus Attack Kittens -- HO!" class="pad" align=right />The best thing about this community - that is the Lotus Online Community proper - is that we're all willing to help each other. I've seen our band of <acronym title="Subject Matter Experts">SMEs</acronym> selflessly reach out first via discussion forums, then via what became the Lotus Online Community via SME-led websites/blogs, and even today via the various social networks and services like LinkedIn, Facebook, YouTube, Twitter, and et al.</p><p>As collaborative technology evolved, so has this community - which admittedly only makes sense due to our usage and expertise in collaborative technologies - and we continue to find new and exciting ways to spread our collective knowledge outside of our ever-expanding community.</p><p>Just recently, fellow Lotus Advocate <a href="http://www.kalechi.com/homesite.nsf/all/CEABC3178DC9E36286256D1F0064A3F6" title="Bruce Lill">Bruce Lill</a>, IBM Lotus Advocate Community Manager <a href="http://twitter.com/jadintx" title="Joyce Davis">Joyce Davis</a>, and I discussed ways that we could reach out far beyond our <em>Yellowverse</em> and reach those customers and fellow geeks that are either unfamiliar with or do not frequent the Lotus Online Community or otherwise outside of the breadth of our reach, but that could benefit from our help and expertise.</p><p>We came up with a few ideas and really wanted to get feedback from the community on them:</p><p class="note">NOTE: Since Twitter is today's latest public-facing mass-adopted social technology, we were thinking of using it as a platform to help reach out to and support the global community of Lotus product customers, admins and developers.</p><p><ul><li><p>We could create a Twitter account, publicize it's availability, and instruct people to tweet their questions.</p><p>Those community members inclined could then subscribe to that account and see said questions, and actively engage the original poster.</p></li><li><p>We can use <a href="http://hashtags.org/">hashtags</a> - specifically a Lotus or Lotus Product-themed hashtag - on [our] existing Twitter accounts.</p></li><li><p>Engage customers and fellow geeks via a technology, platform, or approach that we've yet to consider...</p></li></ul></p><p>So - to recap - we're looking for a simple and easy way of engaging customers and fellow geeks that run into issues. We're looking at - speaking to a specific technology/social networking medium/communty for <em>phase 1</em> - creating a specific Twitter account or a specific/product family-specific hashtags. And, most important, we're looking for <strong>your</strong> thoughts and suggestions on how we - as a community - can reach out into and beyond our online community, which you can provide via comment to this post!</p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 22 Apr 2009 12:18:27 EST</pubDate> 
  <slash:comments>15</slash:comments> 
  </item>

<item>
<title>Understanding the Domino CRUD API: Example Database Download</title> 
  <link>http://www.dominoguru.com/pages/crud6.html</link> 
<description>
<![CDATA[ 
Today I was asked for an example of a Smart Landing Page, to which I was more than happy to comply and send the requester the in-progress Understanding the Domino CRUD API Example Database.
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/crud6.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/crud6.html</guid> 
<content:encoded>
<![CDATA[ 
<p>Today I was asked for an example of a <a href="http://www.dominoguru.com/pages/crud_3.html" title="Understanding the Domino CRUD API: $$Return and Smart Landing Pages">Smart Landing Page</a>, to which I was more than happy to comply and send the requester the in-progress <a href="http://domino1.clearframe.net/example.nsf" title="Understanding the Domino CRUD API Example Database">Understanding the Domino CRUD API Example Database</a>.</p><p>Not wanting to leave anyone else out in the code that prefers a more hands-on approach to picking up some new techniques, I thought I'd publish the build as of this afternoon.</p><p align=center><a href="http://www.dominoguru.com/pages/crud6.html/$file/example.nsf" title="Understanding the Domino CRUD API: Example Database Download"><img src="http://www.dominoguru.com/pages/crud6.html/$file/download.png" alt="Understanding the Domino CRUD API: Example Database Download" title="Understanding the Domino CRUD API: Example Database Download" /></a></p><p>Those purists will realize a <strong>lot</strong> of room for improvement in the development and architecture of things - with a few things in mind being which particular Design Elements I'm using to serve their given purpose, the total lack of linked CSS or JavaScript libraries, etc. Let's just keep in mind that this NotesDatabase is being written as a simple example of the Domino CRUD API and thus I 1) wanted to keep as much on-screen/simple as possible and 2) am not recommending that this - the design of the Domino CRUD API Example NotesDatabase - is by any means the ideal architecture for Domino Web Applications... outside of it being an example for several base techniques that you can use to build some pretty advanced and feature-rich Domino Web Applications and Services.</p><p>Speaking of services, the more astute of you will notice a shuffle in the <em>pages</em> View Design Element and <em>$$ViewTemplateDefault|$$NavigatorTemplate for index.html</em> Form Design Element: I'm adding the first part of a mini-series on the <em>READ</em> state of the Domino CRUD API.</p><p>So grab this build release of the Domino CRUD API Example NotesDatabase, play around, and check back here for more on the <em>READ</em> state of the Domino CRUD API! Good times ;-)</p>
  ]]> 
  </content:encoded>
  <pubDate>Mon, 20 Apr 2009 22:16:10 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>Understanding the Domino CRUD API: NotesDocument Deletion Basics</title> 
  <link>http://www.dominoguru.com/pages/crud5.html</link> 
<description>
<![CDATA[ 
Deleting NotesDocuments in a NotesDatabase via the ?DeleteDocument Domino URL Command is simple enough, but there are many things to consider - some of which I'll go over in this entry.
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/crud5.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/crud5.html</guid> 
<content:encoded>
<![CDATA[ 
<p>Deleting NotesDocuments in a NotesDatabase via the <code>?DeleteDocument</code> Domino URL Command is simple enough, but there are <strong>many</strong> things to consider - some of which I'll go over in this entry.</p><p><strong>1. Click-Confirm-Delete</strong></p><p>You're going to want to create a simple to use, simple to recognize NotesDocument deletion mechanism for your Web Browser Client UI. In the <a href="http://domino1.clearframe.net/example.nsf" title="Understanding the Domino CRUD API Example NotesDatabase">Understanding the Domino CRUD API Example NotesDatabase</a>, I've setup a simple click-confirm-delete engine for submitting a Delete request to the Domino CRUD API (example pictured below).</p><p align=center><img src="http://www.dominoguru.com/pages/crud5.html/$file/delete_icons.png" alt="Understanding the Domino CRUD API Example NotesDatabase - 'click-confirm-delete' Example UI" title="Understanding the Domino CRUD API Example NotesDatabase - 'click-confirm-delete' Example UI" /></p><p>This UI-driven Click-Confirm-Delete facility will - when the <em>delete</em> icon is clicked - use a JavaScript <code>confirm</code> prompt to drive the cancellation or confirmation of the <code>?DeleteDocument</code> GET-method call.</p><p>As Stephan Wissel <a href="http://www.dominoguru.com/pages/crud_4.html#c" title="Understanding the Domino CRUD API: non-Domino Form CRUD Basics - Part 1 -- Comments">commented</a>, a direct <code>?DeleteDocument</code> URL link from your UI could prove problematic and is really not recommended. As a slight work-around, I'm building the call to the Domino URL command via JavaScript.</p><p>First, an additional column to my <em>pages</em> rendered View Design Element:</p><p><blockquote><code>&lt;td class=\"col4\"&gt;&lt;img title=\"Delete this NotesDocument\" onclick=\"notesdocument_delete('" + @Text(@DocumentUniqueID) + "');\" src=\"pk_icon_delete.gif\" alt=\"Delete this NotesDocument\" /&gt;&lt;/td&gt;</code></blockquote></p><p>Combining this with a <strong>very</strong> simple JavaScript function:</p><p><blockquote><code>function notesdocument_delete(UNID) {<br /> var q = confirm("Do you want to delete this NotesDocument?");<br /> if (q) {<br /> &nbsp; window.location = "http://www.dominoguru.com/pages/" + UNID + "?DeleteDocument";<br /> }<br />}</code></blockquote></p><p>And we have the first part of our NotesDocument deletion facility.</p><p><strong>2. Post-deletion behaviour -- what now?!</strong></p><p>You'll note, in the above <code>notesdocument_delete</code> JavaScript function, I declare a valid View Design Element for the <code>window.location</code> to issue the <code>?DeleteDocument</code> Domino URL Command.</p><p>The defining of a valid, existing, and Web Browser Client-accessible View Design Element is required for the <code>?DeleteDocument</code>. Failure to define a View Design Element will result in the following error:</p><p align=center><img src="http://www.dominoguru.com/pages/crud5.html/$file/delete_noview.png" alt="Invalid View Design Element for issued ?DeleteDocument Domino URL Command Error Message" title="Invalid View Design Element for issued ?DeleteDocument Domino URL Command Error Message" /></p><p>A successful submission will look like this:</p><p align=center><img src="http://www.dominoguru.com/pages/crud5.html/$file/delete_nocustommsg.png" alt="Standard confirmation of a NotesDocument deletion via the ?DeleteDocument Domino URL Command Message" title="Standard confirmation of a NotesDocument deletion via the ?DeleteDocument Domino URL Command Message" /></p><p>Since we wanted to make this NotesDatabase a Domino Web Application, we know that this type of behaviour just won't do! We'll want to create a custom deletion confirmation message and - in this case - redirect them back to the NotesDatabase default launch element.</p><p>To do that, I've created a copy of the <em>confirmation.html</em> Page Design Element, stripped all of the NotesDocumentUNID lookups, and renamed it <em>$$ReturnDocumentDeleted</em>.</p><p>The <em>$$ReturnDocumentDeleted</em>, not unlike the <em>$$Return</em>, is a special-named element that provides functionality in the Domino RAD engine. Simply put, the <em>$$ReturnDocumentDeleted</em>-named Design Element is returned post-successful NotesDocument deletion.</p><p>For the <a href="http://domino1.clearframe.net/example.nsf" title="Understanding the Domino CRUD API Example Application">Understanding the Domino CRUD API Example Application</a>, I'm using a Page Design Element. Technically, you could name <strong>any</strong> Design Element <em>$$ReturnDocumentDeleted</em> and that Design Element would be returned post-successful NotesDocument deletion.</p><p class="note">NOTE: I could have just as easily re-written the <em>confirmation.html</em> Page Design Element to accomodate this functionality (and added an alias of <em>$$ReturnDocumentDeleted</em>) instead... but that might throw off future users of the examples.</p><p>That's pretty much it for the <em>basics</em> of the <code>?DeleteDocument</code> Domino URL Command. The next part of the ongoing Domino CRUD API series will discuss Read and the various ways that we can pull NotesDocument data from a Domino Web Browser-accessible NotesDatabase.</p><p>Stay tuned!</p>
  ]]> 
  </content:encoded>
  <pubDate>Sun, 19 Apr 2009 13:57:41 EST</pubDate> 
  <slash:comments>1</slash:comments> 
  </item>

<item>
<title>Understanding the Domino CRUD API: non-Domino Form CRUD Basics - Part 1</title> 
  <link>http://www.dominoguru.com/pages/crud_4.html</link> 
<description>
<![CDATA[ 
I'll show how you can create your own non-Domino Form Design Element-based XHTML Form Elements that use the Domino CRUD API for NotesDatabase Data Management. 
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/crud_4.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/crud_4.html</guid> 
<content:encoded>
<![CDATA[ 
<p>In previous entries, we've discussed how to use the Domino <acronym title="Create, Read, Update, Delete">CRUD</acronym> API in the following ways:</p><p><ul><li><p><a href="http://www.dominoguru.com/pages/crud_1.html" title="Understanding the Domino CRUD API - the Basics">Understanding the Domino CRUD API - the Basics</a></p><p>Where I first introduced and discussed the Domino URL Commands that you can use to interact with the Domino CRUD engine.</p></li><li><p><a href="http://www.dominoguru.com/pages/crud_2.html" title="Understanding the Domino CRUD API - $$Return Basics">Understanding the Domino CRUD API - $$Return Basics</a></p><p>Where I showed you - via screencast - how to control the Web Browser client session post-NotesDocument Create/Update submission with the reserved <code>$$Return</code> NotesItem.</p></li><li><p><a href="http://www.dominoguru.com/pages/crud_3.html" title="Understanding the Domino CRUD API: $$Return and Smart Landing Pages">Understanding the Domino CRUD API: $$Return and Smart Landing Pages</a></p><p>Where I showed you - via screencast - how to use the <code>$$Return</code> NotesItem in combination with URL QueryString Parameters, Formula language, NotesDocumentUNIDs, and a Page Design Element to create context sensitive <em>Smart Landing Pages</em> for the Web Browser Client post-NotesDocument Create/Update submission.</p></li></ul></p><p>Now I'll show how you can create your own non-Domino Form Design Element-based XHTML Form Elements that use the Domino CRUD API for NotesDatabase Data Management. In this, the <em>Part 1</em> in a smaller part of the overall <em>Understanding the Domino CRUD API</em> series, I'll show you how you can create a <em>simple</em> Domino Page Design Element that can be used to Create and Update NotesDocument data.</p><p class="note">NOTE: I'm opening up the <em>Domino CRUD API Example</em> NotesDatabase to Anonymous access having Editor w/ Delete. I'll keep it that way as long as we all <strong>play nicely</strong>. Someone playing <em>script-kiddie</em> and putting some cross-browser attack or posting inappropriate content will ruin this for everyone (as well as give me the burded of shutting things down). Should go without say, but...</p><p>First thing first, we'll talk about the <em>ingredients</em> for this build:</p><p><ol><li><p><strong>Page Design Element: <em>content.html</em></strong></p><p>This is going to be - on purpose - a <strong>very</strong> basic build. I could get really creative with this XHTML (Content-Type: text/html) webpage, but that might distract from the overall example.</p></li><li><p><strong>Input/Textarea Element <em>name</em> Attribute match</strong></p><p>This one is simple yet very powerful. If you're NotesItem is named <em>title</em>, your XHTML Form Element's Input Element name for <em>title</em> needs to be <em>title</em>!</p></li><li><p><strong>NotesDocumentUNID passthru Logic</strong></p><p>Just like with the <em>Smart Landing Page</em> - which is a basic example of an advanced Domino Design Element-driven Domino CRUD Read - we'll be using a NotesDocumentUNID to drive the Update XHTML page Form population.</p></li><li><p><strong><em>?CreateDocument</em> Domino URL Command</strong></p><p>We'll use this to facilitate the <em>Create</em> Domino CRUD verb.</p></li><li><p><strong><em>?SaveDocument</em> Domino URL Command</strong></p><p>We'll use this to facilitate the <em>Update</em> Domino CRUD verb.</p></li></ol></p><p>First, we'll create our simple <em>content.html</em> Page Design Element:</p><p align=center><img src="http://www.dominoguru.com/pages/crud_4.html/$file/content_markup.png" alt="Domino CRUD API: content.html Page Design Element" title="Domino CRUD API: content.html Page Design Element" /></p><p>Simple, and will get the job done. Two major things to point out here: the Form Element's <em>processing agent</em> and the <em>value</em> attribute for each Input Element.</p><p>The Form Element's <em>processing agent</em> - as shown - uses a <em>Computed Text</em> instance to populate it's action:</p><p><blockquote><code>~UNID := @UrlQueryString("UNID");<br />@If(~UNID = ""; "content?CreateDocument"; "0/" + ~UNID + "?SaveDocument")</code></blockquote></p><p>This simply checks the URL Query String for a parameter named <em>UNID</em>. If found, I know I'm going to <em>Update</em> a NotesDocument. Otherwise I'm going to <em>Create</em> a new NotesDocument.</p><p>The <em>Computed Text</em> set as the values of our Input and Textarea Elements does someting similar (for the <em>Title</em> Input Element):</p><blockquote><code>~UNID := @UrlQueryString("UNID");<br />@If(~UNID = ""; ""; @GetDocField(~UNID; "title"))</code></blockquote></p><p>When we click submit - via the simple Input Element typed "submit" - we're going to rely on our XHTML Form Element's processing agent to handle the rest.</p><p>For new NotesDocuments, we see that it's pointing to the <em>Content</em> Domino Form Design Element and will issue the <em>?CreateDocument</em> Domino URL Command. This will result on a NotesDocument being creating in the target NotesDatabase and leverage the <code>$$Return</code> to redirect our Web Browser Client session post-submission to our <em>Smart Landing Page</em>.</p><p>For existing NotesDocuments, we'll use the following syntax:</p><p><blockquote>/0/NotesDocumentUNID?SaveDocument</blockquote></p><p>Same thing here - the <em>?SaveDocument</em> does the real work here via the Domino CRUD engine and performs an Update with the submitted XHTML Form Element contents.</p><p class="note">NOTE: Notice the <em>/0/</em> placeholder for the View Design Element in the XHTML Form Element's processing agent. If you replaced this with <em>/pages/</em>, it would honor the <em>pages</em> View Design Element's Form Formula, thus first rendering/submitting the NotesDocument via the <em>display</em> Form Design Element and - since there is no <code>$$Return</code> - would simply return the <em>Form Processed</em> message to the Web Browser Client.</p><p>The last part of this is to direct people to an <em>edit</em> link for each NotesDocument in your <em>Pages</em> View Design Element:</p><p><blockquote><code>~t := @If(title = ""; "Untitled Content"; title);<br />~pl := "&lt;a href=\"http://www.dominoguru.com/pages/" + permalink + "\"&gt;Use Permalink&lt;/a&gt;";<br />~unidl := "&lt;a href=\"http://www.dominoguru.com/pages/" + @Text(@DocumentUniqueID) + "\"&gt;Use UNID&lt;/a&gt;";<br />~htmledit := "&lt;a href=\"content.html?open&UNID=" + @Text(@DocumentUniqueID) + "\"&gt;Edit&lt;/a&gt;";<br /><br />"&lt;tr&gt;&lt;td class=\"col0\"&gt;" + ~t + "&lt;/td&gt;&lt;td class=\"col1\"&gt;" + ~pl + "&lt;/td&gt;&lt;td class=\"col2\"&gt;" + ~unidl + "&lt;/td&gt;&lt;td class=\"col3\"&gt;" + ~htmledit + "&lt;/td&gt;&lt;/tr&gt;"</code></blockquote></p><p>The <code>~htmledit</code> gives us the <em>UNID</em> URL Query String Parameter required for our <em>Update</em>, and the rest is handled by the Domino CRUD engine!</p><p>Wanna play? I've enabled Anonymous access to the <a href="http://domino1.clearframe.net/example.nsf" title="Understanding the Domino CRUD API Example">Understanding the Domino CRUD API Example</a> NotesDatabase. You should have Editor access with the Delete role enabled.</p><p>In our next entry - <em>Understanding the Domino CRUD API: non-Domino Form CRUD Basics - Part 2</em> - we'll discuss how you can handle Read and Delete CRUD verbs - completing the <em>Basics</em> subsection of the non-Domino approach. After that, we'll get into some pretty advanced stuff!</p><p>Hopefully you'll start to see - especially after this - exactly where we can go from here. My XHTML Form was created in Aptana and outside of it's using <em>Computed Text</em> to populate the XHTML Form Element really wouldn't need to reside in a NotesDatabase at all. See... getting a firm handle on <strong>this</strong> stuff is the ground work for extending your Domino Web Application Development to new heights: integrating with other technology investments and SaaS/cloud services!</p>
  ]]> 
  </content:encoded>
  <pubDate>Fri, 17 Apr 2009 14:30:17 EST</pubDate> 
  <slash:comments>3</slash:comments> 
  </item>

<item>
<title>Understanding the Domino CRUD API: $$Return and Smart Landing Pages</title> 
  <link>http://www.dominoguru.com/pages/crud_3.html</link> 
<description>
<![CDATA[ 
In this video, I talk about creating a context-sensitive Smart Landing Page that uses a combination of Page Design Element, URL QueryString Parameter, XHTML, and some JavaScript to create a user experience that we're used to in Web Browser Applications.
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/crud_3.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/crud_3.html</guid> 
<content:encoded>
<![CDATA[ 
<p>In <a href="http://www.dominoguru.com/pages/crud_2.html" title="Understanding the Domino CRUD API - $$Return Basics">the last video</a>, I showed how you can use the <code>$$Return</code> in combination with some basic markup to create a simple Create and Update submission confirmation message or redirect to a URL.</p><p>In this video, I talk about creating a context-sensitive <em>Smart Landing Page</em> that uses a combination of Page Design Element, URL QueryString Parameter, XHTML, and some JavaScript to create a user experience that we're used to in Web Browser Applications.</p><p align=center><object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/rTR9nclC2Fw&hl=en&fs=1&hd=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/rTR9nclC2Fw&hl=en&fs=1&hd=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object></p><p>Consider this my entry for Show-and-Tell-Thursday. ;-)</p><p>Questions, comments, and suggestions welcomed and appreciated!</p>
  ]]> 
  </content:encoded>
  <pubDate>Thu, 16 Apr 2009 02:00:58 EST</pubDate> 
  <slash:comments>2</slash:comments> 
  </item>

<item>
<title>Nokia's new Easy Meet - Product Marketing done right!</title> 
  <link>http://www.dominoguru.com/pages/04152009083854.html</link> 
<description>
<![CDATA[ 
I haven't had a Nokia phone in years, but this service alone makes me want to go back to the E-series... not that it's required (from what I can tell) for Easy Meet.
  ]]> 
  </description>
  <dc:subject>Device Lust</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/04152009083854.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/04152009083854.html</guid> 
<content:encoded>
<![CDATA[ 
<p align=center><object width="660" height="405"><param name="movie" value="http://www.youtube.com/v/B9V91mHhplo&hl=en&fs=1&hd=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/B9V91mHhplo&hl=en&fs=1&hd=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="405"></embed></object></p><p>I haven't had a Nokia phone in years (last one was an E-61), but this service alone makes me want to go back to the E-series... not that it's required (from what I can tell) for Easy Meet.</p><p>Not a cheap-shot, but rather a genuine desire: I'd <strong>love</strong> to see similar product "real world" demo videos for our beloved Lotus products!</p><p>[ via <a href="http://www.engadgetmobile.com/2009/04/15/nokia-easy-meet-funny-name-good-idea/" title="Nokia Easy Meet: funny name, good idea">EngadgetMobile.com</a> ]</p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 15 Apr 2009 20:38:54 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Domino + HTTP Request Headers</title> 
  <link>http://www.dominoguru.com/pages/04152009115301.html</link> 
<description>
<![CDATA[ 
I've put together a simple Page Design Element based on comments/feedback that displays all values returned via an @GetHTTPHeader call for each HTTP Request Header Field listed by the W3C...
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/04152009115301.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/04152009115301.html</guid> 
<content:encoded>
<![CDATA[ 
<p>I've put together a simple Page Design Element - based on <a href="http://www.dominoguru.com/pages/crud_2.html" title="Understanding the Domino CRUD API - $$Return Basics">comments/feedback</a> - that displays all values returned via an <code>@GetHTTPHeader</code> call for each <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">HTTP Request Header Field</a> listed by the W3C.</p><p>To do this, I created a simple grid (took about 5 minutes) to show the HTTP Request Header Field name and it's returned value.</p><p align=center><a href="http://domino1.clearframe.net/example.nsf/gethttpheader.html" title="Domino + HTTP Request Headers Example"><img src="http://www.dominoguru.com/pages/04152009115301.html/$file/gethttpheader_dde.png" alt="Domino + HTTP Request Headers Example" title="Domino + HTTP Request Headers Example" /></a></p><p>Blanks should not be considered "unsupported", but rather not populated at this time. We, as Domino Web Application Developers, can set these HTTP Headers (either through <code>@SetHTTPHeader</code> Formula calls or via hand-generated markup). This gives us an amazing opportunity for some really slick and functional application development should we start leveraging things like MD5 hashes and ETags to help optimize rich Web Browser Client experiences.</p><p>The <a href="http://domino1.clearframe.net/example.nsf/gethttpheader.html" title="Domino + HTTP Request Headers Example">Domino + HTTP Request Headers Example</a> Page Design Element sits in Anonymous-accessible NotesDatabase on my Domino server - in fact the same one that I've been using to create the "Understanding the Domino CRUD API" examples and videos - so you should be able to play around with that.</p><p>See how feedback rocks?! ;-)</p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 15 Apr 2009 11:53:01 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Within my first 10 minutes with the Flock Browser...</title> 
  <link>http://www.dominoguru.com/pages/04152009102029.html</link> 
<description>
<![CDATA[ 
Within my first 10 minutes with the Flock Browser... I think I'll stick with Google Chrome!
  ]]> 
  </description>
  <dc:subject>My Gear</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/04152009102029.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/04152009102029.html</guid> 
<content:encoded>
<![CDATA[ 
<p align=center><img src="http://www.dominoguru.com/pages/04152009102029.html/$file/flock_virusalert.png" alt="Within my first 10 minutes with the Flock Browser..." title="Within my first 10 minutes with the Flock Browser..." /></p><p>I think I'll stick with <a href="http://www.google.com/chrome">Chrome</a>!</p>
  ]]> 
  </content:encoded>
  <pubDate>Wed, 15 Apr 2009 10:20:29 EST</pubDate> 
  <slash:comments>0</slash:comments> 
  </item>

<item>
<title>Understanding the Domino CRUD API - $$Return Basics</title> 
  <link>http://www.dominoguru.com/pages/crud_2.html</link> 
<description>
<![CDATA[ 
Learn how you can return custom NotesDocument submission messages and redirect to specific URLs with the Domino Rapid Application Development (RAD)-friendly $$Return.
  ]]> 
  </description>
  <dc:subject>Domino Web Development</dc:subject> 
  <dc:creator>Chris Toohey</dc:creator> 
  <comments>http://www.dominoguru.com/pages/crud_2.html#c</comments> 
  <guid isPermaLink="true">http://www.dominoguru.com/pages/crud_2.html</guid> 
<content:encoded>
<![CDATA[ 
<p><blockquote>Learn how you can return custom NotesDocument submission messages and redirect to specific URLs with the Domino Rapid Application Development (RAD)-friendly $$Return.</blockquote></P><p align=center><object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/OweIJ7A5r7k&hl=en&fs=1&hd=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/OweIJ7A5r7k&hl=en&fs=1&hd=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object></p><p>This screencast, running 3:55, just touches the surface on what you can do with a <em>$$Return</em> in the world of the Domino CRUD API.</p>
  ]]> 
  </content:encoded>
  <pubDate>Tue, 14 Apr 2009 13:38:25 EST</pubDate> 
  <slash:comments>5</slash:comments> 
  </item>


</channel>
</rss>
