<?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>Pitchblack</title><link>http://k2underground.com/blogs/pitchblack/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>Keeping your Service GUIDs in sync</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/07/16/keeping-your-service-guids-in-sync.aspx</link><pubDate>Wed, 16 Jul 2008 11:58:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:24895</guid><dc:creator>ashley@k2workflow.com</dc:creator><slash:comments>1</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/24895.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=24895</wfw:commentRss><description>&lt;p&gt;As some of you may know, when moving SmartObjects that are based on custom Services Instances between environments, you will hit an issue where the SmartObject won't deploy due to the Service Instance GUID on the environment you're deploying to matching the Service Instance GUID that your SmartObject definition is looking for.&lt;/p&gt;&lt;p&gt;&amp;nbsp;There are a few ways to overcome this problem.&lt;/p&gt;&lt;p&gt;1.Use the Blackmarket tool to update your SmartObject definitions.&amp;nbsp; This method works well but you will have to repeat the update each time you want to deploy to a different environment.&lt;/p&gt;&lt;p&gt;2.&amp;nbsp; Update the Service Instance GUIDs to match across all environments. This can be done in one of two ways.&amp;nbsp; The latter option being the preferred method.&lt;/p&gt;&lt;p&gt;&amp;nbsp;a. Update the database directly.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;b.&amp;nbsp; Use the Broker management tool to update the GUIDs&lt;/p&gt;&lt;p&gt;My preferred option is to use the Broker management tool when the Service Instances are first regisitered in each environment to ensure they are registered with a GUID that matches the other environments.&amp;nbsp; If this is the first environment then make a note of the GUID for later use.&lt;/p&gt;&lt;p&gt;&amp;nbsp;The Broker managment tool can be found in the default path of: C:\Program Files\K2 blackpearl\ServiceBroker\BrokerManagement.exe&lt;/p&gt;&lt;p&gt;After registering a new Service Type, right-click the type and select&amp;nbsp; Register New Service Instance.&amp;nbsp; The second screen of this wizard allows you to chose the GUID for the instance.&amp;nbsp; It's this GUID that you need to keep sync'd between environments.&amp;nbsp; The GUID of the Service Type does not matter.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=24895" width="1" height="1"&gt;</description><category domain="http://k2underground.com/blogs/pitchblack/archive/tags/GUID+Service+Instance/default.aspx">GUID Service Instance</category></item><item><title>Hacking the Work Folder (or, an alternative method of error repairing)</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/07/10/hacking-the-work-folder.aspx</link><pubDate>Thu, 10 Jul 2008 14:31:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:24798</guid><dc:creator>Murray.Foxcroft</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/24798.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=24798</wfw:commentRss><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Sometimes, you can manually hack the Work folder for running process instances to, for example, replace a broken version of a referenced assembly with a fixed version. To begin, review Bob’s posting on the work folder and versioned assemblies:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;a href="http://www.k2underground.com/blogs/bobblog/archive/2008/01/14/custom-assembly-versioning-within-a-k2-process.aspx"&gt;&lt;font color="#0000ff" size="3" face="Calibri"&gt;http://www.k2underground.com/blogs/bobblog/archive/2008/01/14/custom-assembly-versioning-within-a-k2-process.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;During process execution, K2 server creates a folder inside Host Server\Bin\Work for each version of the process definition. Any referenced assemblies are also copied to this folder. This is important – even if the assembly is in die server’s bin folder, it will still be copied to the work folder – the only difference is that instead of the version of the assembly in the DB, the version from Host Server\Bin will be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Now, suppose you have a process in error state, and the error occurs because of a mistake in the version of the external assembly that the process definition uses. You want to update the assembly, but just copying the new version of the .dll to the Host Server\Bin folder does not do the trick, and you cannot export a new version of the process since the assembly version would then be bound to the process version. Aha - the key is that you need to copy the fixed .dll to the Host Server\Bin directory, and delete the Work folder for the specific version of the process definition. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;So, &amp;nbsp;firstly you need to map the process in error state to the version of the process definition. If you open the K2Server.dbo._ErrorLog table, look for the process in question, and make a note of the ‘ProcID’ value. This is the process definition ID.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Now, head over to your K2 server, and locate the ProcNN folder in the Host Server\Bin\Work folder, where NN is the ProcID you just got from the DB. You can try to manually copy the assembly from Host Server\Bin to this folder, but chances are it will fail since the assembly is in use by Host Server. Fear not, just stop the Host server and delete the work folder. The next time you try to repair the error, K2 Server will realize that there is no Work folder for this specific process definition, and recreate the ProcNN folder, &lt;i&gt;using the version of the assembly that lies in the Host Server\Bin directory&lt;/i&gt;. Hey presto!&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;Update: We have also proven another point - you can also directly fix errors in cs- and winwf- code behind in a workflow, by replacing the Context-xxxxxxx.dll and CSWinWF-xxxxxxxx.dll in the work folder or in the host server bin folder, and repairing the error. This is a slightly more complex process, and you really need to keep your wits about you, but it's a lifesaver if you cannot use studio to repair error on the server for whatever reason.&lt;br&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Neil 'H@xx0r' and Conrad&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=24798" width="1" height="1"&gt;</description></item><item><title>Connecting InfoPath 2007 to WCF services</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/05/19/connecting-infopath-2007-to-wcf-services.aspx</link><pubDate>Mon, 19 May 2008 13:33:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23873</guid><dc:creator>Mike_H</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23873.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23873</wfw:commentRss><description>&lt;p class="MsoNormal"&gt;WCF Security and InfoPath 2007 have pretty poor integration,
which means that it basically doesn’t work and some hacks have been necessary
to get the forms to talk to the services. Below is a list of the required steps
to ensure future services can be consumed by InfoPath forms. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;WCF endpoints must implement the following in order to be
consumed from within an InfoPath form:&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;Binding&lt;/b&gt; &lt;/p&gt;





&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;text-indent:36pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&amp;nbsp;&amp;lt;service
name="CustomerResponse.IssueService"
behaviorConfiguration="CustomerResponse.IssueServiceBehavior"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endpoint address=""
binding="&lt;b&gt;basicHttpBinding&lt;/b&gt;"
bindingConfiguration="Binding1"
contract="CustomerResponse.IIssueService" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/service&amp;gt;&lt;/span&gt;&lt;span style="font-size:10pt;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-bottom:0.0001pt;text-indent:36pt;line-height:normal;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;Security&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;text-indent:36pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&amp;lt;security
mode="TransportCredentialOnly"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin:0cm 0cm 0.0001pt 36pt;text-indent:36pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&amp;lt;transport clientCredentialType="&lt;b&gt;Windows&lt;/b&gt;" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;text-indent:36pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&amp;lt;/security&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;If the clientCredentialType is set to NTLM then forms
services will work fine, but in InfoPath 2007 client you will be prompted
continually to enter credentials. This is especially annoying when testing the
form before publishing.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Within the InfoPath form, in order to consume this service,
a Data Connection must be made to the service, and then converted to a .udcx
file; storing the file in a Data Connection Library in the target SharePoint
site. Once the udcx file has been created, the following security credentials
must be inserted, otherwise the service will not authenticate and an error will
occur.&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;text-indent:36pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&amp;lt;udc:Authentication&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&lt;span&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;udc:UseExplicit
CredentialType="NTLM"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;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;&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;udc:UserId&amp;gt;&lt;b&gt;a valid user&lt;/b&gt;&amp;lt;/udc:UserId&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;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;&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;udc:Password&amp;gt;&lt;b&gt;password&lt;/b&gt;&amp;lt;/udc:Password&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&lt;span&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/udc:UseExplicit&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/udc:Authentication&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;h3&gt;Idiosyncrasies of WCF/Entity Framework&lt;/h3&gt;

&lt;span style="font-size:11pt;line-height:115%;font-family:'Calibri','sans-serif';"&gt;Connecting to Services exposing message entities
generated by entity framework (EF) has also involved some strange behaviour.
Due to the nature of the messages created by EF, I have not been able to find a
way to call a create method from an InfoPath form – without inserting any code.
To get round this, the solution was to insert a stub record into the database
prior to opening the form; negating the need for an insert.&lt;/span&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23873" width="1" height="1"&gt;</description></item><item><title>Extending a K2 Report in Visual Studio</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/05/15/extending-a-k2-report-in-visual-studio.aspx</link><pubDate>Thu, 15 May 2008 21:38:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23833</guid><dc:creator>ashley@k2workflow.com</dc:creator><slash:comments>2</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23833.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23833</wfw:commentRss><description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;UPDATE:&amp;nbsp;&amp;nbsp;A similar&amp;nbsp;K2 Knowledge Base article on how to add a Chart to you reports also exists here -&amp;nbsp;&lt;A class=moz-txt-link-freetext href="http://kb.k2workflow.com/articles/kb000189.aspx"&gt;http://kb.k2workflow.com/articles/kb000189.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Scenario: We have built a travel request process that stores the details of each travel request in SmartObjects.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Our business requests that they want reports to have column displaying the total duration of each travel request.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Of course the Workspace report designer makes it very easy for us to create the main report but doesn’t provide facility to do calculations.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;As you may know, K2 reporting leverages SQL Server Reporting Services (SSRS).&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This makes it easier than ever to produce exactly the right report for the job.&lt;/P&gt;
&lt;P class=MsoNormal&gt;For this post I’ll assume that you have already created a basic report on the Travel Request Details SmartObject that can use as a base.&lt;/P&gt;
&lt;P class=MsoNormal&gt;First a task overview:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Create initial report&lt;/LI&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Download report definition from SSRS &lt;/LI&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Add report to Visual Studio Report Server project&lt;/LI&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Modify report&lt;/LI&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Redeploy to SSRS&lt;/LI&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:Symbol;"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Use report&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:'Courier New';"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Either import to the Workspace,&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:'Courier New';"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Reference on ASP.net pages with the Report Viewer control&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;!--[if !supportLists]--&amp;gt;&lt;SPAN style="FONT-FAMILY:'Courier New';"&gt;&lt;SPAN&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';font-size-adjust:none;font-stretch:normal;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;lt;!--[endif]--&amp;gt;Or add to SharePoint pages with the Report Viewer webpart&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;As said above I’ve assumed that you have already created the initial report.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;So, let’s jump straight to the second step and download our report definition (RDL file) from SSRS.&lt;/P&gt;
&lt;P class=MsoNormal&gt;Downloading the report is easy, just choose the Edit option from the properties of your report on the SSRS web-site.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;K2 reports are deployed to a folder called “Reporting” by default.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Our SSRS URL will be (&lt;A href="http://blackpearl/reports"&gt;http://blackpearl/reports&lt;/A&gt;).&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Save the file in a convenient location:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost1.jpg"&gt;&lt;/o:p&gt; &lt;/P&gt;
&lt;P class=MsoNormal&gt;Next Open a new Visual Studio Report Server project from the Business Intelligence section,and then add the downloaded report file to the project.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost2.jpg"&gt;&lt;BR&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/3.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;BR&gt;Next modify the report by adding a new “Duration” column to the table.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Do this by selecting the end column then right-clicking the grey block at the top of the table. &lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost4.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Next right-click the new cell and select “Expression” then build an expression of:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE:8pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=Fields!TravelRequestDetails_EndDate.Value-Fields!TravelRequestDetails_StartDate.Value&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;This assumes that your SmartObject is called TravelRequestDetails.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;You can select your SmartObject fields from the Fields section of this dialog.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost5.jpg"&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;Finally, OK this expression.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Then add a header such as Duration in the table cell just above the new expression. &lt;/P&gt;
&lt;P class=MsoNormal&gt;You can now preview the report by selecting preview in Visual Studio&lt;/P&gt;
&lt;P class=MsoNormal&gt;Note our new Duration column.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost6.jpg"&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;You can now redeploy the report to SSRS by modifying the Project properties and adding the Report Server web-service URL (http://blackpearl/ReportServer).&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Then just right-click the project and Deploy.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost7.jpg"&gt;&lt;BR&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost8.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;After deployment you can import to the K2 Workspace using the Reports section of the Workspace and the Import from Reporting Services feature, or use the report in another manner. &lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SSRSPost9.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;The report will be deployed to a folder on the Reports Server website named the same as your Report Server project.&lt;/P&gt;
&lt;P class=MsoNormal&gt;Of course SSRS provide many more advanced features but this should serve as a base to get you started.&lt;/P&gt;
&lt;P class=MsoNormal&gt;Good luck!&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;Ashley&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23833" width="1" height="1"&gt;</description><category domain="http://k2underground.com/blogs/pitchblack/archive/tags/SSRS+reporting+extending+reports/default.aspx">SSRS reporting extending reports</category></item><item><title>Reporting Services Woes </title><link>http://k2underground.com/blogs/pitchblack/archive/2008/05/08/reporting-services-woes.aspx</link><pubDate>Thu, 08 May 2008 17:48:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23710</guid><dc:creator>Mark_SCUK</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23710.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23710</wfw:commentRss><description>&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;SQL Server Reporting Services 2005 can at times be a nightmare to get working, so here are some tips to get your Reporting Services running using host headers and a couple of little things to watch out for.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Host Headers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;If you are using a host header for your reporting services web site but each time you browse to the report manager you get presented with an error, then follow these steps.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Run through the “Reporting Services Configuration” tool as per Microsoft’s instructions &lt;/FONT&gt;&lt;A href="http://technet.microsoft.com/en-gb/library/ms159868.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;http://technet.microsoft.com/en-gb/library/ms159868.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;After running successfully through the Reporting Services configuration we now need to edit the 2 following configuration files;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;“&lt;B style="mso-bidi-font-weight:normal;"&gt;RSWebApplication.config&lt;/B&gt;” located in the ReportManager directory, for example;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;“ &lt;I style="mso-bidi-font-style:normal;"&gt;C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting &lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;Services\ReportManager\RSWebApplication.config&lt;/I&gt;”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;“&lt;B style="mso-bidi-font-weight:normal;"&gt;Reportserver.config&lt;/B&gt;” located in the ReportServer directory, for example;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;“&lt;I style="mso-bidi-font-style:normal;"&gt;C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\Reportserver.config&lt;/I&gt;”&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;In “&lt;B style="mso-bidi-font-weight:normal;"&gt;RSWebApplication.config&lt;/B&gt;” locate the 2 lines;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;ReportServerUrl&amp;gt; &amp;lt;/ReportServerUrl&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT face=Calibri size=3&gt;&amp;lt;ReportServerVirtualDirectory&amp;gt;ReportServer&amp;lt;/ReportServerVirtualDirectory&amp;gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Comment out the “&lt;B style="mso-bidi-font-weight:normal;"&gt;&amp;lt;ReportServerVirtualDirectory&amp;gt;” &lt;/B&gt;node and place your host header value with the virtual directory for your report server web service path in the “&lt;B style="mso-bidi-font-weight:normal;"&gt;&amp;lt;ReportServerUrl&amp;gt;&lt;/B&gt;”, for example;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;ReportServerUrl&amp;gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;SPAN style="BACKGROUND:yellow;mso-highlight:yellow;"&gt;http://MySSRS.k2.com/ReportServer&lt;/SPAN&gt;&lt;/B&gt;&amp;lt;/ReportServerUrl&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;SPAN style="BACKGROUND:yellow;mso-highlight:yellow;"&gt;&amp;lt;!--&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&amp;lt;ReportServerVirtualDirectory&amp;gt;ReportServer&amp;lt;/ReportServerVirtualDirectory&amp;gt;&lt;B style="mso-bidi-font-weight:normal;"&gt;&lt;SPAN style="BACKGROUND:yellow;mso-highlight:yellow;"&gt;--&amp;gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;In “&lt;B style="mso-bidi-font-weight:normal;"&gt;Reportserver.config&lt;/B&gt;” locate the line;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;UrlRoot&amp;gt;http://blackpearl/reportserver&amp;lt;/UrlRoot&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Replace the value with your host header and report server web service path, for example;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT face=Calibri size=3&gt;&amp;lt;UrlRoot&amp;gt;&lt;SPAN style="BACKGROUND:yellow;mso-highlight:yellow;"&gt;http://MySSRS.k2.com/reportserver&lt;/SPAN&gt;&amp;lt;/UrlRoot&amp;gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face=Calibri size=3&gt;Something to watch out for, if you are running multiple instances of Reporting Services on one server make sure that in your “Reportserver.config” file the instance node points to the right instance path.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;I style="mso-bidi-font-style:normal;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;lt;InstanceId&amp;gt;MSSQL.9&amp;lt;/InstanceId&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Mark Green&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23710" width="1" height="1"&gt;</description></item><item><title>Using the K2 Workspace Archive facility</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/05/07/using-the-k2-workspace-archive-facility.aspx</link><pubDate>Wed, 07 May 2008 13:56:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23666</guid><dc:creator>Murphy</dc:creator><slash:comments>0</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23666.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23666</wfw:commentRss><description>&lt;P&gt;As your K2 workflow processes are run the K2ServerLog is used to log&amp;nbsp;information about your workflow processes. This database will grow in size over time and you will no doubt have to do some archiving on this database. Out of the box the K2 Workspace provides an Archive facility that can be leveraged to enable an archive to be run on the database specifying a given date range.&lt;/P&gt;
&lt;P&gt;Before I go into the steps that can be followed to use this feature remember the K2ServerLog database is used for your out of the box and probably custom reports. Therefore you need to take this into account when choosing the date range for your archive.&lt;/P&gt;
&lt;P&gt;To implement your archive you will need to carry out two steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a blank database to be used as the archive database&lt;/LI&gt;
&lt;LI&gt;Use the workspace to start the archive.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Create a new blank database&lt;/STRONG&gt;&lt;BR&gt;I appreciate there are many ways to do this, below is one&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open Microsoft SQL Server Management Studio&lt;/LI&gt;
&lt;LI&gt;Right Click Databases and select New Database&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG style="WIDTH:527px;HEIGHT:309px;" align=textTop src="http://i272.photobucket.com/albums/jj162/K2Underground/CreateDBImg_1.jpg" width=527 height=309&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Enter your preferred values&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG style="WIDTH:704px;HEIGHT:632px;" align=textTop src="http://i272.photobucket.com/albums/jj162/K2Underground/CreateDBImg_2.jpg" width=704 height=632&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Click OK&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Use the K2 workspace to carry out the archive&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open the K2 workspace&lt;/LI&gt;
&lt;LI&gt;Navigate to Workflow Server -&amp;gt; Archiving&lt;/LI&gt;
&lt;LI&gt;Choose your authentication method&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/ArchiveImg_1.jpg"&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Select the K2ServerLog Database as the Log Database&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG style="WIDTH:714px;HEIGHT:649px;" src="http://i272.photobucket.com/albums/jj162/K2Underground/ArchiveImg_3.jpg" width=714 height=649&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Enter the date range to archive&lt;/LI&gt;
&lt;LI&gt;Select the blank database as the archive database&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG style="WIDTH:714px;HEIGHT:649px;" align=textTop src="http://i272.photobucket.com/albums/jj162/K2Underground/ArchiveImg_4.jpg" width=714 height=649&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Close the dialog and that’s it! K2 will create the required tables if they do not exist in the selected database and carry out the archive.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/ArchiveImg_5.jpg"&gt;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23666" width="1" height="1"&gt;</description></item><item><title>How to implement a Custom Security Provider for K2 blackpearl</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/05/01/how-to-implement-a-custom-security-provider-example-for-k2-blackpearl.aspx</link><pubDate>Thu, 01 May 2008 21:57:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23534</guid><dc:creator>punkas</dc:creator><slash:comments>1</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23534.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23534</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I recently implemented a Custom Security provider that is used in a production environment. I had a few enquiries surrounding the implementation and thought it would be good to share an example implementation. Attached is a derived version of the provider I created but with a&amp;nbsp; SQL Server Implementation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;STRONG&gt;PLEASE NOTE: The example source code for this blog can be found by clicking on the "File List" tab on the link below. You have to be logged into K2Underground to access this link!&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;A href="http://www.k2underground.com/k2/ProjectHome.aspx?ProjectID=59"&gt;&lt;STRONG&gt;http://www.k2underground.com/k2/ProjectHome.aspx?ProjectID=59&lt;/STRONG&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Unzip the example files to a favorite temp location on a K2 BP VPC with all the standard K2 development and runtime artifacts installed&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Crack open SQL Server Management Studio and create a new empty database. Call it “EmpSec”. Execute the “SecSQLScript.txt” located in the Security Provider Implementation Folder. Make sure all the Tables, Test Data and Sprocs deploy. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Compile the Security Implementation Project and copy the output “&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE:12pt;"&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;ArnIT.K2SecurityProviderLibrary.Implementations.dll”&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; Assembly to the “C:\Program Files\K2 blackpearl\Host Server\Bin\securityproviders” folder after you stopped K2 Host Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Start K2 Host Server and crack open another Query Window in SQL Man Studio. Run the following Script. &lt;B&gt;Make sure K2 Host Server starts up before running the script!&lt;/B&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;use [HostServer]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;declare @id uniqueidentifier, @a_newid uniqueidentifier;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;set @a_newid =&amp;nbsp; newid()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;select @id = SecurityProviderID from SecurityProviders where ProviderClassName = 'ArnIT.K2SecurityProviderLibrary.Implementations.SqlMembershipProviderProxy'&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;insert into SecurityLabels values (@a_newid, 'ArnIT Security', @id, null, @id, null, '0')&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Stop K2 Host Server again and open up the “K2HostServer.config” located in “C:\Program Files\K2 blackpearl\Host Server\Bin”. Delete the &amp;lt; connectionStrings&amp;gt; node and its contents after learning the replacement settings. An example of the unencrypted settings is in the section above the connectionStrings node. By commenting that back, K2 Host Server will consume and encrypt it again upon startup, hence we can safely delete the original encrypted version. The idea is to register the SQL Connectionstring the Security Provider uses.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Deleting the Encrypted connectionStrings:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG style="WIDTH:904px;HEIGHT:534px;" height=534 src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC001.png" width=904&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;Recreating the connectionStrings section:&lt;/B&gt; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Add the connectionstring below and start K2 Host Server after saving the file. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&amp;lt;add name="ArnITEmpSecurityProvider.Connectionstring" connectionString="Data Source=BLACKPEARL;Database=EmpSec;&lt;/B&gt; &lt;B&gt;Integrated Security=True" /&amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG style="WIDTH:953px;HEIGHT:285px;" height=285 src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC002.png" width=953&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;As mentioned, K2 Host Server will consume your settings and encrypt it. The “green” section should be deleted for production environments. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Encrypted connectionStrings section:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG style="WIDTH:551px;HEIGHT:367px;" height=367 src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC003.png" width=551&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Restart K2 Host Server. Your provider will be registered after 4. above and you should be good to test it. The easiest way to verify registration completed successfully is to do a user lookup in workspace in any of the permissions sections&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC004.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG style="WIDTH:899px;HEIGHT:347px;" height=347 src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC005.png" width=899&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The next section will test the Security Provider Implementation. An example Expense Claim K2 Process is included in the zip file and needs to be exported to your environment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;You need to create the following Roles in workspace. These are used as destinations for the Claims Process:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Add the following DYNAMIC K2 Roles&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&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; 1. “ArnIT EmpSys Administrator “ (Group "ArnIT Security:Administrator")&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;B&gt;[Claim Approval Activity Destination]&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&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; 2. “ArnIT EmpSys Clerk” (Group "ArnIT Security:Worker")&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;&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;B&gt;[Claim Processing Activity Destination]&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&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;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;It should look like the below:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG style="WIDTH:1024px;HEIGHT:211px;" height=211 src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC006.png" width=1024&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;and&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC007.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Export the process and assign Start Permissions to all the “ArnIT” Groups. Ensure &amp;nbsp;you save the permissions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC008.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;You should be good to test the process. I included a test application that basically starts a new instance of the claims process and approves it by actioning the worklist items. You should be able to plug any front end into this and point your UI Security Provider to your Custom Security Provider datastore.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Start the process and inspect the Worklist and Process Instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC009.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC010.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC011.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC012.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;10.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Finish the Worklist items for the “Claim Approval” Activity and inspect the Worklist and Process Instance&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC013.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC014.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;IMG src="http://i272.photobucket.com/albums/jj162/K2Underground/SEC015.png"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;SPAN style="mso-list:Ignore;"&gt;&lt;FONT face=Calibri size=3&gt;11.&lt;/FONT&gt;&lt;SPAN style="FONT:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Finish off the “Claim Processing” tasks by adding a “WL Item” finish code section for Paul. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN:0cm 0cm 0pt 36pt;"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This example is tested and works on K2 Sp1 with KB234. Dynamic Roles also works fine. The Filter Criteria for the Search is not implemented, but this should not be a too big a job to implement. The password sections should also be encrypted as per normal security patterns.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://k2underground.com/aggbug.aspx?PostID=23534" width="1" height="1"&gt;</description></item><item><title>Automatic Deployment of K2 Process and K2 SmartObject artefacts using theSourceCode Deployment Framework and MSBuild Assemblies</title><link>http://k2underground.com/blogs/pitchblack/archive/2008/04/30/automatic-deployment-of-k2-process-and-k2-smartobject-artefacts-using-thesourcecode-deployment-framework-and-msbuild-assemblies.aspx</link><pubDate>Wed, 30 Apr 2008 01:02:00 GMT</pubDate><guid isPermaLink="false">1c9bda6b-c6e6-4e79-8d32-b70ad0011ef7:23468</guid><dc:creator>punkas</dc:creator><slash:comments>1</slash:comments><comments>http://k2underground.com/blogs/pitchblack/comments/23468.aspx</comments><wfw:commentRss>http://k2underground.com/blogs/pitchblack/commentrss.aspx?PostID=23468</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;FONT face=Calibri&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;Introduction&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Continuous Integration is a deployment concept that ensures changes to your code base results in an automatic build and deployment to their target environments. This article explains how to automatically deploy K2 Process and K2 SmartObject artefacts using the SourceCode Deployment Framework and the MSBuild Assemblies. The example code can be used to create a custom MSBuild task that can be included in a MSBuild file. CCNet, TFS and FinalBuilder are typically used to automatically build and deploy applications using MSBuild files as deployment directives.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;K2 and MSBuild&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;The K2 Deployment Framework takes advantage of the MSBuild Libraries to build and deploy K2 Projects. This K2 deployment process is transparent to Developers using VS 2005 to compile and deploy K2 processes. The K2 Deployment API is used by VS 2005 under the covers to achieve this. This article will explain how to used this API and automate this build and deployment process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Implementation Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;This example will create a Deployment Class called &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;LibK2Deploy &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;that will be referenced by a Console Application that calls a static method called &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;Execute&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; to deploy the K2 Processes or K2 SmartObjects.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Let’s Start&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Open VS 2005 and create a new Solution. Add a new Class Library project called LibK2Build to the solution. Add a new class to the project called &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;LibK2Deploy&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;. Add References to the following Assemblies&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:7pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:Arial;mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Microsoft.Build.Engine&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:7pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:Arial;mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Microsoft.Build.Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:7pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:Arial;mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;SourceCode.EnvironmentSettings.Client&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt 36pt;TEXT-INDENT:-18pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:7pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:Arial;mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;SourceCode.Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt 36pt;TEXT-INDENT:-18pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:7pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:Symbol;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:Arial;mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;SourceCode.Workflow.Design&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Add the following code in your using directives&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; SourceCode.EnvironmentSettings.Client;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; SourceCode.Framework.Deployment;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; SourceCode.ProjectSystem;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; SourceCode.Workflow.Design.EnvironmentSettings;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;The class will contain a public &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;Execute&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; method and two helper methods &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;GetEnvironmentManager&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; and &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;GetDeploymentPackage&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;. Execute will use the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; and &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;DeploymentPackage&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; returned from the respective helper methods to build and deploy the K2 Project.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Add the following code into &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:teal;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;LibK2Deploy&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt; your class:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;The method below is a standard way to return the Environment Manager. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt; GetEnvironmentManager()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt; environmentManager = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt;(&lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;, &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:green;"&gt;// This is weird but the only way I could get it to work!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.ConnectToServer(GetConnectionString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.InitializeSettingsManager();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.ConnectToServer(GetConnectionString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;if&lt;/SPAN&gt; (_environment != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.ChangeEnvironment(_environment);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.InitializeSettingsManager();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;environmentManager.GetEnvironmentFields(environmentManager.CurrentEnvironment);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;return&lt;/SPAN&gt; environmentManager&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;The method below is particularly useful because you can intercept and change the Environment Field Values based on your configuration. You also specify your Deployment Label and Description in this method. These are the same Label and Description you would specify in VS 2005 when you deploy your K2 Artefacts. Note there are separate sections of code that deals with K2 Workflow and K2 SmartObject objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;DeploymentPackage&lt;/SPAN&gt; GetDeploymentPackage(&lt;SPAN style="COLOR:teal;"&gt;Project&lt;/SPAN&gt; project, &lt;SPAN style="COLOR:teal;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt; environmentManager)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;DeploymentPackage&lt;/SPAN&gt; package;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package = project.CreateDeploymentPackage();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&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:green;"&gt;// Populate Environment Fields &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR:teal;"&gt;EnvironmentInstance&lt;/SPAN&gt; env &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; environmentManager.CurrentTemplate.Environments)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;&lt;SPAN style="COLOR:teal;"&gt;DeploymentEnvironment&lt;/SPAN&gt; depEnv = package.AddEnvironment(env.EnvironmentName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR:teal;"&gt;EnvironmentField&lt;/SPAN&gt; field &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; env.EnvironmentFields)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;depEnv.Properties[field.FieldName] = field.Value;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.SelectedEnvironment = environmentManager.CurrentEnvironment.EnvironmentName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.DeploymentLabelName = &lt;SPAN style="COLOR:teal;"&gt;DateTime&lt;/SPAN&gt;.Now.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.DeploymentLabelDescription = &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.TestOnly = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:green;"&gt;// Get the Default SmartObject Server in the Environment&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:green;"&gt;// The prefix "$Field=" is when the value of the SmartObject server is registered in the environment fields collection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:green;"&gt;// this will do a lookup in the environment with the display name of the field, and use the value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:green;"&gt;// If you set the value directly, no lookups will be performed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;EnvironmentField&lt;/SPAN&gt; smartObjectServerField =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.CurrentEnvironment.GetDefaultField(&lt;SPAN style="COLOR:blue;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR:teal;"&gt;SmartObjectField&lt;/SPAN&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.SmartObjectConnectionString = &lt;SPAN style="COLOR:maroon;"&gt;"$Field="&lt;/SPAN&gt; + smartObjectServerField.DisplayName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:green;"&gt;// Get the Default Workflow Management Server in the Environment&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;EnvironmentField&lt;/SPAN&gt; workflowServerField =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager.CurrentEnvironment.GetDefaultField(&lt;SPAN style="COLOR:blue;"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR:teal;"&gt;WorkflowManagementServerField&lt;/SPAN&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package.WorkflowManagementConnectionString = &lt;SPAN style="COLOR:maroon;"&gt;"$Field="&lt;/SPAN&gt; + workflowServerField.DisplayName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;return&lt;/SPAN&gt; package;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;This method creates a K2 Connection String that is used by the methods above.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; GetConnectionString()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR:maroon;"&gt;"Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host={0};Port={1}"&lt;/SPAN&gt;, _server, _port);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;The helper methods use the private variables below that are populated with the K2HostServer, Port and Environment Name. Add these to your class:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; _server;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;int&lt;/SPAN&gt; _port;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; _environment;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;FONT-FAMILY:'Times New Roman','serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:12pt;mso-ascii-font-family:Calibri;mso-fareast-font-family:'Times New Roman';mso-hansi-font-family:Calibri;mso-bidi-font-family:'Times New Roman';mso-ansi-language:EN-GB;"&gt;&lt;FONT face=Calibri&gt;Add the Execute method to the code. This public method’s signature accepts the K2 Host Server name (eg. “BLACKPEARL”), the Environment Name (typically “Development”, “Production”), the ProjectPath the location of the “.k2proj” that needs deploying and OuputPath the location of the MSBuild files that are consumed by MSBuild during deployment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;bool&lt;/SPAN&gt; Execute(&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; K2HostServer, &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; EnvironmentName, &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; ProjectPath, &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; OutputPath)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;_environment = EnvironmentName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;_port = 5555;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;_server = K2HostServer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;Project&lt;/SPAN&gt; project;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:teal;"&gt;EnvironmentSettingsManager&lt;/SPAN&gt; environmentManager;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;DeploymentResults&lt;/SPAN&gt; results;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:teal;"&gt;DeploymentPackage&lt;/SPAN&gt; package;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;bool&lt;/SPAN&gt; success = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;project = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:teal;"&gt;Project&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;project.Load(ProjectPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-tab-count:2;"&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="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:green;"&gt;// Compile the K2 Project&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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 = project.Compile();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;environmentManager = GetEnvironmentManager();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;package = GetDeploymentPackage(project, environmentManager);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;package.Save(OutputPath, &lt;SPAN style="COLOR:maroon;"&gt;"K2 Deployment Package"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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 = package.Execute();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';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:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;success = results.Successful;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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:blue;"&gt;catch&lt;/SPAN&gt; (&lt;SPAN style="COLOR:teal;"&gt;Exception&lt;/SPAN&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;&lt;SPAN style="COLOR:blue;"&gt;throw&lt;/SPAN&gt; ex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Times New Roman';mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier N