<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://k2underground.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>BLACKTOP:  Writings From the Road</title><link>http://k2underground.com/blogs/blacktop/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>The Trouble with And</title><link>http://k2underground.com/blogs/blacktop/archive/2008/08/10/the-trouble-with-and.aspx</link><pubDate>Sun, 10 Aug 2008 21:32:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:25443</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/25443.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=25443</wfw:commentRss><description>&lt;P&gt;Here's something I've seen several times that can lead to bugs.&amp;nbsp; C# has two logical-and operators: &amp;amp; and &amp;amp;&amp;amp;.&amp;nbsp; If you come from a C++ background, it's entirely natural to use the &amp;amp;&amp;amp; operator.&amp;nbsp; But there is a difference between the two operators: the &amp;amp;&amp;amp; operator is a short-circuit operator.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The &amp;amp; operator always evaluates both the left and right side expressions&lt;/LI&gt;
&lt;LI&gt;The &amp;amp;&amp;amp; operator always evaluates the left side expression, but only evaluates the right side if the left side was true&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This means with the &amp;amp;&amp;amp; operator, both expressions might not be evaluated.&amp;nbsp; To get the most efficient use of the &amp;amp;&amp;amp; operator, you should put the key expression that is most likely to be false on the left hand side.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=25443" width="1" height="1"&gt;</description><category domain="http://k2underground.com/blogs/blacktop/archive/tags/c_2300_/default.aspx">c#</category></item><item><title>Default Outcomes in Escalations</title><link>http://k2underground.com/blogs/blacktop/archive/2008/07/09/default-outcomes-in-escalations.aspx</link><pubDate>Thu, 10 Jul 2008 00:20:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:24771</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/24771.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=24771</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Here’s a simple way to set a default outcome for an escalation so the workflow will take to your chosen activity when the escalation fires.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I’ve seen many approaches to accomplish this, but I think this one is the easiest.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Let’s say you have a client event (this technique can work with a server or IPC event with some adjustment) where the user has two choices:&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Approve or Reject.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;If the user takes no action after a certain amount of time, you want to automatically take the reject choice.&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;Steps:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst 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;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;Open the K2 Object Browser and go to the “Process/Activity” tab&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle 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;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;Expand Data Fields | Activities | then expand the activity that contains your client event&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle 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;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;Right click and edit the “Outcome” field&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 10pt 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;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;In the Initial Value field, put the outcome you want to use when the activity expires (“Reject” in this example)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 10pt 0.5in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo1;"&gt;&lt;IMG title="Default Outcome" style="WIDTH:395px;HEIGHT:388px;" height=388 alt="Default Outcome" src="http://www.k2underground.com/files/folders/24769/download.aspx" width=395 align=middle border=1&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 10pt 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;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;Set the activity escalation for the appropriate time, then on the “Action Template” screen, choose “Expire Activity”&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN:0in 0in 10pt 0.5in;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;IMG style="WIDTH:476px;HEIGHT:388px;" height=388 src="http://www.k2underground.com/files/folders/24770/download.aspx" width=476 align=middle border=1&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="mso-no-proof:yes;"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;That’s it.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;When the activity expires, it will take the outcome specified in the initial value.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Using this technique, you could also take a path that is not one of the choices given to the user.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, you could set the initial value of the outcome to “Expire” and then set up a line rule that will branch to activities you want to perform when the user took no action.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=24771" width="1" height="1"&gt;</description><category domain="http://k2underground.com/blogs/blacktop/archive/tags/blackpearl/default.aspx">blackpearl</category><category domain="http://k2underground.com/blogs/blacktop/archive/tags/escalations/default.aspx">escalations</category></item><item><title>Testing Your Process</title><link>http://k2underground.com/blogs/blacktop/archive/2008/05/09/testing-your-process.aspx</link><pubDate>Sat, 10 May 2008 02:44:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23757</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/23757.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=23757</wfw:commentRss><description>One thing you'll hear me repeat many times when I'm working with a new customer is about testing your process.&amp;nbsp; When testing your process, you must test every possible path through the workflow.&amp;nbsp; Testing just the most likely path isn't good enough.&amp;nbsp; Exercise every rule, every event, and every possible outcome.&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23757" width="1" height="1"&gt;</description></item><item><title>TIP:  Clear Browser Cache After [blackpearl] Upgrade</title><link>http://k2underground.com/blogs/blacktop/archive/2008/05/08/tip-clear-browser-cache-after-blackpearl-upgrade.aspx</link><pubDate>Thu, 08 May 2008 05:13:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23702</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/23702.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=23702</wfw:commentRss><description>&lt;P&gt;When upgrading to a new release of [blackpearl], like 0803, make sure you have&amp;nbsp;your users clear their browser cache.&amp;nbsp; This will insure any cached client-side java scripts are pulled fresh&amp;nbsp;from the web server.&amp;nbsp; If you don't do this, you might get the endlessly spinning wheel in Workspace.&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23702" width="1" height="1"&gt;</description></item><item><title>TIP:  Reducing SQL Server 2005 Memory Usage</title><link>http://k2underground.com/blogs/blacktop/archive/2008/04/25/tip-reducing-sql-server-2005-memory-usage.aspx</link><pubDate>Fri, 25 Apr 2008 05:23:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23386</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/23386.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=23386</wfw:commentRss><description>&lt;P&gt;Ever notice after a hard day working away at the old data mine in a Virtual PC that SQL Server takes up a pretty good chunk of your available memory?&amp;nbsp; If you're like me, you could use this memory for something else.&amp;nbsp; Here's how you can limit how much memory SQL Server users:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open SQL Server Management Studio&lt;/LI&gt;
&lt;LI&gt;Connect to your server&lt;/LI&gt;
&lt;LI&gt;Right-click on your database server name and choose Properties&lt;/LI&gt;
&lt;LI&gt;Click Memory, set the maximum amount of memory, then click OK&lt;/LI&gt;
&lt;LI&gt;Restart your SQL Server service&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you watch SQL Server in task manager, you'll find that it sometimes exceeds your maximum limit, but during idle times it will drop back down.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://k2underground.com/photos/articles/images/23385/original.aspx"&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23386" width="1" height="1"&gt;</description></item><item><title>Introduction</title><link>http://k2underground.com/blogs/blacktop/archive/2008/04/23/introduction.aspx</link><pubDate>Thu, 24 Apr 2008 04:10:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23370</guid><dc:creator>DavidL</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/blacktop/comments/23370.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/blacktop/commentrss.aspx?PostID=23370</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Greetings to everyone out there in K2 land.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;My name is David Loomis and I am a consultant/architect for K2.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I travel North America helping our customers design &amp;amp; implement projects with [blackpearl]. &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;I spend a lot of time on the road, thus the title “blacktop”.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Actually, I spend a more time on the airport tarmac than on the road, but that just doesn’t work with our “black” theme.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;For a long time I didn’t want to write a blog because I was afraid I wouldn’t have anything interesting to say.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;However, after searching the web and reading several blogs, I can safely conclude that having something interesting to say is not necessarily a prerequisite.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Also, my boss pretty much made it a requirement to write one.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;So here’s my plan.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;As I go from customer to customer, I see some common questions people have when first starting out with [blackpearl].&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;We’ll cover those.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I also run into some typical business process requirements that others might also want to see how to implement.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Along the way I run across other interesting tips and observations I’ll share with you.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;If you have something that interests you, please send me a note through this site.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I’m going to evaluate requests based on whether they are applicable to a large audience.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;Don’t be offended if I don’t publish your question as not everyone may have an interest in automating the breeding selection for Tasmanian Yaks.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;In short, it’s my blog, and I’ll end up writing about whatever I feel like.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;I don’t have every answer, and you won’t always agree with the ones I do have.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;There are many different ways to accomplish tasks in [blackpearl], and that’s one of the things I love about it.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;And make no mistake, I &lt;EM&gt;love&lt;/EM&gt; working with [blackpearl].&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23370" width="1" height="1"&gt;</description></item></channel></rss>