<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel><title>In Theory... | Comments</title><description>Bob Balaban's Blog</description><link>http://www.bobzblog.com/tuxedoguy.nsf/</link><language>en-us</language><lastBuildDate>Mon, 26 Jul 2010 08:41:13 PM -0500</lastBuildDate>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 08:41:13 PM -0500</pubDate>
<dc:creator>Stephan H. Wissel</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[Neat. Let Damien know about it. Google -&gt; CouchDB is a nice idea.]]></description>
<content:encoded><![CDATA[Neat. Let Damien know about it. Google -&gt; CouchDB is a nice idea.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010084113PMBAR3ZB.htm</link>
</item>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 01:25:05 PM -0500</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[@2 - Thanks Jack!<br /><br />@3 - Jeff, I'm not competing with anyone. This is a sample, the primary purpose is pedagogical. Having said that, there are some tricky things about recovering assets from Google (I'm planning a future post on some of those details). <br /><br />Thanks for the link, interesting site. I wonder if the Google people are really going to give the same air time to getting stuff out as they are to getting stuff in. And of course the GoogleApps API team may have a somewhat different evangelism agenda from the one held by the GoogleApps marketing (/migration) teams.]]></description>
<content:encoded><![CDATA[@2 - Thanks Jack!<br /><br />@3 - Jeff, I'm not competing with anyone. This is a sample, the primary purpose is pedagogical. Having said that, there are some tricky things about recovering assets from Google (I'm planning a future post on some of those details). <br /><br />Thanks for the link, interesting site. I wonder if the Google people are really going to give the same air time to getting stuff out as they are to getting stuff in. And of course the GoogleApps API team may have a somewhat different evangelism agenda from the one held by the GoogleApps marketing (/migration) teams.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010012505PMBARPLQ.htm</link>
</item>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 02:19:52 PM -0400</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[@Chris - Please do!]]></description>
<content:encoded><![CDATA[@Chris - Please do!]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010021952PMBBAPHH.htm</link>
</item>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 01:18:57 PM -0500</pubDate>
<dc:creator>Jeff Gilfelt</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[Um, so you're going to try to compete with Google's own efforts in this space? { <a href="http://www.dataliberation.org/ " target="_blank" title="Link: www.dataliberation.org/ ">Link</a> } <br /><br />Good luck.]]></description>
<content:encoded><![CDATA[Um, so you're going to try to compete with Google's own efforts in this space? { <a href="http://www.dataliberation.org/ " target="_blank" title="Link: www.dataliberation.org/ ">Link</a> } <br /><br />Good luck.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010011857PMBARPGW.htm</link>
</item>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 01:17:24 PM -0500</pubDate>
<dc:creator>Jack Dausman</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[Wow. Impressive and makes sense. Sounds like a building block to move GoogleApps to LotusLive. If I can think of a way to sell it, then it absolutely would be licensed from LooseLeaf.]]></description>
<content:encoded><![CDATA[Wow. Impressive and makes sense. Sounds like a building block to move GoogleApps to LotusLive. If I can think of a way to sell it, then it absolutely would be licensed from LooseLeaf.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010011724PMBARPFX.htm</link>
</item>
<item>
<title>Drain Google: Sample code to get all your stuff back from GoogleApps</title>
<pubDate>Mon, 26 Jul 2010 01:00:41 PM -0500</pubDate>
<dc:creator>Chris Miller</dc:creator>
<dc:subject>Drain Google: Sample code to get all your stuff back from GoogleApps</dc:subject>
<description><![CDATA[That is very cool! Can I reference this in my Google Apps migration series?]]></description>
<content:encoded><![CDATA[That is very cool! Can I reference this in my Google Apps migration series?]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/drain-google-sample-code-to-get-all-your-stuff-back-from-googleapps?opendocument&amp;comments#07262010010041PMBARP5H.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Sat, 24 Jul 2010 08:13:51 AM -0500</pubDate>
<dc:creator>Pierre</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[And while I am at describing my X-mas list for Notes Java, would be nice if those damned .recycle could be eliminated (like with Domingo)]]></description>
<content:encoded><![CDATA[And while I am at describing my X-mas list for Notes Java, would be nice if those damned .recycle could be eliminated (like with Domingo)]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07242010081351AMBARHJ8.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Sat, 24 Jul 2010 07:41:19 AM -0500</pubDate>
<dc:creator>Pierre</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[I am still convinced that if IBM were to provide a very nice IDE/Debugger for Java and leave the LS there as is, people would naturally move to Java for their new code. No need to redo the existing LS code (I certainly have no intention for my code, I just want to be able to do with Domino what I could do with VB 10 years ago: "immediate" window is the main one, conditional break, etc...)]]></description>
<content:encoded><![CDATA[I am still convinced that if IBM were to provide a very nice IDE/Debugger for Java and leave the LS there as is, people would naturally move to Java for their new code. No need to redo the existing LS code (I certainly have no intention for my code, I just want to be able to do with Domino what I could do with VB 10 years ago: "immediate" window is the main one, conditional break, etc...)]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07242010074119AMBARGVV.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Thu, 22 Jul 2010 01:39:11 PM -0500</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[@6 - Tim, I have never been successful at getting the remote debugger to work. Plus, it annoys me that it requires me to make a code change (add a Sleep()) which then has to be removed later.<br /><br />I haven't written an applet in years (thought nobody used them anymore), and historically there have been all kinds of problems getting them to work inside the Notes client. Sorry, can't help you there.<br /><br />If you convert your code to a 2-headed beast-flavored agent (see other posts in this blog), then you should be fine for standalone debugging.]]></description>
<content:encoded><![CDATA[@6 - Tim, I have never been successful at getting the remote debugger to work. Plus, it annoys me that it requires me to make a code change (add a Sleep()) which then has to be removed later.<br /><br />I haven't written an applet in years (thought nobody used them anymore), and historically there have been all kinds of problems getting them to work inside the Notes client. Sorry, can't help you there.<br /><br />If you convert your code to a 2-headed beast-flavored agent (see other posts in this blog), then you should be fine for standalone debugging.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07222010013911PMBARPVJ.htm</link>
</item>
<item>
<title>The 2-Headed Beast: Debugging Domino Java agents with Eclipse</title>
<pubDate>Thu, 22 Jul 2010 12:42:04 PM -0500</pubDate>
<dc:creator>Tim Curtin</dc:creator>
<dc:subject>The 2-Headed Beast: Debugging Domino Java agents with Eclipse</dc:subject>
<description><![CDATA[I've been able to use the java debugger by connecting remotely for a java applet contained on a form. I was hoping to do convert the applet to agent code, and was assuming I could continue to use the remote debugger. I notice in this post you say you don't recommend that. Would you mind explaining why? It seems to work out ok, and in my case the agent would be running locally in response to user input in my application. (I'm guessing I may just not know enough to recognize the possible issues with the idea.)]]></description>
<content:encoded><![CDATA[I've been able to use the java debugger by connecting remotely for a java applet contained on a form. I was hoping to do convert the applet to agent code, and was assuming I could continue to use the remote debugger. I notice in this post you say you don't recommend that. Would you mind explaining why? It seems to work out ok, and in my case the agent would be running locally in response to user input in my application. (I'm guessing I may just not know enough to recognize the possible issues with the idea.)]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/the-2-headed-beast-debugging-domino-java-agents-with-eclipse?opendocument&amp;comments#07222010124204PMBARNRU.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Thu, 22 Jul 2010 12:29:55 PM -0500</pubDate>
<dc:creator>Tim Curtin</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[Bob -<br /><br />I currently have a java applet, pulled into a notes application as an "Applet Resource", and then included on a form. I'm able to debug that using either external Eclipse or Domino by creating a "Remote Java Application" debug config, assigning a port on localhost that matches the port chosen in the menu item Tools/Java Debugging Preferences/Client Agents option under the Domino perspective.<br /><br />So far, it seems like that allows all of the normal debugging - setting breakpoints in code, single-stepping in and out of functions, etc. Its a bit clunky, but that may be my fault for not having the right code in the Source path under the debug config. (I had to manually add the path for the applet's source, for instance.)<br /><br />My question - I'm considering converting this applet to an agent, which I'll then trigger via a buttonpress on the notes form. Your method makes it sounds as though direct debugging might not be an option, and since I need information in documents in the notes database, I can't just run as a standalone java applet. Have you tried remote debugging for your agent? Does it work properly?<br /><br />Also, I have it on good authority from an STSM on the Domino design team that you can't use code in a Script Library in an applet. Sounds like that may not be as available for use as it seems, so you may just not be able to step into it at all. (That would be unfortunate, but not necessarily surprising.)]]></description>
<content:encoded><![CDATA[Bob -<br /><br />I currently have a java applet, pulled into a notes application as an "Applet Resource", and then included on a form. I'm able to debug that using either external Eclipse or Domino by creating a "Remote Java Application" debug config, assigning a port on localhost that matches the port chosen in the menu item Tools/Java Debugging Preferences/Client Agents option under the Domino perspective.<br /><br />So far, it seems like that allows all of the normal debugging - setting breakpoints in code, single-stepping in and out of functions, etc. Its a bit clunky, but that may be my fault for not having the right code in the Source path under the debug config. (I had to manually add the path for the applet's source, for instance.)<br /><br />My question - I'm considering converting this applet to an agent, which I'll then trigger via a buttonpress on the notes form. Your method makes it sounds as though direct debugging might not be an option, and since I need information in documents in the notes database, I can't just run as a standalone java applet. Have you tried remote debugging for your agent? Does it work properly?<br /><br />Also, I have it on good authority from an STSM on the Domino design team that you can't use code in a Script Library in an applet. Sounds like that may not be as available for use as it seems, so you may just not be able to step into it at all. (That would be unfortunate, but not necessarily surprising.)]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07222010122955PMBARNJ9.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Thu, 15 Jul 2010 07:27:29 PM -0500</pubDate>
<dc:creator>Kerr</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[My understanding is that Semplice compiled VB source into JVM bytecode, so yeah we would be looking at dealing with LS source rather than compiled code. Is there much LS out there with missing source?]]></description>
<content:encoded><![CDATA[My understanding is that Semplice compiled VB source into JVM bytecode, so yeah we would be looking at dealing with LS source rather than compiled code. Is there much LS out there with missing source?]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#15072010192729BAR2K8.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Thu, 15 Jul 2010 07:18:04 PM -0400</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[@Kerr - Interesting idea! Not sure how much leverage a vb/java cross compiler would provide (LS bytecodes, unlike the language itself, were not modeled after compiled vb). If it works from sources, not bytecodes, then maybe something could be done.<br /><br />There was (I was told, at the time) an investigation into a bytecode cross-compiler for LS to Java. Apparently (as you'd expect) a lot of it would be straightforward, but there were some nasty problems that appeared intractable (or which nobody thought it was particularly important to solve?). Variants, for example. Many (or most) variant types could be mapped to Java Objects, but not all (variants containing scalars...). There were probably other issues, but it was long ago (1996 i think), and I don't remember the details.<br /><br />Still, could be a good business opportunity there if someone were to crack it - there is a LOT of LotusScript code out there today, and there must be some people willing to pay to have it converted to Java.]]></description>
<content:encoded><![CDATA[@Kerr - Interesting idea! Not sure how much leverage a vb/java cross compiler would provide (LS bytecodes, unlike the language itself, were not modeled after compiled vb). If it works from sources, not bytecodes, then maybe something could be done.<br /><br />There was (I was told, at the time) an investigation into a bytecode cross-compiler for LS to Java. Apparently (as you'd expect) a lot of it would be straightforward, but there were some nasty problems that appeared intractable (or which nobody thought it was particularly important to solve?). Variants, for example. Many (or most) variant types could be mapped to Java Objects, but not all (variants containing scalars...). There were probably other issues, but it was long ago (1996 i think), and I don't remember the details.<br /><br />Still, could be a good business opportunity there if someone were to crack it - there is a LOT of LotusScript code out there today, and there must be some people willing to pay to have it converted to Java.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07152010071804PMBBAVBW.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Wed, 14 Jul 2010 10:29:51 PM -0500</pubDate>
<dc:creator>Kerr</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[I always thought that IBM should have tried to get their hands on Sun's Semplice project, the VB to bytecode compiler. Probably the effort involved in writting their own from scratch is not worth it, but had they gone ahead with the the Sun purchase then it would have come along as part of the deal.<br /><br />With Semplice as a base, reworked as an LS version, we could have some interesting options. Certainly interoperability with other JVM languages would become trivial.]]></description>
<content:encoded><![CDATA[I always thought that IBM should have tried to get their hands on Sun's Semplice project, the VB to bytecode compiler. Probably the effort involved in writting their own from scratch is not worth it, but had they gone ahead with the the Sun purchase then it would have come along as part of the deal.<br /><br />With Semplice as a base, reworked as an LS version, we could have some interesting options. Certainly interoperability with other JVM languages would become trivial.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#14072010222951BAR658.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Mon, 12 Jul 2010 03:45:54 PM -0400</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[@1 - Thanks for your comments, Pierre. It's a complicated question. I certainly agree that debugging Java inside Designer should be much, much easier, and that the current difficulty is limiting the adoption of Java by LotusScript developers. <br /><br />A somewhat bigger issue, however, is the one of LotusScript/Java inter-operability. Any organization that has been around for a while has most likely accumulated a lot of working, debugged, and sometimes mission-critical LotusScript code. They don't want to throw it away and re-code everything in Java, or XPages, or something else. Developing new assets in Java is all very well, but, apart from running agents through the object model, you cannot call between languages (let's ignore LS2J, it's not a realistic solution for production apps). <br /><br />No easy answers, unfortunately.]]></description>
<content:encoded><![CDATA[@1 - Thanks for your comments, Pierre. It's a complicated question. I certainly agree that debugging Java inside Designer should be much, much easier, and that the current difficulty is limiting the adoption of Java by LotusScript developers. <br /><br />A somewhat bigger issue, however, is the one of LotusScript/Java inter-operability. Any organization that has been around for a while has most likely accumulated a lot of working, debugged, and sometimes mission-critical LotusScript code. They don't want to throw it away and re-code everything in Java, or XPages, or something else. Developing new assets in Java is all very well, but, apart from running agents through the object model, you cannot call between languages (let's ignore LS2J, it's not a realistic solution for production apps). <br /><br />No easy answers, unfortunately.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07122010034554PMBBAR7A.htm</link>
</item>
<item>
<title>Want to debug Java agents INSIDE Designer? You can! (sort of)</title>
<pubDate>Sat, 10 Jul 2010 11:03:55 PM -0500</pubDate>
<dc:creator>Pierre</dc:creator>
<dc:subject>Want to debug Java agents INSIDE Designer? You can! (sort of)</dc:subject>
<description><![CDATA[I really do not understand why IBM is making it so complicated to move from LS to Java. They are not making any secrets about moving everything they can to Java but for Domino there are no incentives at all. If the junky LS debugger could be replaced by Eclipse, it would be the biggest single compelling reason to switch.]]></description>
<content:encoded><![CDATA[I really do not understand why IBM is making it so complicated to move from LS to Java. They are not making any secrets about moving everything they can to Java but for Domino there are no incentives at all. If the junky LS debugger could be replaced by Eclipse, it would be the biggest single compelling reason to switch.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/want-to-debug-java-agents-inside-designer-you-can-sort-of?opendocument&amp;comments#07102010110355PMBAR6SH.htm</link>
</item>
<item>
<title>I am doing 3 sessions at The View Admin/Developer Conference this week</title>
<pubDate>Tue, 25 May 2010 11:32:11 AM -0500</pubDate>
<dc:creator>Mark Ryan</dc:creator>
<dc:subject>I am doing 3 sessions at The View Admin/Developer Conference this week</dc:subject>
<description><![CDATA[Bob,<br /><br />Thank you so much for the great seminars and the classic Balaban book! <br /><br />Now I have a replacement for my book that was stolen.<br /><br />Look forward to seeing you there next year.<br /><br />Mark]]></description>
<content:encoded><![CDATA[Bob,<br /><br />Thank you so much for the great seminars and the classic Balaban book! <br /><br />Now I have a replacement for my book that was stolen.<br /><br />Look forward to seeing you there next year.<br /><br />Mark]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/i-am-doing-3-sessions-at-the-view-admindeveloper-conference-this-week?opendocument&amp;comments#05252010113211AMBARME6.htm</link>
</item>
<item>
<title>I am doing 3 sessions at The View Admin/Developer Conference this week</title>
<pubDate>Mon, 10 May 2010 03:52:53 PM -0400</pubDate>
<dc:creator>Bob Balaban</dc:creator>
<dc:subject>I am doing 3 sessions at The View Admin/Developer Conference this week</dc:subject>
<description><![CDATA[@Lisa - how could I turn down the chance to visit Atlanta in August?? I hear the weather is....warm :-)]]></description>
<content:encoded><![CDATA[@Lisa - how could I turn down the chance to visit Atlanta in August?? I hear the weather is....warm :-)]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/i-am-doing-3-sessions-at-the-view-admindeveloper-conference-this-week?opendocument&amp;comments#05102010035253PMBBARBN.htm</link>
</item>
<item>
<title>I am doing 3 sessions at The View Admin/Developer Conference this week</title>
<pubDate>Sun, 9 May 2010 08:22:36 PM -0500</pubDate>
<dc:creator>Lisa Duke</dc:creator>
<dc:subject>I am doing 3 sessions at The View Admin/Developer Conference this week</dc:subject>
<description><![CDATA[I will see you there!<br /><br />And also in Atlanta for ATLUG in August, right?]]></description>
<content:encoded><![CDATA[I will see you there!<br /><br />And also in Atlanta for ATLUG in August, right?]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/i-am-doing-3-sessions-at-the-view-admindeveloper-conference-this-week?opendocument&amp;comments#05092010082236PMBAR3MP.htm</link>
</item>
<item>
<title>Geek-o-Terica 11: View AutoUpdate, Part Deux</title>
<pubDate>Thu, 15 Apr 2010 05:29:03 AM -0500</pubDate>
<dc:creator>Erik Brooks</dc:creator>
<dc:subject>Geek-o-Terica 11: View AutoUpdate, Part Deux</dc:subject>
<description><![CDATA[@6 - Oh, I am to an extent. :-) I've got various bits using True and others using False depending on the desired behavior.<br /><br />It's a very subtle distinction to have a piece of the index frozen versus the entire index itself. For a single-threaded environment or a sufficiently small view (like this "Numbers" example) they're one and the same. But in particular if you're working with a very large view in a busy db then you've got potential concerns. AutoUpdate=False absolutely will run faster than AutoUpdate=True in many cases (though the new fix coming out makes AutoUpdate=True much closer under load.) But it's important to note that it's not a magical panacea that lets you freeze the view index.<br /><br />I wish it could. The only REAL way to freeze an index is to set your view's refresh to "Manual" and specifically call a NotesView.Refresh() prior to iterating through it, knowing that only your thread will be calling the Refresh(). <br /><br />Even then you may still need to check each doc since the ColumnValues() may not be accurate anymore. You've also got to check Document.isValid, isDeleted, etc. and if you're being extra-careful then you should check the selection formula also since it might be the case that the doc shouldn't even be there anymore.<br /><br />You've got all of the same concerns with AutoUpdate=False.<br /><br />So yeah, generally I don't want to use AutoUpdate=False. The selection formula is the deal-breaker for me. If a doc got pulled out of the view by another thread just before my agent touches it -- even if it happen one second ago -- I usually don't want it processed. So I stick with AutoUpdate=True.<br /><br />It really depends on your needs and tolerance to erroneous processing.]]></description>
<content:encoded><![CDATA[@6 - Oh, I am to an extent. :-) I've got various bits using True and others using False depending on the desired behavior.<br /><br />It's a very subtle distinction to have a piece of the index frozen versus the entire index itself. For a single-threaded environment or a sufficiently small view (like this "Numbers" example) they're one and the same. But in particular if you're working with a very large view in a busy db then you've got potential concerns. AutoUpdate=False absolutely will run faster than AutoUpdate=True in many cases (though the new fix coming out makes AutoUpdate=True much closer under load.) But it's important to note that it's not a magical panacea that lets you freeze the view index.<br /><br />I wish it could. The only REAL way to freeze an index is to set your view's refresh to "Manual" and specifically call a NotesView.Refresh() prior to iterating through it, knowing that only your thread will be calling the Refresh(). <br /><br />Even then you may still need to check each doc since the ColumnValues() may not be accurate anymore. You've also got to check Document.isValid, isDeleted, etc. and if you're being extra-careful then you should check the selection formula also since it might be the case that the doc shouldn't even be there anymore.<br /><br />You've got all of the same concerns with AutoUpdate=False.<br /><br />So yeah, generally I don't want to use AutoUpdate=False. The selection formula is the deal-breaker for me. If a doc got pulled out of the view by another thread just before my agent touches it -- even if it happen one second ago -- I usually don't want it processed. So I stick with AutoUpdate=True.<br /><br />It really depends on your needs and tolerance to erroneous processing.]]></content:encoded>
<link>http://www.bobzblog.com/tuxedoguy.nsf/dx/geek-o-terica-11-view-autoupdate-part-deux?opendocument&amp;comments#04152010052903AMBAREB8.htm</link>
</item>

</channel></rss>
