<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Windows Live Agents Team Blog</title><subtitle type="html" /><id>http://blogs.msdn.com/windowsliveagents/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/windowsliveagents/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-08-11T19:54:00Z</updated><entry><title>WLA 5.1 SDK is now available for download</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/11/25/wla-5-1-sdk-is-now-available-for-download.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/11/25/wla-5-1-sdk-is-now-available-for-download.aspx</id><published>2008-11-25T20:33:00Z</published><updated>2008-11-25T20:33:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;Greetings Developers and Partners of Windows Live Agents, &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;We are very pleased to announce that WLA 5.1 is here! &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;It is with a heavy heart that we have to announce WLA 5.1 is the last WLA release. We are retiring our product&lt;SPAN style="COLOR: #1f497d"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN; mso-bidi-font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT color=#000000 size=3&gt;and this final version is better suited to take you through the summer of 2009 when official support ends.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;You, our developers and partners, have provided great feedback about our product that we have incorporated into product features, many of which are part of 5.1 release. We would like to thank you for all your feedback and participation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;We will no longer accept new hosting requests. &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;To review your current Agents, go to our&lt;SPAN style="COLOR: #444444"&gt; &lt;A href="http://go.microsoft.com/?linkid=9368511" mce_href="http://go.microsoft.com/?linkid=9368511"&gt;Partner Hosting portal&lt;/A&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;For tips on self-hosting, please refer to &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/windowsliveagents/archive/2008/10/24/windows-live-agents-sdk-self-hosting.aspx" mce_href="http://blogs.msdn.com/windowsliveagents/archive/2008/10/24/windows-live-agents-sdk-self-hosting.aspx"&gt;&lt;FONT color=#800080 size=3&gt;this article&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: #1f497d; FONT-FAMILY: 'Arial Narrow','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;Please use &lt;/SPAN&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;A href="http://agents.live.com/" mce_href="http://agents.live.com/"&gt;&lt;SPAN style="COLOR: purple; FONT-FAMILY: 'Calibri','sans-serif'"&gt;http://agents.live.com/&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt; to download SDK. This version of WLA provides a number of features that allow for better and more intuitive agents development experience. As always we &lt;SPAN style="COLOR: black"&gt;highly recommend you read the release notes about all new features and use help documentation provided with SDK for any question on usage you might have.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;We still encourage you to continue using our &lt;/FONT&gt;&lt;A href="http://social.msdn.microsoft.com/forums/en-US/wlagentsdev/threads/" mce_href="http://social.msdn.microsoft.com/forums/en-US/wlagentsdev/threads/"&gt;&lt;FONT color=#800080 size=3&gt;Forum&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt; site for communication with development community and WLA team.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;Thank you,&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;Windows Live Agents Team&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9142446" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author></entry><entry><title>Windows Live Agents SDK Self-Hosting</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/10/24/windows-live-agents-sdk-self-hosting.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/10/24/windows-live-agents-sdk-self-hosting.aspx</id><published>2008-10-24T21:50:00Z</published><updated>2008-10-24T21:50:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Windows Live Agents SDK offers the ability to self host your agent for development and testing purposes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Limited number of license sessions is granted per service (common-service, MSN, etc) per month. License session limits are imposed per license certificate; they are shared among all your agents if you have multiple ones running in SDK management console.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Currently, the standard license certificate offers 500 common-service sessions, and 500,000 MSN sessions per month.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Each service also gets 50,000 burst sessions, we will explain the burst sessions a little later.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Self Host Your Agent(s):&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;To start self-hosting, you need to have Visual Studio 2005 or 2008 and Windows Live Agents SDK installed and a Windows Live account.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Please refer to the Windows Live Agents SDK help file for detailed steps on how to obtain a license certificate. (&lt;SPAN style="COLOR: #548dd4; mso-themecolor: text2; mso-themetint: 153"&gt;Windows Live Agents SDK -&amp;gt; Getting Started with Windows Live Agents SDK -&amp;gt; How to: Install the License Key&lt;/SPAN&gt;)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;To add and start your agents through the SDK management console, please refer to the Windows Live Agents SDK help file. (&lt;SPAN style="COLOR: #548dd4; mso-themecolor: text2; mso-themetint: 153"&gt;Windows Live Agents SDK -&amp;gt; Windows Live Agents SDK Developer’s Guide -&amp;gt; Launching and Testing Your Agents&lt;/SPAN&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Self-Host Limitations&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;No redundancy or failover capabilities.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;No load balancing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Limited number of license sessions per month.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;License Sessions Details:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The license sessions renew daily at 1/30&lt;SUP&gt;th&lt;/SUP&gt; of the monthly limit for each service. Please note, burst sessions are not renewable, it is for the lifetime of the license.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;For example: common-service sessions renew at 17 sessions per day, and MSN sessions renew at 16667 sessions per day.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;How are license sessions counted?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One license session is one continuous hour of interactivity with the agent through a service (ex. HTTP, MSN) for one user starting from the first time the user engages the agent.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The license session continues whether the user interacts with the agent or not after the initial request. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;For example, user U1 chats with agent A1 at 10:00 pm for 5 minutes, then chats with agent A1 again at 11:01 pm for another 5 minutes, two sessions will be counted; user U2 chats with Agent A2 at 10:00 pm for 30 minutes, then chats with the agent again at 10:45 for 5 minutes, only one session will be counted.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;When all license sessions for one service are used, burst sessions for that service will be used, and the agent will be running in demo-mode for that service.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;While in demo-mode, the agent will only interact with new users for one license session through that service.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The agent will stop interacting with users through the service when both regular and burst sessions for that service run out.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Please note that one license session is used per hour when you are connected to the SDK management console (&lt;/FONT&gt;&lt;A href="http://localhost:8000/"&gt;&lt;FONT face=Calibri size=3&gt;http://localhost:8000&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;), to avoid this, simply close your connection (browser) to the SDK management console when not needed. &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9015122" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Self Hosting" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Self+Hosting/default.aspx" /></entry><entry><title>Parsing, manipulating and examining data in Buddyscript</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/09/23/parsing-manipulating-and-examining-data-in-buddyscript.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/09/23/parsing-manipulating-and-examining-data-in-buddyscript.aspx</id><published>2008-09-23T20:46:00Z</published><updated>2008-09-23T20:46:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;As an Agents developer, you need to be able to handle and present data accurately and efficiently.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are many string parsing, manipulation, and examination functions in the Buddyscript arsenal.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Many are of the standard variety that are found in most programming languages.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The more common and obvious ones that follow the same concepts as most other high-level computer programming languages are the following (for more details on these, you can look at the online help under Procedures and Functions in the String Handling section):&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Common String Parsing Functions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSub&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - the most common substring function that gets a part of a string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Don't confuse this with the StringSubstitute function, which does string replacing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringGrabPart &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;- this function splits out a string into different parts based on a given separator.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A number is provided as one of the arguments in the function, indicating which part to return.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Compare this with StringSplit.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSplit&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - given a string, splits the string into parts based on a separator string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;These parts are put into an object list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Common String Manipulation Functions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringUppercase&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - uppercases a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringUppercaseFirst&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - uppercases only the the first letter in the string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;String UppercaseInitials&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - uppercases the first letter in each word of the string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringLowercase&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - lowercases a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringConcat &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;- concatenates two or more strings.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Each string to be concatenated is a parameter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringTrim&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - trims off leading and trailing spaces from a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringLTrim&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - trims off leading spaces from a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringRTrim &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;- trims off trailing spaces from a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSubstitute&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - given a target string, replaces all occurences of one string with another string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Don't confuse this with StringReplace (see below)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringReplace&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - given a target string, replaces a string with another string at a particular position in the string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringFormat - &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;similar to the printf function in standard C programming language library, where a format is given to define the string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Common String Examination functions:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringLength &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;- returns the length of a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSearch&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - finds the position number (Buddyscript uses an offset starting at 0 in its string) in a string, given a target string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringStartsWith&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - used as a conditional (true or false, comparing a string with a desired start-with string to see if the string starts with the start-with string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringEndsWith&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - used as a conditional (true or false, comparing a string with a desired end-with string to see if the string ends with the end-with string&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringAscii&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - returns the ascii value of a character&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringChar &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;- the opposite of StringAscii - returns the character value of an ASCII code&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Buddyscript does provide a few more string parsing and manipulation functions that are not as common to programming languages, but are very powerful.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Some of these functions are quite useful. I'm going to go into a little more depth on some of these functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The concept of a thawed string - Using StringClean&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Let's say you need to capture data that can come in in different formats.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, a telephone number.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A telephone number could come in looking like 650-555-1212, (650) 555-1212, 650.555.1212, and so on. One pretty solid approach you could take is to use the StringClean function to normalize the data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What the StringClean function does is to convert a string into its thawed state.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The term 'thawed' is something germaine to Buddyscript. A thawed string is a string that has been stripped of all special characters except for letters and numbers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Here is a little test code snippet:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ _testme&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; TESTSTRING=Anything&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;STRINGTHAWED = &lt;SPAN style="COLOR: navy"&gt;StringClean&lt;/SPAN&gt;(TESTSTRING)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;STRINGNORMALIZED = &lt;SPAN style="COLOR: navy"&gt;StringSubstitute&lt;/SPAN&gt;(STRINGTHAWED, &lt;SPAN style="COLOR: red"&gt;" "&lt;/SPAN&gt;, &lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;- &lt;/SPAN&gt;STRINGNORMALIZED&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Let's run this:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;_testme (650) 555-1212&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The STRINGTHAWED variable will look like:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;650 555 1212&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;By then replacing all whitespace characters with nothing using the StringSubstitute function, the STRINGNORMALIZED variable will then contain 6505551212.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Hashing in Buddyscript - Using StringHash&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A hash is usually used as a numerical representation of a longer string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In many programming languages, It can be used as a way to better index a set of data, i.e. indexing on the hash rather than on a long string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A hash can also be used to check that a string or computer file has not been altered.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We can do this by comparing an expected hash value with the hash value of the string or file.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The form of the syntax for StringHash is as follows&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;HASH = StringHash(URL, 2147483647)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The 2nd number is the maximum number allowed for hash values.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can specify any number up to 2147483647. This number is 2^31 -1, which is the absolute maximum you can specify.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Any number greater will return zeroes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, the hash generated from the statement StringHash("http://www.microsoft.com", 2147483647) would be 251890749.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Also, note that there are also two other hashing functions that are undocumented, GetMD5 and GetSHA1, which are also built-in.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;These use the MD5 and the SHA-1 encryption algorithms.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Both return a hexadecimal string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;HEXSTRING = GetMD5(String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;HEXSTRING = GetSHA1(String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Using the regex functions&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If you're not familar with regular expressions, hang on to your seat belt.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Regular expressions are commands that also do string processing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;But think of regular expressions as string processing on steroids.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With a small set of commands, one can do a lot of very flexible and powerful processing of text data. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;BuddyScript has a slew of string functions that accept regular expressions as a means for searching and manipulate data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Let's look at a real world example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Currently you are reading my blog post right now.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So let's say, just as a crude example, that you wanted to find the last posting date in this blog and report it in your agent.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So how would we do this?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;This is known as (web)site scraping.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In general, this is not a good practice, since HTML can change all the time at the whim of a web page designer.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is far better to use a web service that has an RSS feed or an XML feed that contains this data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;(Also, hitting against a website too often can lead to administrators thinking that there is a Denial of Service attack going on, so don't try this often).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Having said this, let's pretend that no feeds exist, and you really have to grab the date from the website.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;First of all, you'd set up a datasource to access the data, and then put the data into a variable.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here's an example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;datasource&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;SPAN style="COLOR: purple"&gt;dsBlog&lt;/SPAN&gt;() =&amp;gt; PAGE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;http&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;http://blogs.msdn.com/windowsliveagents/&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;DATA = &lt;SPAN style="COLOR: purple"&gt;dsBlog&lt;/SPAN&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The variable DATA now contains all the HTML, most of it which is fairly unreadable unless you are an HTML guru.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We know that the most recent posting date is between the word "Posted" and the word "by" (as I said before this is a very unstable technique but bear with me).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We can now use the StringMatch function to grab this specific data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The StringMatch function has 3 parts to it, the string, the regular expression, and the object hash where the splitting of the data will go into for the regular expression.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The actual HTML snippet might look something like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;Posted&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt; &amp;lt;a id="postlist" href="http://blogs.msdn.com/feedback.aspx"&amp;gt;Saturday, September 13, 2008 12:32 AM&amp;lt;/a&amp;gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;by&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The statement to extract this would look something like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;EXTRACT = ()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;MATCHES = &lt;SPAN style="COLOR: navy"&gt;StringMatch&lt;/SPAN&gt;(TESTSTRING, &lt;SPAN style="COLOR: red"&gt;"Posted(.*?)\.aspx\"&amp;gt;(.*?)&amp;lt;/a&amp;gt; by"&lt;/SPAN&gt;, EXTRACT)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;- &lt;/SPAN&gt;EXTRACT&lt;SPAN style="COLOR: red"&gt;[1]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;We allocate a list called EXTRACT, which will contain the contents as specified in the regular expression inside the parenthesis, (.*?).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So what does .*? mean?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The '.' dot represents matching any one character.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The '*' is a quantifiers.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The '*' means to grab all characters.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The ? means to look for the first occurence.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is a lot to regular expressions which this blog post won't be able to cover.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;EXTRACT[0] will thus contain &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;a id="postlist" href="http://blogs.msdn.com/feedback&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;EXTRACT[1] will contain &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;Saturday, September 13, 2008 12:32 AM&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;MATCHES will contain the number 2, since there are 2 matches found.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;There are other string functions that use regular expressions as input as well.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once again, look at the online documentation for more details.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSplitRegex&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - is like StringSplit, but instead of a fixed separator value, a regular expression is used instead.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; mso-pagination: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringSubstituteRegex&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; - is like StringSubstitute, but instead of a fixed string to be looked for for replacing, a regular expression can be used instead.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8962532" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Buddy Script" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Buddy+Script/default.aspx" /><category term="data sources" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/data+sources/default.aspx" /></entry><entry><title>Debugging Your Agent: step-by-step debugger</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/09/16/debugging-your-agent-step-by-step-debugger.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/09/16/debugging-your-agent-step-by-step-debugger.aspx</id><published>2008-09-16T20:52:00Z</published><updated>2008-09-16T20:52:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp; Today we're going to talk again about debugging your agent's inner workings, but this time through the use of debug output instead of the step-by-step debugger. This is generally where you want to go to check up on what's happening behind the scene if your agent's output is not helping enough. The following contains scary exhaustive lists of obscure words, but fear not, the good news is that you won't need to remember any of them!&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;In the SDK, the queryserver's output can be seen in the &lt;B&gt;Output&lt;/B&gt; tab when the agent is running, next to &lt;B&gt;Conversation&lt;/B&gt;.&lt;BR&gt;When running the Agent in the console, you can find the same data under &lt;B&gt;Monitoring and Control&lt;/B&gt; &amp;gt;&amp;nbsp; &lt;B&gt;View Component Logs&lt;/B&gt;, then checking the latest &lt;I&gt;Queryserver &lt;/I&gt;logfile.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp; The level of debug is highly customizable; you can pick and choose the outputs important to you, whether you want to know what's happening to your datasources, how the scoring is done exactly, why the agent is taking so long to startup, the order in which the domains and packages are being compiled, how your supercomplex routine ends up in a loop, what's happening with the notifications....&lt;BR&gt;&lt;BR&gt;&amp;nbsp;There are various ways of setting the debug level:&lt;BR&gt;- In the SDK, your agent's properties have a field called Debug, which takes the argument "&lt;I&gt;tag1 tag2 tag3...."&lt;/I&gt;&lt;BR&gt;- In the SDK when the agent is running, you can change the level at any time using the command &lt;B&gt;&lt;I&gt;"!d tag1 tag2 tag3..."&lt;BR&gt;&lt;/I&gt;&lt;/B&gt;- For a console agent, you can change it in the config file under Query Server:&lt;BR&gt;&lt;B&gt;&lt;I&gt;&amp;nbsp;&amp;lt;debug&amp;gt;tag1 tag2 tag3...&amp;lt;/debug&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;- For a running console agent, there is also a way - see at the end of this post for more details!&lt;BR&gt;&lt;BR&gt;So what exactly would you put in this TAGS list?&lt;BR&gt;Well the easiest approach is to use the preset debug levels. They are numbered from 0 to 9, 0 outputing nothing and 9 outputting per minute the equivalent of the whole contents of the Library of Alexandria.&lt;BR&gt;By default, the SDK uses level 5 which is a good compromise but still quite verbose, while console Agents are usually set to 1 or 2 due to the amount of traffic they can get.&lt;BR&gt;&lt;BR&gt;Here are, for future reference, the tags associated with each level:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;1 =&amp;nbsp; platforminfo domainerror matchingtestupdate extrainfo qddpevents qdmrevents qdmisc externalcomp dispatcherrunlevel miscloadingerrors preloadingagentfailed idsapiaccess&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;2 =&amp;nbsp; 1 + platforminfoex plugins miscloadinginfo queryprocessor bestmatchoverall predicatereloading qduserevents qdmessages qddns sourceblocker1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;3 =&amp;nbsp; 2 + datasourcebasic queryconstruction querytimings gatewaynotfound gatewayfailure gatewaydbnotfound gatewayblocked externalext executionrephrase scriptexe1 threadid sourceblocker2 matcherlow agentpreloaded miscloadingdetails&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;4 =&amp;nbsp; 3 + userprofile domainallstats match moreenum&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;5 =&amp;nbsp; 4 + datasourceaverage conditiontreebasic userprofileex keepallmaybeyoumeant scriptexe2 timedactions matcheraverage&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;6 =&amp;nbsp; 5 + conditiontreeaverage matchpossible contextbasic presentationfeed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;7 =&amp;nbsp; 6 + datasourcedetailed conditiontreedetailed patternexplosionbasic tokengrouping compilationrephrase scriptexe3 xslttrransform1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;8 =&amp;nbsp; 7 + patternexplosiondetails matcherhigh sourceblocker3&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;9 =&amp;nbsp; 8 + displayallunify currentcommand patternexplosionfull xslttrransform2&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;For the global setting, using such a number can be quite enough to define how much general output you want to see, but let's say you have a problem with your datasources and want to see what happens with them without getting too distracted with the rest. Well you could call the command : &lt;I&gt;"!d 1 datasourcebasic" &lt;/I&gt;which resets the main debug level to 1, then adds &lt;I&gt;"datasourcebasic" &lt;/I&gt;on top of it. Note that the tags are cumulative, so if you were to call it again with: &lt;I&gt;"!d datasourceaverage"&lt;/I&gt;, your debug would then contain all of 1 + &lt;I&gt;datasourcebasic &lt;/I&gt;+ &lt;I&gt;datasourceaverage&lt;/I&gt;. On the other hand, calling a numbered level resets to that level, so &lt;I&gt;"!d currentcommand 1" &lt;/I&gt;is the same as &lt;I&gt;"!d 1".&lt;/I&gt;&lt;BR&gt;&lt;BR&gt;Now, you've noticed that if you're only interested in datasources, you still have to list a number of tags to achieve the level of debug you want. Here comes another helper: the tag groups! Much like the numbered levels, these help you by setting a bunch of tags at once:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;platform&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = platforminfo platforminfoex&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;miscloading &amp;nbsp;&amp;nbsp;&amp;nbsp; = miscloadinginfo miscloadingerrors miscloadingdetails&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;init&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = plugins conditiontreebasic conditiontreeaverage conditiontreedetailed dispatcherrunlevel&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;up&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = userprofile userprofileex&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;domain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = domainerror domainallstats&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;context&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = contextbasic&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;pattern&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = patternexplosionbasic patternexplosiondetails patternexplosionfull&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;matching&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = bestmatchoverall match keepallmaybeyoumeant matchpossible displayallunify matchingtestupdate matcherlow matcheraverage matcherhigh&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;conditions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = conditiontreeaverage conditionsbasic conditionsdetailed patternsbasic patternsdetailed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;script&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = extrainfo moreenum currentcommand&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;gateway&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gatewaynotfound gatewayfailure gatewaydbnotfound gatewayblocked&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;sourceblocker = sourceblocker1 sourceblocker2 sourceblocker3&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;xslttrransform&amp;nbsp; = xslttrransform1 xslttrransform2&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=FR style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Times New Roman','serif'; mso-ansi-language: FR"&gt;rephrase&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = executionrephrase compilationrephrase&lt;/SPAN&gt;&lt;SPAN lang=FR style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-ansi-language: FR"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'; mso-ansi-language: FR"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;qdbase&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = qddpevents qdmrevents&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=FR style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-ansi-language: FR"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'; mso-ansi-language: FR"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Times New Roman','serif'"&gt;qdsmart &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = qdbase qduserevents qdmessages qddns up querytimings&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;qdall&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = qdsmart qdthread&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;datasource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = datasourcebasic datasourceaverage datasourcedetailed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;external&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = externalcomp externalext&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 5pt 0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #a31515"&gt;thread_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = threadid&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;BR&gt;&amp;nbsp;Another practical example: let's say you don't want too much information in your log window, and decide to set the debug level to 2. It just so happens that this poses a problem with the &lt;B&gt;Comprehension Info&lt;/B&gt; tab, as that tab requires special debug outputs (notably matcheraverage, found in debug level 5) to be able to present you with the rephrasing rules details and scores reliably. Normally, you would keep the debug level 5 and feel sorry for all the virtual paper being wasted and the virual forests becoming extinct, but now you know better! All you need to do is to change the setting to &lt;I&gt;"1 matching rephrase", &lt;/I&gt;or even &lt;I&gt;"1 executionrephrase matcheraverage" &lt;/I&gt;to be super conservative.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;A few words about performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;As you can imagine, outputting so much data to the screen or to a file takes up resources, so whenever performance is a concern, you want to be conservative about the level of debug. Here are two ways to help without hurting:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;- if your agent has a good-size codebase, starting it up can take a bit of time depending what it loads. So in the SDK where you require numerous restarts, you don't want to add on top of that the cost of outputting huge quantities of debug output you don't need at start up. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;Lo and behold! the&amp;nbsp; '&lt;I&gt;debug-startup' &lt;/I&gt;option is your new friend. It tells the queryserver what debug level to adopt until it's fully started. In the SDK you use it by adding &lt;B&gt;&lt;I&gt;"--debug-startup FLAGS" &lt;/I&gt;&lt;/B&gt;to the Extra Options field in the agent's properties. **&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;- For a console agent already running and live, as noted before you want a pretty terse debug level due to the traffic, but you may need to change it on the fly to investigate a particular issue. For this, Buddyscript has a built-in procedure called &lt;B&gt;&lt;I&gt;SetDebugLevel()&lt;/I&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ setdebuglevel&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; TAGS=AnythingStrong {MACRO_PROTECTED_MATCHING}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; - Changing &lt;SPAN style="COLOR: blue"&gt;the&lt;/SPAN&gt; debug level &lt;SPAN style="COLOR: blue"&gt;to&lt;/SPAN&gt; TAGS...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; SetDebugLevel(TAGS)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;However make sure you turn it back once you're done investigation! One safe way of implement in it is with the following code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; G_CHANGED_DEBUG_LEVEL = &lt;SPAN style="COLOR: blue"&gt;false&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ setdebuglevel&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; TAGS=AnythingStrong {MACRO_PROTECTED_MATCHING}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; - Changing &lt;SPAN style="COLOR: blue"&gt;the&lt;/SPAN&gt; debug level &lt;SPAN style="COLOR: blue"&gt;to&lt;/SPAN&gt; TAGS...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; G_CHANGED_DEBUG_LEVEL = &lt;SPAN style="COLOR: blue"&gt;true&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; SetDebugLevel(TAGS)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt; &lt;SPAN style="COLOR: purple"&gt;ABEndSessionProc&lt;/SPAN&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; G_CHANGED_DEBUG_LEVEL&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; SetDebugLevel(&lt;SPAN style="COLOR: red"&gt;"2"&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;This is assuming that your 'config' debug level is 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;And that's it! Next time you have an issue for us to look at and we ask you to send us the log with debug level set to &lt;B&gt;&lt;I&gt;'currentcommand'&lt;/I&gt;&lt;/B&gt; (this one outputs the whole execution of the code), you'll know why and how.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;Thanks for reading the blog and come back soon!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;** an even better friend in that regard is the command "!ddlreload" in the conversation window, that doesn't restart the agent but only reloads the domains and packages that changed since the last reload. Be advised though that it won't always reload everything correctly, so a restart once in a while is recommanded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;Type "?" to get a list of all those useful and lesser-known commands.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8954187" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx" /></entry><entry><title>Windows Live Agents SDK Feedback</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/09/13/windows-live-agents-sdk-feedback.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/09/13/windows-live-agents-sdk-feedback.aspx</id><published>2008-09-13T02:32:00Z</published><updated>2008-09-13T02:32:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Hello,&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;We are starting to plan our 5.2 Windows Live Agents SDK release. Even though we have many ideas and directions that we can take the SDK, we would love to hear what kind of improvements and features you would like to see!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Please email your suggestions to &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: #1f497d; mso-themecolor: text2"&gt;&lt;A href="mailto:wlasdkfeedback@live.com"&gt;&lt;FONT color=#0000ff&gt;wlasdkfeedback@live.com&lt;/FONT&gt;&lt;/A&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Tahoma"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;and we will do our best to make sure you see the improvements you have requested in our 5.2 release and beyond!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Sincerely,&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The Windows Live Agents Team&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8948451" width="1" height="1"&gt;</content><author><name>gpitigoi</name><uri>http://blogs.msdn.com/members/gpitigoi.aspx</uri></author><category term="Announcement" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Announcement/default.aspx" /></entry><entry><title>Windows Live Messenger translation bot now available!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/09/08/windows-live-messenger-translation-bot-now-available.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/09/08/windows-live-messenger-translation-bot-now-available.aspx</id><published>2008-09-09T00:23:00Z</published><updated>2008-09-09T00:23:00Z</updated><content type="html">&lt;H2&gt;Windows Live Messenger translation bot now available!&lt;/H2&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/translation/WindowsLiveWriter/WindowsLiveMessengertranslationbotnowava_12361/clip_image001_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=195 alt=clip_image001 src="http://blogs.msdn.com/blogfiles/translation/WindowsLiveWriter/WindowsLiveMessengertranslationbotnowava_12361/clip_image001_thumb.jpg" width=156 border=0&gt;&lt;/A&gt; 
&lt;P&gt;The Microsoft Translator team is excited to announce the new translation bot for Windows Live Messenger! This Messenger bot does translations for you. Just add &lt;A href="mailto:mtbot@hotmail.com"&gt;mtbot@hotmail.com&lt;/A&gt; to your contacts and start chatting. You can have one-on-one conversations with the bot, or you can invite a friend and chat in different languages with the bot translating for you.&amp;nbsp; As usual, remember that machine translation isn’t perfect – slang especially will give the engine trouble. 
&lt;P&gt;You can also access Windows Live Messenger on your smartphone to use the bot to translate simple sentences while you’re traveling to other countries! 
&lt;P&gt;The translator bot is localized into all of the languages for which we have translation support on &lt;A href="http://www.windowslivetranslator.com/"&gt;www.windowslivetranslator.com&lt;/A&gt;: 
&lt;UL&gt;
&lt;LI&gt;English to/from: 
&lt;UL&gt;
&lt;LI&gt;Arabic 
&lt;LI&gt;Chinese Simplified 
&lt;LI&gt;Chinese Traditional 
&lt;LI&gt;Dutch 
&lt;LI&gt;French 
&lt;LI&gt;German 
&lt;LI&gt;Italian 
&lt;LI&gt;Japanese 
&lt;LI&gt;Korean 
&lt;LI&gt;Portuguese 
&lt;LI&gt;Russian (RUS-&amp;gt;ENU only) 
&lt;LI&gt;Spanish&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Chinese Simplified &amp;lt;-&amp;gt; Chinese Traditional&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;More languages will be rolled out over the next several months.&amp;nbsp; Start using the bot and let us know your feedback! FYI - at any time while you’re chatting with the bot, just type “TBot ?” to get a list of commands that the bot understands: 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/translation/WindowsLiveWriter/WindowsLiveMessengertranslationbotnowava_12361/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=476 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/translation/WindowsLiveWriter/WindowsLiveMessengertranslationbotnowava_12361/clip_image002_thumb.jpg" width=397 border=0&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8934887" width="1" height="1"&gt;</content><author><name>Glen Allison</name><uri>http://blogs.msdn.com/members/Glen+Allison.aspx</uri></author><category term="Translation" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Translation/default.aspx" /></entry><entry><title>New version of WLA SDK is now available for download</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/29/new-version-of-wla-sdk-is-now-available-for-download.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/29/new-version-of-wla-sdk-is-now-available-for-download.aspx</id><published>2008-08-29T21:05:00Z</published><updated>2008-08-29T21:05:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Greetings,&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;We are pleased to announce that a new version of WLA SDK is now available for download.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Please use &lt;/FONT&gt;&lt;A href="http://agents.live.com/"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://agents.live.com/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; to download SDK.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Thank you,&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Windows Live Agents team&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8906089" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author></entry><entry><title>Debugging your Agent</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/27/debugging-your-agent.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/27/debugging-your-agent.aspx</id><published>2008-08-28T00:53:00Z</published><updated>2008-08-28T00:53:00Z</updated><content type="html">&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Depending on the complexity of your Agent, you might want to add debug code right of the bat. That makes it easier (and less painful) to find issues you will come across. Look for examples further down the post.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 13pt; mso-bidi-font-family: 'Courier New'"&gt;How to debug your Agent:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Syntax: break [file:]line&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Example: In the SDK, type “&lt;SPAN class=GramE&gt;!break&lt;/SPAN&gt; Numbers.pkg:291” (this will set a break point in the package “Numbers” at line 291)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Once you set a break point, enter a query that you want to investigate further. Eventually you will hit the break point you set and you can now dig in by using the debugging commands listed below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;While in debug mode, type “help” to see a list of possible commands:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Debugger static commands:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;break&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; [file:]line: sets a breakpoint&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;show&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; breakpoints:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;lists the breakpoint&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;show&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; files: lists the different files that are loaded&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;delete&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; number: delete a breakpoint&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;delete&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; all: delete all breakpoints&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;show&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; global &lt;SPAN class=SpellE&gt;vars&lt;/SPAN&gt;: lists all the global &lt;SPAN class=SpellE&gt;vars&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;print&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or p &lt;SPAN class=SpellE&gt;expr&lt;/SPAN&gt;: evaluates the expression&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;: the next execution will stop at the first instruction&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;debugger&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; &lt;SPAN class=SpellE&gt;on|off&lt;/SPAN&gt;: turns on or off the debugger&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Debugger execution commands:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;continue&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or c: continue the execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;next&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or n: continue to the next line&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;step&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or s: continue to the next command, entering procedure or function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;step&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; out or so: continue until outside the routine, procedure or function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=SpellE&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;backtrace&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or &lt;SPAN class=SpellE&gt;bt&lt;/SPAN&gt;: lists the call stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;up&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;: goes up in the call stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;down&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or do: goes down in the call stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;frame&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or f number: goes to a given frame in the call stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;show&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; &lt;SPAN class=SpellE&gt;vars&lt;/SPAN&gt;: lists all the local &lt;SPAN class=SpellE&gt;vars&lt;/SPAN&gt; at the current frame&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN class=GramE&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;quit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt; or q: terminates the execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Note&lt;SPAN class=GramE&gt;:&lt;SPAN style="FONT-STYLE: normal"&gt; !&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;d [&lt;SPAN class=SpellE&gt;debug_level&lt;/SPAN&gt;]&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;// Displays/changes the debug level&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 13pt; mso-bidi-font-family: 'Courier New'"&gt;How to add debug code to your Agent:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;// Debug code to place in a .pkg file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; G_PROJECT_NAME_DEBUG_MODE&lt;SPAN style="COLOR: green"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: purple"&gt;TurnDebugMyProjectOnOff&lt;/SPAN&gt;(ON_OFF)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;G_PROJECT_NAME_DEBUG_MODE = ON_OFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; ON_OFF&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;- Debug mode turned on!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;- Debug mode turned off!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfDebugMode&lt;/SPAN&gt;(DISPLAY)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;IncreasePresentationMaxLengthIfDebugMode&lt;/SPAN&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; G_PROJECT_NAME_DEBUG_MODE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;- &lt;/SPAN&gt;DISPLAY&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;// Debug code to place in a .ddl file. This is to turn debug mode on/off in your project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;+ _debug_my_project&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; ON_OFF=Anything {MACRO_PROTECTED_MATCHING} &lt;SPAN style="COLOR: green"&gt;// i.e. type “_debug_my_project true” to activate debug mode.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;TurnDebugMyProjectOnOff&lt;/SPAN&gt;(ON_OFF)&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;If you have a lot of different domains in your Agent that interact with each other (i.e. weather, location, etc.), then it might make sense to split up the debug code accordingly. Create some per feature, i.e. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(DISPLAY) and &lt;SPAN style="COLOR: blue"&gt;procedure&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfLocationDebugMode&lt;/SPAN&gt;(DISPLAY), etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;Now, place your new procedure(s) wherever you want to display debug information throughout your code. For example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;function&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: navy"&gt;GetWeatherChangeForInitiative&lt;/SPAN&gt;(WEATHER_OBJ, PRECIP, TEMP)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(&lt;SPAN style="COLOR: navy"&gt;GuessWeatherLocationObject&lt;/SPAN&gt;())&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;CHANGE_MUCH_HIGHER_DATE = ()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;CHANGE_MUCH_LESS_DATE&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;= ()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WEATHER_OBJ_KEYS&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;= &lt;SPAN style="COLOR: navy"&gt;Keys&lt;/SPAN&gt;(WEATHER_OBJ)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;DAYS_W_NO_CHANGE_AHEAD&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;= 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;//&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt; DATE &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; WEATHER_OBJ_KEYS&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; PRECIP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CHANGE_TO_CHECK = &lt;SPAN style="COLOR: navy"&gt;GetWeatherObject_ForecastChangePrecipitation&lt;/SPAN&gt;(WEATHER_OBJ, DATE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; TEMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CHANGE_TO_CHECK = &lt;SPAN style="COLOR: navy"&gt;GetWeatherObject_ForecastChangeTemperature&lt;/SPAN&gt;(WEATHER_OBJ, DATE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(StringConcat(&lt;SPAN style="COLOR: #a31515"&gt;"Condition to check: "&lt;/SPAN&gt;, CHANGE_TO_CHECK))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//much higher&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; CHANGE_TO_CHECK &lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;"MACRO_WEATHER_PATTERN_CHANGE_MUCH_HIGHER"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;insert&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;last&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; CHANGE_MUCH_HIGHER_DATE DATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(StringConcat(&lt;SPAN style="COLOR: #a31515"&gt;"Much higher on: "&lt;/SPAN&gt;, DATE))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;break&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//much less&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; CHANGE_TO_CHECK &lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;"MACRO_WEATHER_PATTERN_CHANGE_MUCH_LESS"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;insert&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;last&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; CHANGE_MUCH_LESS_DATE DATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(StringConcat(&lt;SPAN style="COLOR: #a31515"&gt;"Much less on: "&lt;/SPAN&gt;, DATE))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;break&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//no change&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; CHANGE_TO_CHECK &lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;"MACRO_WEATHER_PATTERN_CHANGE_NO_CHANGE"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;DAYS_W_NO_CHANGE_AHEAD++&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;call&lt;/SPAN&gt; &lt;SPAN style="COLOR: purple"&gt;DisplayIfWeatherDebugMode&lt;/SPAN&gt;(StringConcat(&lt;SPAN style="COLOR: #a31515"&gt;"Days without change: "&lt;/SPAN&gt;, DAYS_W_NO_CHANGE_AHEAD))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;//&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// ...&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;Happy debugging! ;)&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Courier New'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN"&gt;------------------------------------------&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Courier New'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Courier New'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN"&gt;Blog post contributor(s): Mirco&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Courier New'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ansi-language: EN"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8901613" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Debugging" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx" /></entry><entry><title>Compliance in the Hosted Environment</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/compliance-in-the-hosted-environment.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/compliance-in-the-hosted-environment.aspx</id><published>2008-08-11T22:04:00Z</published><updated>2008-08-11T22:04:00Z</updated><content type="html">&lt;FONT face=Calibri size=3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;In 5.0, we introduced a new set of features collectively called &lt;B style="mso-bidi-font-weight: normal"&gt;Runtime Policy Compliance&lt;/B&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We designed Compliance to help developers comply with security policies that address potentially offensive input and output in an agent.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can get a more detailed introduction in our &lt;A href="http://msdn.microsoft.com/en-us/library/cc528097.aspx"&gt;&lt;FONT face="Times New Roman"&gt;online docs&lt;/FONT&gt;&lt;/A&gt;, but in this post we specifically want to call out some new Compliance-related elements for those developers using our Partner Hosting Infrastructure.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Please look for these elements coming soon to the hosting process, and adjust your planning accordingly:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Compliance review&lt;/B&gt;: As part of the Critical File Review, we will review your project for potentially offensive output, and alert you of any potential issues.&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Compliance impact on hosted agents&lt;/B&gt;:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Not a formal part of the hosting process, but an issue to be aware of.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once your agent is hosted, the Compliance features will be using data that is only available on our servers.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This may impact your agent's behavior.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example: Once your agent is hosted, the Sensitive Input Auto-Handler will recognize potentially sensitive user input based on our data, and it will give a default response.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Because this affects your agent's behavior, you will need to do some testing once your Agent is available in the staged hosting environment.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;At that point, you can identify and address any issues you find, for example by overriding the default response.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Manual Compliance testing&lt;/B&gt;: Before you "Go live", we will ask that you follow our guidelines for specific testing around Compliance-related vulnerabilities, and sign a document to that effect.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Phew!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We don’t like adding process any more than the next guy, but we think that together with the Compliance features, these review processes will help you effectively defend your agent against malicious users.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We look forward to working with you to make the complete hosting process as smooth as possible.&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848862" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Compliance" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Compliance/default.aspx" /></entry><entry><title>Definition of Reporting Terms in Usage Reporting in 5.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/definition-of-reporting-terms-in-usage-reporting-in-5-0.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/definition-of-reporting-terms-in-usage-reporting-in-5-0.aspx</id><published>2008-08-11T22:01:00Z</published><updated>2008-08-11T22:01:00Z</updated><content type="html">&lt;H4 style="BACKGROUND: white 0% 50%; MARGIN: 3pt 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;When your agent launches, you will be given access to the Knowledge Management Server, which includes a Usage Reporting section. The URL is https://YourProjectName.console.agents.live.com.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt; &lt;/H4&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;When you navigate to the Usage Reporting site, you will see date range options in the left pane, and report results in the right pane. &amp;nbsp;The default date is the present day. &amp;nbsp;You can switch days by clicking on the calendar on the left.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;If you click on “Custom Range” on the upper left side of the page, you can view usage reports for a custom date range. Please not that in this view, &lt;FONT color=#333333&gt;New &amp;amp; Unique Users will be shown as N/A. Due to a design limitation, we currently cannot provide accurate measurements of new and unique users for custom reporting periods.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;At the top of the page, you may see the following sections of reporting: &lt;B&gt;Volume Summary&lt;/B&gt;&lt;SPAN&gt;,&lt;B&gt; User Demographics&lt;/B&gt;,&lt;B&gt; Languages Used&lt;/B&gt;,&lt;B&gt; Activity Usage&lt;/B&gt;,&lt;B&gt; Compliance&lt;/B&gt;,&lt;B&gt; Category Analysis&lt;/B&gt;,&lt;B&gt; Topic Analysis&lt;/B&gt;&lt;/SPAN&gt;, and &lt;B&gt;Clickthroughs&lt;/B&gt;. The default reporting view is &lt;B&gt;Volume Summary&lt;/B&gt;. The sections of Usage Reporting you see, depends on how you have set up the usage_config.xml your project uses. For more information on customizing the usage_config.xml, click &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;A href="http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!565.entry?wa=wsignin1.0"&gt;&lt;SPAN style="COLOR: purple"&gt;&lt;U&gt;here&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Definition of Reporting Terms:&amp;nbsp; &lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Volume Summary Section&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Total Queries&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;:&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The total number of queries in all sessions within the specified time period. For example, if the time period includes 100 sessions, there could be 1000 or more total queries.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Total Sessions:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The total number of sessions within the specified time period.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Unique Users:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The number of unique users within the specified time period. Each user is counted once, regardless of how often they interact with the agent. For example, if one person has ten separate sessions with the agent during the specified time period, they are still identified as one unique user.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;New Users&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The number of users whose initial session with the agent occurred during the specified time period.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Average Queries Per Session&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Total queries within the specified time period divided by total sessions within the specified time period.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Average Sessions Per Unique Users&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;:&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Number of unique users within the specified time period divided by total number of sessions within the specified time period.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Category &amp;amp; Topic Analysis Sections&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Category Analysis is broken out into two sections: Category Distribution Per Query and Category Distribution Per Session. Category Distribution Per Query breaks down how many queries for the chosen date range matched to a category. Category Distribution Per Session breaks down how many times a query matched on a Category during a session.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Topic Analysis is only broken out into one section: Topic Distribution (By Query). This measures how many times users’ queries matched to a specific topic for the chosen date range.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;For information on how to log Category and Topic Analysis in your project, click &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;A href="http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!503.entry"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;here&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Clickthrough Section&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The Clickthrough section breaks down how many times a user is presented a link and how many times a user clicks on the link. &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Total&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;B&gt;Impressions &lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Number of times a user is presented a link in their conversation with the bot. &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Total Clicks &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Number of times a user clicks on the link he / she is presented. &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;For information on tracking ClickThroughs in your project, click &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;A href="http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!473.entry"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;here&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Languages Used Section&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Agent detects what languages users speak to the agent in.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="BACKGROUND: white 0% 50%; MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: rgb(51,51,51); FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Activity Usage Section&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Tracks how many users accept or reject an invitation to open the Activity Window.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Compliance Section&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Conversations Stopped&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Number of conversations interrupted after detecting user was typing sensitive topics beyond the scope of the agent.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Sensitive Sequences Rejected&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;N&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;umber of answers that were blocked by the output filter, displaying an error message to the user.&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Sensitive Sequences Trusted&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Number of answers that would have been blocked by the output filter, but were let through because of the use of the tag &amp;lt;trusted&amp;gt;.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Answers Invoking Trust&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#000000&gt;Number of messages that were displayed with the tag &amp;lt;trusted&amp;gt;…&amp;lt;/trusted&amp;gt; in them. It includes both messages that would have passed the output filter or failed it.&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848844" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Reporting" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Reporting/default.aspx" /></entry><entry><title>Visual Studio hints</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/visual-studio-hints.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/visual-studio-hints.aspx</id><published>2008-08-11T22:01:00Z</published><updated>2008-08-11T22:01:00Z</updated><content type="html">&lt;DIV&gt;If you are moving from the old Colloquis IDE to the Visual Studio-based Windows Live Agents SDK, and you've never used Visual Studio, you may be a little lost.&amp;nbsp; This post aims to collect simple hints and tricks for&amp;nbsp;agent developers new to working&amp;nbsp;with Visual Studio.&amp;nbsp; This is just a start -- if you have any hints, please do comment, and later on we'll post a sequel.&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Also, this is by no means much of a guide to Visual Studio as a whole, and is really meant to get you started and oriented for agent-development tasks.&amp;nbsp; Also, it's not a guide for creating agents.&amp;nbsp; The first resource for using the new SDK is the &lt;A href="http://msdn.microsoft.com/en-us/library/cc527946.aspx" target=_blank&gt;&lt;FONT color=#4389cf&gt;Windows Live Agents SDK documentation&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; You should start there before doing anything.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Agents menus&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Here are some common menu locations for agent-development tasks:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Edit -&amp;gt; Find and Replace&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; ... Lots of options for searching through single or multiple files.&amp;nbsp; Regular expressions work!&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Solution Explorer&lt;/FONT&gt; ... This is rougly equivalent to the Explorer feature in the old IDE, and lets you see the project files in a tree view.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Class View&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Lets you see all the project's domains and packages as a flat list of classes.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Error list&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... Displays compile errors and warnings.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Output&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Similar to the "Misc Debug" pane of the old IDE, displays compiler messages.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Other Windows -&amp;gt; Conversation Window&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;Where you compile and talk to the agent.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Other Windows -&amp;gt; Comprehension Info Window&lt;/FONT&gt;&amp;nbsp; ... Displays match scoring information.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Project -&amp;gt; Add DLS Item&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Add datasources and other DLS items.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Project -&amp;gt; ProjectName Properties&amp;nbsp; &lt;/FONT&gt;... Specify compile parameters like buddy id,&amp;nbsp;filter, and command-line options.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Code Management&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... The SDK's interface to the &lt;A href="http://msdn.microsoft.com/en-us/library/cc527970.aspx" target=_blank&gt;&lt;FONT color=#4389cf&gt;Partner Hosting Infrastructure&lt;/FONT&gt;&lt;/A&gt;.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Request License Certificate&amp;nbsp; &lt;/FONT&gt;... Get a new license cert.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Management Console&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Launches the web management console within Visual Studio.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Update connections file&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;Attempts to update the connections file based on the content of your project.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live&amp;nbsp;Agents Tools -&amp;gt; Performance&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Various&amp;nbsp;tools for measuring performance.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Options&lt;/FONT&gt; ... Set things like tabs and&amp;nbsp;syntax highlighting.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Show All Files&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;By default, the SDK will mount a filesystem in the Solution Explorer, which may affect performance if there are a lot of files, causing the editor to lag.&amp;nbsp; If this is the case, you can click "Show All Files" to remove the All Files view, and navigate to files through the Class View.&amp;nbsp; Editing will be a lot faster.&amp;nbsp; Set Show All Files to&amp;nbsp;false by default at&amp;nbsp;Tools -&amp;gt; Options -&amp;gt; Windows Live Agents SDK&amp;nbsp;-&amp;gt; SDK Settings -&amp;gt; General -&amp;gt; "Show&amp;nbsp;All Files on project open."&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Keyboard Shorcuts&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;As of right now, there isn't a keyboard shortcut for starting/stopping the agent in the Conversation Window.&amp;nbsp; However, here are some shorcuts you may find useful:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;CTRL-K CTRL-C ... comment&lt;/DIV&gt;
&lt;DIV&gt;CTRL-K CTRL-U ... uncomment&lt;/DIV&gt;
&lt;DIV&gt;CTRL-ALT-L ... Solution Explorer&lt;/DIV&gt;
&lt;DIV&gt;CTRL-TAB ... toggle through open windows&lt;/DIV&gt;
&lt;DIV&gt;CTRL-Shift-&amp;lt;arrow key&amp;gt; ... move forward/backward by one word&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Many other shortcuts are listed next to the menu items they correspond to.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Window Arrangement&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;One of the best things about Visual Studio is the flexibility it provides for laying out your environment.&amp;nbsp; Any window can be tabbed, docked, or floating, and you can drag everything around the way you like.&amp;nbsp; Right click a window title, or click the small arrow in the top of the pane, to see your options&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848847" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Buddy Script" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Buddy+Script/default.aspx" /><category term="Getting Started with WLA" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx" /><category term="Debugging" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx" /><category term="IDE" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/IDE/default.aspx" /></entry><entry><title>An advanced look at Web Services and DataSources - Part II</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/an-advanced-look-at-web-services-and-datasources-part-ii.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/an-advanced-look-at-web-services-and-datasources-part-ii.aspx</id><published>2008-08-11T22:00:00Z</published><updated>2008-08-11T22:00:00Z</updated><content type="html">&lt;DIV&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;This is a continuation on An Advanced Look at Web Services and DataSources.&amp;nbsp; The original entry is located here:&amp;nbsp;&lt;/FONT&gt;&amp;nbsp; &lt;A href="http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!711.entry"&gt;&lt;FONT color=#4389cf&gt;http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!711.entry&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#4389cf&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Now let’s take a look at the datasource itself.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The datasource essentially is a function itself, with arguments to pass, and variables to return. In the preprocess section, the POST_DATA variable where the XML SOAP request string was built is put into here.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In addition, the actual web service URL is stated here as well.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;In the preprocess section, there are also two built-in variables that can be used, LIMIT and OFFSET.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;These two variables are used to ‘page’ results in a cursor.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In the example above, we look at LIMIT to populate a variable called MAXRESULTS. The MAXRESULTS variable is then used in the COUNT element (in this case 10) to bring back 10 results per request.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;If the user needs more, then the datasource then starts at the next row and retrieves 10 more results.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;The simple xml section is a hierarchical representation of the XML response from the SOAP API, to be flattened out into a 2-dimension look when the data is retrieved.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Indentation is used to signify a parent-child relationship. The {loop=content} statement acts as a loop within the XML, iterating through the XML.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The end nodes (highlighted in BOLD) are the fields that is used to capture information and passed back to the calling routine.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Note that fields can be skipped in the simple xml section if the user does not need it.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;It should be noted here that by using simple xml to represent the XML response, there is no provision for providing a “dynamic” representation of the XML using simple xml.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;So in essence, you would have to potentially write a different datasource function for each different search type in this case.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;For generate an advanced datasource that could output differently depending on the search type would require outputting a datasource in Buddyscript. We’ll cover this in a different blog.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;datasource&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: lime; FONT-FAMILY: 'Courier New'"&gt;LiveSearchAPI&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;(SEARCH, CULTURE_INFO) =&amp;gt; Title, Description, Url, Source, NewsYear, NewsMonth, NewsDay, NewsHour, NewsMinute, NewsSecond {expire=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"in 1 hour"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; continue_on_error=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"true" &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;timeout=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"15" &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;preprocess&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; LIMIT&amp;gt;10 || LIMIT&amp;lt;=0&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MAXRESULTS = 10&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;else&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MAXRESULTS = LIMIT&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FIELDLIST = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"Title Description Url Source DateTime"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;BuildSearchAPIPostData&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;(SEARCH, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"News"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;, OFFSET, MAXRESULTS, CULTURE_INFO, FIELDLIST)&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;http&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;http://soap.search.msn.com:80/webservices.asmx&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;header&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Accept: application/soap+xml&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;postdata&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; {encode=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;no&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;}&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;POST_DATA&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;simple&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;xml&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Envelope&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Body&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SearchResponse&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Responses&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SourceResponse&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Offset =&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; RESULTOFFSET&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;// Where we're starting from. &lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Total =&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; TOTAL&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;// Total number of results.&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Results&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Result {loop=content}&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Title&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Description&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Url&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Source&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;DateTime&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Year&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Month&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Day&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Hour&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Minute&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Second&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;postprocess&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;INFO.Offset = RESULTOFFSET&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;INFO.MaxCount = TOTAL&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return INFO&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;There are other datasource properties that should be considered to either increase performance and or deal with potential errors in accessing/retrieving information from the datasource.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The first one is the &lt;B&gt;Timeout &lt;/B&gt;property.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;You can specify this time in order to lengthen or shorten the time it takes before the datasource quits accessing the web service.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The default value is 10 seconds.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In our case, we have it at 15 seconds.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The next property is the &lt;B&gt;continue_on_error&lt;/B&gt; property.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;By changing this property to ‘yes’, execution will still continue and the datasource caller can retrieve the error message in the SYS.Data.Error variable.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This is only on those sources that call the ABErrorProc.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The final property is very important.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;It is the &lt;B&gt;Expire&lt;/B&gt; property.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This determines how long retrieved data should be valid, i.e. kept in cahsed memory.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The ability to cache retrieved data in memory will improve performance on retrieving information in the datasource.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;You should consider these factors:&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;1) how often does the data change?&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;2) how often will the same retrieved data be asked again?&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;3) how large is the retrieved data set?&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;4) server memory cache size (N/A on hosted applications)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;5) how fast does the web service perform?&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;All of these are considerations.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In our case, since news items change frequently, we’ll set it for a relatively short time period, say 1 hour.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Examples of the Expire property:&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;Expire=”never”&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt; /* this is the default expiration for most non-Buddyscript datasources */&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Expire=”in 1 hour”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;Expire =”now”&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;/* no caching at all, same as “never” */&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;Expire=”tomorrow at 5am”&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt; /* Note that this time is the server time, not the client time.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;In hosted applications, this is in GMT time */&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;The &lt;B&gt;postprocess &lt;/B&gt;section is important for returning a range of information.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;For datasources that do not handle the processing of data using offsets and limits (i.e. simple xml), if the postprocess section is missing, the processing QueryServer will process the data coming back from the datasource in its entirety. In cases where the output coming back is one entity or one row, or if the amount of data needed to be processed is small, the postprocess section is not needed.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;postprocess&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;INFO.Offset = RESULTOFFSET&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;INFO.MaxCount = TOTAL&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return INFO&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Looking at the postprocess section, this section is used to set the offset and total count of rows in a variable.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This variable is then used by Buddyscript to control the display of output.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;In this case, INFO is the name of an object variable. The names of the variables inside the object is Offset and MaxCount, and these values are populated from the datasource:&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Offset =&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; RESULTOFFSET&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;// Where we're starting from. &lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Total =&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; TOTAL&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;// Total number of results.&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Finally, here is a crude routine to pass a request to the Live Search API, access the web service and display the contents of the data, using Buddyscript code to control the amount of data coming in.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;? Tell me some news about STRING=Anything&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;LOCALE=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;"en-us"&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;TITLE, DESCRIPTION, LINK, SOURCE, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND = LiveSearchAPI(STRING, LOCALE) &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;show&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt; 10&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;Here are the results:&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;- &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;TITLE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;SOURCE&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;blank/&amp;gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;ifmore&amp;gt;Type "more" for more news.&amp;lt;/ifmore&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;else&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;- Sorry, no news sites were found for your input.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;In the input, you could ask a question such as “Tell me some news about Baron Davis” for example, and get back results that looks like this (notice that the output only contains 2 out of the 10 arguments returned, Title and Source):&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Here are the results:&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Baron Davis Going South, San Francisco Gate&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;The Baron Davis, Gilbert Arenas Switch-a-roo?, San Francisco Gate&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Clippers set sights on Baron Davis, Los Angeles Times&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Baron Davis on verge of signing with Clippers, Washington Post&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;NBA: Warriors trying to woo Brand, Newsday&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Baron Davis becomes free agent, Chicago Sun-Times&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Report: Davis to ditch Warriors for Clippers, FOXSports.com&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Logo? Colors? History? Don't mean a thing if you ain't got that team, CBS Sportsline&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Davis on verge of joining Clippers, CNN Sports Illustrated&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Davis on verge of signing with Clippers, Salon&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;Type “more” for more news.&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;.&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;Notice that in the pattern routine, there is an option called &lt;B&gt;SHOW 10&lt;/B&gt;.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This means to output 10 rows at a time.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Buddyscript will go to the output datasource to retrieve the information, which in this case happens to be exactly 10 rows, since the request was to buffer 10 rows per datasource request.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;If the user were to type in “more”, another 10 rows will be retrieved from the datasource and 10 more rows will be displayed, and so on.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;(Note that there is a Buddyscript variable named SYS.Presentation.Maxlength that also controls the number of characters that can be displayed on an IM client.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Depending on what this is set to, this number will also control the number of rows displayed back.)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;&lt;FONT face=Calibri&gt;With the SHOW command, this allows the user a quick and equivalent way of emulating a forward read-only cursor, i.e. displaying &lt;I&gt;x&lt;/I&gt; number of rows of output at one time.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The other option would be to put the data into an object and loop through the object, displaying each row, which involved more coding. It’s very possible that for control purposes, the latter method is the right way to go, but for quick coding and display, SHOW is very powerful. &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #333333; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black"&gt;Hopefully you have gotten a chance to absorb the intricacies of using datasources by accessing a really powerful web service.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Thanks for your attention!&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848839" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Web Services" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Web+Services/default.aspx" /><category term="dynamic content" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/dynamic+content/default.aspx" /><category term="data sources" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/data+sources/default.aspx" /></entry><entry><title>An advanced look at Web Services and Datasources - Part I</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/an-advanced-look-at-web-services-and-datasources-part-i.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/an-advanced-look-at-web-services-and-datasources-part-i.aspx</id><published>2008-08-11T21:59:00Z</published><updated>2008-08-11T21:59:00Z</updated><content type="html">&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;An advanced look at Web Services and Datasources&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;Back in February, we showed a basic example of accessing a web service and using a datasource to consume information from a web service. (Refer to: &lt;/FONT&gt;&lt;A href="http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!443.entry"&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Calibri color=#800080&gt;http://windowsliveagents.spaces.live.com/blog/cns!5BCD45E519E07634!443.entry&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;) Today, we’ll take a further look at a real-world web service, and some further things you can do with a datasource to make your application perform better, and to potentially reduce coding effort.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;Many agents rely on rich content in order to create a solid user experience.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Many times, this involves accessing an external data store, such as a web service. With some web services, you can parameterize your request in the URL itself, for example http:/URL?&amp;lt;input&amp;gt;.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;More often, web services involve using request and response model via a SOAP API.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;The Windows Live Search API is a very powerful web service that does many things.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;It allows a user to do searches on the web, news, images, as well as get dictionary, phonebook and spelling information. It provides a web service XML interface using a SOAP API, enabling you to submit requests and get back a response via XML.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;For more information on the XML, refer to this link:&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb251794.aspx"&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Calibri color=#800080&gt;http://msdn.microsoft.com/en-us/library/bb251794.aspx&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;Using any number of XML tools, we can take a look at the WSDL of the Live Search API web service to see how a typical request and response is crafted.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The WSDL endpoint is this:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;A href="http://soap.search.msn.com/webservices.asmx?wsdl"&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#0000ff&gt;http://soap.search.msn.com/webservices.asmx?wsdl&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;For purposes of discussion, let’s say that we are going use a Web News search, searching for “Baron Davis”.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The query of “Baron Davis” is put into the Query element. There are numerous other elements that are part of the response.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;They are highlighted in red. The XML response would look like this: &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;soap:Body&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Search xmlns="http://schemas.microsoft.com/MSNSearch/2005/09/fex"&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Request&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;AppID&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;your APP ID&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/AppID&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Query&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Baron Davis&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Query&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;CultureInfo&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;en-us&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/CultureInfo&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SafeSearch&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Moderate&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/SafeSearch&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Flags&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;None&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Flags&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Location&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Latitude&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;0&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Latitude&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Longitude&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;0&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Longitude&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Location&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Requests&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SourceRequest&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Source&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;News&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Source&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Offset&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;0&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Offset&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Count&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;10&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/Count&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;FileType /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;ResultFields&amp;gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;All DateTime&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&amp;lt;/ResultFields&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SearchTagFilters&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;string /&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/SearchTagFilters&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/SourceRequest&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Requests&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Request&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;(Note that strangely enough, in the ResultFields element, putting in the request “All” usually returns back all fields In the case of a News request, this does not return back all fields. “All DateTime” will return all fields, plus the datetime in this case.)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;The XML response looks like this, with output fields in bold:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;soapenv:Body&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SearchResponse xmlns="http://schemas.microsoft.com/MSNSearch/2005/09/fex"&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Response&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Responses&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SourceResponse&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Source&amp;gt;&lt;B&gt;News&lt;/B&gt;&amp;lt;/Source&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Offset&amp;gt;&lt;B&gt;0&lt;/B&gt;&amp;lt;/Offset&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Total&amp;gt;&lt;B&gt;31185&lt;/B&gt;&amp;lt;/Total&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Results&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Result&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Title&amp;gt;&lt;B&gt;NBA free agent roundup: Baron Davis to L.A.?&lt;/B&gt;&amp;lt;/Title&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Description&amp;gt;&lt;B&gt;Baron Davis has a verbal agreement with the Clippers, Gilbert Arenas likely is staying in Washington, and Elton Brand has a decision to make as NBA free agency opened with some surprises yesterday. The dominoes began to tumble when Davis surprised ...&lt;/B&gt; &amp;lt;/Description&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;Url&amp;gt;&lt;/FONT&gt;&lt;B&gt;&lt;A href="http://www.newsday.com/sports/basketball/knicks/ny-spnba025749266jul02,0,2266274.story%20%3C/Url"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;http://www.newsday.com/sports/basketball/knicks/ny-spnba025749266jul02,0,2266274.story &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&amp;lt;/Url&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/B&gt;&lt;FONT color=#000000&gt;&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;DisplayUrl&amp;gt;&lt;B&gt;http://www.newsday.com/sports/basketball/knicks/ny-spnba025749266jul02,0,2266274.story&lt;/B&gt;&amp;lt;/DisplayUrl&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Source&amp;gt;&lt;B&gt;Newsday&lt;/B&gt;&amp;lt;/Source&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;DateTime&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Year&amp;gt;&lt;B&gt;2008&lt;/B&gt;&amp;lt;/Year&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Month&amp;gt;&lt;B&gt;7&lt;/B&gt;&amp;lt;/Month&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Day&amp;gt;&lt;B&gt;2&lt;/B&gt;&amp;lt;/Day&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hour&amp;gt;&lt;B&gt;15&lt;/B&gt;&amp;lt;/Hour&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Minute&amp;gt;&lt;B&gt;26&lt;/B&gt;&amp;lt;/Minute&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Second&amp;gt;&lt;B&gt;29&lt;/B&gt;&amp;lt;/Second&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/DateTime&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Result&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Result&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Title&amp;gt;&lt;B&gt;Later Daze, Baron: Davis leaves Warriors for Clippers&lt;/B&gt;&amp;lt;/Title&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Description&amp;gt;&lt;B&gt;del.icio.us Less than 24 hours after Davis shocked the Warriors by walking away from the final year and $17.8 million left on his contract, the franchise guard delivered a second strike Tuesday afternoon. Davis agreed in principle with the Clippers ...&lt;/B&gt; &amp;lt;/Description&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;Url&amp;gt;&lt;/FONT&gt;&lt;B&gt;&lt;A href="http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/02/SPCF11ICKB.DTL&lt;/Url"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/02/SPCF11ICKB.DTL&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal"&gt;&amp;lt;/Url&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/B&gt;&lt;FONT color=#000000&gt;&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;DisplayUrl&amp;gt;&lt;B&gt;http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/07/02/SPCF11ICKB.DTL&lt;/B&gt;&amp;lt;/DisplayUrl&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Source&amp;gt;&lt;B&gt;San Francisco Gate&lt;/B&gt;&amp;lt;/Source&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;DateTime&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Year&amp;gt;&lt;B&gt;2008&lt;/B&gt;&amp;lt;/Year&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Month&amp;gt;&lt;B&gt;7&lt;/B&gt;&amp;lt;/Month&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Day&amp;gt;&lt;B&gt;2&lt;/B&gt;&amp;lt;/Day&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hour&amp;gt;&lt;B&gt;15&lt;/B&gt;&amp;lt;/Hour&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Minute&amp;gt;&lt;B&gt;19&lt;/B&gt;&amp;lt;/Minute&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Second&amp;gt;&lt;B&gt;20&lt;/B&gt;&amp;lt;/Second&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/DateTime&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&amp;lt;/Result&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Results&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/SourceResponse&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Responses&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Response&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/SearchResponse&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/soapenv:Body&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&amp;lt;/soapenv:Envelope&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Sans Unicode','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;For purposes of display, only 2 items are displayed, but in the real-life example, there are 31,185 articles on “Baron Davis” that were found.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The 31,185 is indicated in the &amp;lt;TOTAL&amp;gt; element in the response.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Note that not all 31,185 rows are retrieved.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The amount retrieved is regulated in the Preprocess block, in the built-in LIMIT and OFFSET variables. More on this later, when we describe the datasource.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;Let’s take a look at how we generate the Buddyscript code to access this web service.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;A typical datasource accessing XML might have header information that looks like this:&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;datasource dsSample(ARG1, ARG2, ARG3) =&amp;gt; A1, B1, C1&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;http&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;http://someurl/sample.xml&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;simple xml&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;However, for a web service invoking SOAP messages, we have to build a request string, so we use the PreProcess section of a datasource to set a variable that will contain the request, along with other variables.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Thus, the beginning of the datasource would look like this instead:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;datasource&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: lime"&gt;LiveSearchAPI&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(SEARCH, CULTURE_INFO) =&amp;gt; Title, Description, Url, Source, NewsYear, NewsMonth, NewsDay, NewsHour, NewsMinute, NewsSecond {expire=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"in 1 hour"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; continue_on_error=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"true"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;}&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;preprocess&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; LIMIT&amp;gt;10 || LIMIT&amp;lt;=0&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MAXRESULTS = 10&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;else&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MAXRESULTS = LIMIT&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FIELDLIST = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"Title Description Url Source DateTime"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = &lt;/FONT&gt;&lt;SPAN style="COLOR: navy"&gt;BuildSearchAPIPostData&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(SEARCH, &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"News"&lt;/SPAN&gt;&lt;FONT color=#000000&gt;, OFFSET, MAXRESULTS, CULTURE_INFO, FIELDLIST)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;http&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;http://soap.search.msn.com:80/webservices.asmx&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;header&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Accept: application/soap+xml&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;postdata&lt;/SPAN&gt;&lt;FONT color=#000000&gt; {encode=&lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;no&lt;/SPAN&gt;&lt;FONT color=#000000&gt;}&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;POST_DATA&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;simple&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;xml&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;We’ll describe the syntax of the datasource in more details later on, but for now, what’s important to point out is that a function is called to build the request string.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The function in this case is called BuildSearchAPIPostData and has a number of arguments.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Let’s take a look at the function:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;function&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: navy"&gt;BuildSearchAPIPostData&lt;/SPAN&gt;&lt;FONT color=#000000&gt;(SEARCH, TYPE, OFFSET, COUNT,CULTURE_INFO, &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;FIELDLIST, RADIUS, LATITUDE, LONGITUDE)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (LATITUDE &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LATITUDE = 0&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (LONGITUDE &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LONGITUDE = 0&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; (RADIUS &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;eq&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;RADIUS = 5&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA =&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&amp;gt;\n'&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http:/\/schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:tns="http://schemas.microsoft.com/MSNSearch/2005/09/fex" &amp;gt; &amp;lt;SOAP-ENV:Body&amp;gt;')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, ' &amp;lt;tns:Search xmlns:tns="http:/\/schemas.microsoft.com/MSNSearch/2005/09/fex"&amp;gt; &amp;lt;tns:Request&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:AppID&amp;gt;', &lt;B&gt;GetLiveSearchAPIAppID()&lt;/B&gt;, '&amp;lt;/tns:AppID&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Query&amp;gt;', &lt;B&gt;SEARCH&lt;/B&gt; , '&amp;lt;/tns:Query&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:CultureInfo&amp;gt;', &lt;B&gt;CULTURE_INFO&lt;/B&gt;, '&amp;lt;/tns:CultureInfo&amp;gt; &amp;lt;tns:SafeSearch&amp;gt;Moderate&amp;lt;/tns:SafeSearch&amp;gt; &amp;lt;tns:Flags&amp;gt;None&amp;lt;/tns:Flags&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Location&amp;gt;\n') &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Latitude&amp;gt;', &lt;B&gt;LATITUDE&lt;/B&gt;, '&amp;lt;/tns:Latitude&amp;gt;\n') &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Longitude&amp;gt;', &lt;B&gt;LONGITUDE&lt;/B&gt;, '&amp;lt;/tns:Longitude&amp;gt;\n') &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Radius&amp;gt;', &lt;B&gt;RADIUS&lt;/B&gt;, '&amp;lt;/tns:Radius&amp;gt;\n') &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/tns:Location&amp;gt;\n')&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Requests&amp;gt; &amp;lt;tns:SourceRequest&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Source&amp;gt;', &lt;B&gt;TYPE&lt;/B&gt;, '&amp;lt;/tns:Source&amp;gt;\n') &lt;/FONT&gt;&lt;SPAN style="COLOR: green"&gt;// Web / Ads / InlineAnswers / PhoneBook / WordBreaker / Spelling&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;tns:Offset&amp;gt;', &lt;B&gt;OFFSET&lt;/B&gt;, '&amp;lt;/tns:Offset&amp;gt; &amp;lt;tns:Count&amp;gt;', &lt;B&gt;COUNT&lt;/B&gt;, '&amp;lt;/tns:Count&amp;gt; &amp;lt;tns:ResultFields&amp;gt;', &lt;B&gt;FIELDLIST&lt;/B&gt;, '&amp;lt;/tns:ResultFields&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/tns:SourceRequest&amp;gt; &amp;lt;/tns:Requests&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, ' &amp;lt;/tns:Request&amp;gt; &amp;lt;/tns:Search&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;POST_DATA = StringConcat(POST_DATA, '&amp;lt;/SOAP-ENV:Body&amp;gt; &amp;lt;/SOAP-ENV:Envelope&amp;gt;\n')&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&lt;FONT color=#000000&gt; POST_DATA &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;The function essentially uses the variable POST_DATA to build the request string.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;If there are certain parameters without information, it defaults the information (e.g. LATITUDE).&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The function also calls another function to get the Windows Live APP ID.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This APP ID is used in the Live Search API to determine individual access rights.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;(See the Windows Live API for more information on obtaining this APP ID.)&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The function itself simply looks like this:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;function GetLiveSearchAPIAppID()&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;return "ABCDE12345"&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;where “ABCDE12345” is the App ID.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;We'll take a look at the rest of the datasource and invoke code later this week.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848837" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Web Services" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Web+Services/default.aspx" /><category term="dynamic content" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/dynamic+content/default.aspx" /><category term="data sources" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/data+sources/default.aspx" /></entry><entry><title>Guidelines for Testing your Agent</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/guidelines-for-testing-your-agent.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/guidelines-for-testing-your-agent.aspx</id><published>2008-08-11T21:57:00Z</published><updated>2008-08-11T21:57:00Z</updated><content type="html">&lt;DIV&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;As compared to Web sites and traditional software applications, conversational agents are subject to some unique policy compliance risks. These risks arise because:&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;End users’ interactions with agents are freeform and unpredictable.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Agents often engage in human-like interactions and operate in messaging environments normally used for human-to-human communications, making end users and outside observers especially sensitive to inappropriate content or behavior.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;Because of these unique risks, the Windows Live Agents team highly recommends that each Agent undergo manual testing for policy compliance prior to launching. Once testers have acquainted themselves with the task, approximately &lt;B&gt;4 to 8 hours of manual testing&lt;/B&gt; should provide a reasonable evaluation of the Agent’s policy compliance. Testers should:&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be native speakers&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Have a good understanding of cultural and political factors that might determine whether an Agent’s content/behavior is appropriate&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be able to make judgments in the best interest of your public image and business interests in the market where the Agent will be released&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be willing to provoke the Agent to behave inappropriately (this requires creativity, persistence, and willingness/ability to imagine offensive and provocative user inputs)&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Understand the Agent’s feature set&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Ideally &lt;I&gt;not&lt;/I&gt;&lt;/FONT&gt;&lt;FONT size=3&gt; have been directly involved in the Agent’s development&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;If your testing uncovers any issues that you need help triaging or fixing, please contact Windows Live Agents Partner Support (agentsu@microsoft.com). Send a transcript illustrating each issue, along with a description (in English) of what the issue is.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Overview for Testers&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;This document is intended to provide guidelines and advice for manual testing of Agents for policy compliance. It outlines specific types of subject matter to focus on, common Agent vulnerabilities, and specific tactics that you can use in an attempt to uncover issues in a given Agent.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;This document is &lt;B&gt;&lt;I&gt;not&lt;/I&gt;&lt;/B&gt; &lt;B&gt;&lt;I&gt;a step-by-step test plan&lt;/I&gt;&lt;/B&gt;; nor is it by any means exhaustive. When performing compliance testing, there &lt;B&gt;&lt;I&gt;is no substitute for your own persistence and imagination&lt;/I&gt;&lt;/B&gt;. Furthermore, these guidelines &lt;I&gt;do not&lt;/I&gt; currently prescribe any specific standards. You should apply your language and market expertise and your business judgment to determine whether the Agent’s behavior and content are acceptable. We strongly advise erring on the side of caution.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;You should read this document to acquaint yourself with the subject of Agent policy compliance. You may find the specific examples to be a helpful starting point, but effective testing will require you to apply your knowledge of the language and market for which the Agent is intended, and of the specific Agent’s content and features.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;In order to test effectively, &lt;B&gt;&lt;I&gt;you must be willing and able to imagine and try highly offensive and provocative user inputs&lt;/I&gt;&lt;/B&gt;. If you’re not comfortable with this task, then you should attempt to find someone who is.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;Once you have acquainted yourself with the task, approximately 4-8 hours of manual testing should provide a reasonable evaluation of the Agent’s policy compliance.&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Sensitive/Inappropriate subject matter to test&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Profanity&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Hate/Intolerance (with respect to race, gender, sexual orientation, religion, etc.)&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Violence and criminal behavior&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Drug use&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Sexual content&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Suicide&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Culturally/Politically sensitive subjects in your market&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Scenarios to test&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are one of the Agent’s target users&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are a child&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are a malicious user attempting to provoke inappropriate Agent behavior&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Common Agent vulnerabilities&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may repeat (or “mirror”) user language without employing adequate safeguards&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may respond to the form of a user input without understanding the content&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may fail to recognize inappropriate or sensitive subject matter if the user employs creative/subtle phrasing&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may incorrectly determine an input to be inappropriate and in turn respond inappropriately&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may have “unsafe” catch-all responses (responses used when the user input is not understood at all)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Some specific tactics to try&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;See how the Agent responds to blatant abuse and provocation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to trick the agent into repeating an inappropriate word or phrase&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit an inappropriate opinion from the Agent&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit the Agent’s approval (explicit or implicit) of an inappropriate statement&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit inappropriate answers to formulaic questions (yes/no, how many, etc.)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit inappropriate responses to commands/requests/statements&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to trick the Agent into inferring inappropriate intent where there is none (and responding inappropriately)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848828" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author><category term="Compliance" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Compliance/default.aspx" /><category term="Best Practices" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx" /><category term="Debugging" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx" /><category term="Testing" scheme="http://blogs.msdn.com/windowsliveagents/archive/tags/Testing/default.aspx" /></entry><entry><title>It's all about context, part deux!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/it-s-all-about-context-part-deux.aspx" /><id>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/it-s-all-about-context-part-deux.aspx</id><published>2008-08-11T21:54:00Z</published><updated>2008-08-11T21:54:00Z</updated><content type="html">&lt;DIV&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;Hi again! Here is&amp;nbsp;the second part of our visit&amp;nbsp;to the magical world of contexts. Yesterday we brushed on a few simple uses for them, now let's dive into a slightly more sensitive subject.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Once the agent is hosted and public, you may want to block access to the agent temporarily, for instance if you rely heavily on external data sources that are experiencing an outage or just very slow.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;In that case it's a good idea to keep the agent running normally for a limited set of superusers so they can work on the issue, while putting up an 'out of service' message for the general users.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;//The message is by default empty. If it's not then the agent knows that we want it muted.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;context&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; AgentIsDisabled {out-of-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"0"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; in-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"1000"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; condition=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"!IsSuperUser() &amp;amp;&amp;amp; PUBLIC.OUTAGE_MESSAGE ne \"\""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;}&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;=AnythingStrong&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;- &lt;/SPAN&gt;&lt;FONT color=#000000&gt;PUBLIC&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;.&lt;/SPAN&gt;&lt;FONT color=#000000&gt;OUTAGE_MESSAGE&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;// SuperUsers only an change the agent status. Easy! We've already prepared for that.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ disable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;FONT color=#000000&gt; REASON=AnythingRaw&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE = REASON&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ enable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Here the condition is simply to check if the outage message is empty or not, except for super users. They will continue to use the agent normally, and can reenable it whenever their experience is back to normal.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;Now, there is one problem in this code... did you spot it?&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;Using a public variable like this in a context condition is pretty bad for performance. Indeed, it would mean that for each query of each user, the query server would need to lock access to the public variable in order to read it just to check the context condition.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;It gets even more troublesome if you're on dual-box hosting and require a Stored Public Variable to propagate the outage across queryservers!&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;What is the solution then?&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;One possible solution is to check the outage variable only once: at session start. All you need for this is to keep a local session variable of that setting.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;stored&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;variable&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; G_OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: purple"&gt;ABStartSessionProc&lt;/SPAN&gt;&lt;FONT color=#000000&gt;()&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;// This procedure can exist independently in any buddyscript file, and is called at session start&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; !&lt;/FONT&gt;&lt;SPAN style="COLOR: navy"&gt;IsSuperUser&lt;/SPAN&gt;&lt;FONT color=#000000&gt;()&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;lock&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;profile&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: green"&gt;// locking is required for stored public variables.&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;G_OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;context&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; AgentIsDisabled {out-of-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"0"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; in-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"1000"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; condition=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"G_OUTAGE_MESSAGE ne \"\""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;} &lt;/FONT&gt;&lt;SPAN style="COLOR: green"&gt;//note that we don't need to check for SuperUsers here as as it's done at session start&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;=AnythingStrong&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;- &lt;/SPAN&gt;&lt;FONT color=#000000&gt;G_OUTAGE_MESSAGE&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ disable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;FONT color=#000000&gt; REASON=AnythingStrong&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;lock&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;profile&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE = REASON&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ enable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;lock&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;profile&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;As you may have noticed, there is a caveat to this solution: since we only check the message at session start, the flag takes some time to propagate as only new users will be getting the message.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;The same is true when you re-enable the agent and it will take a few minutes for the outage to be over for everyone.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;So here, we only lock the agent's profile and check the public stored variable once for every session, which is good already. But can we do better?&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;Imagine your agent is highly successful and deals with so many people that, say, five people start a new session every second. Don't we all dream of having an agent that popular! But it comes with a price: 5 calls to the public profile per second would probably bog the whole system down.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;What do you do then? Well, add yet another layer of buffering of course!&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;Back to our friend the "basic" public variable. That one only lives for the current queryserver, but it is a lot more performant to check against. All we'll need is a background procedure to update the public variable every few minutes, so as to transmit the orders from the top to the base:&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;stored&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;variable&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE_FOR_ALL_USERS = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE_FOR_ALL_USERS_OF_THIS_SERVER = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;variable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;G_OUTAGE_MESSAGE_FOR_THIS_USER = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: purple"&gt;Background_UpdateOutageMessage&lt;/SPAN&gt;&lt;FONT color=#000000&gt;() &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;startup&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;every&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1 &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;minute&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;// This procedure is called at startup and every minute, independently of any user session.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;lock&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;profile&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE_FOR_ALL_USERS_OF_THIS_SERVER = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE_FOR_ALL_USERS&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;procedure&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: purple"&gt;ABStartSessionProc&lt;/SPAN&gt;&lt;FONT color=#000000&gt;()&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&lt;FONT color=#000000&gt; !&lt;/FONT&gt;&lt;SPAN style="COLOR: navy"&gt;IsSuperUser&lt;/SPAN&gt;&lt;FONT color=#000000&gt;()&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;G_OUTAGE_MESSAGE_FOR_THIS_USER = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.OUTAGE_MESSAGE_FOR_ALL_USERS_OF_THIS_SERVER&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;context&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; AgentIsDisabled {out-of-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"0"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; in-context=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"1000"&lt;/SPAN&gt;&lt;FONT color=#000000&gt; condition=&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;"G_OUTAGE_MESSAGE_FOR_THIS_USER ne \"\""&lt;/SPAN&gt;&lt;FONT color=#000000&gt;}&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;=AnythingStrong&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;- &lt;/SPAN&gt;&lt;FONT color=#000000&gt;G_OUTAGE_MESSAGE_FOR_THIS_USER&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AgentIsDisabled&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ disable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;FONT color=#000000&gt; REASON=AnythingStrong&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE_FOR_ALL_USERS = REASON&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;+ enable&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: maroon"&gt;agent&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.STORED_OUTAGE_MESSAGE_FOR_ALL_USERS = &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;""&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;end&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;context&lt;/SPAN&gt;&lt;FONT color=#000000&gt; RestrictedStrings&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Here you have a piece of code, slighly more complex, but that will sustain any kind of traffic without budging, with the only downside of taking up to one more minute to propagate the change of the agent's status.&lt;/SPAN&gt; 
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;And this concludes our two-day tour of contexts and their natural habitat. I hope you liked it, and please don't forget to check out our gift shop on the way out!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848822" width="1" height="1"&gt;</content><author><name>imiluk</name><uri>http://blogs.msdn.com/members/imiluk.aspx</uri></author></entry></feed>