
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>merill.net</title>
	<atom:link href="http://merill.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://merill.net</link>
	<description>My utmost for His highest, my best for His glory</description>
	<lastBuildDate>Wed, 23 Jun 2010 01:30:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Updating Extended Properties of a Database using SQL Server SMO</title>
		<link>http://merill.net/2010/06/updating-extended-properties-of-a-database-using-sql-server-smo/</link>
		<comments>http://merill.net/2010/06/updating-extended-properties-of-a-database-using-sql-server-smo/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 01:28:01 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[smo]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://merill.net/?p=710</guid>
		<description><![CDATA[Updating the extended properties on a database using SQL Server&#8217;s excellent Server Management Objects API is not as straightforward as setting the value and calling update. The database.Alter() method needs to be called both before and after updating the value. I had to lookup the code of El Pluto&#8216;s awesome SQL Server Extended Properties Quick [...]]]></description>
			<content:encoded><![CDATA[<p>Updating the extended properties on a database using SQL Server&#8217;s excellent <a href="http://msdn.microsoft.com/en-us/library/ms162169.aspx">Server Management Objects</a> API is not as straightforward as setting the value and calling update.</p>
<p>The database.Alter() method needs to be called both before and after updating the value. I had to lookup the code of <a href="http://blog.elpluto.com/">El Pluto</a>&#8216;s awesome <a href="http://xqued.codeplex.com/">SQL Server Extended Properties Quick Editor</a> project on CodePlex to figure this out.</p>
<div style="color: black; background: white; font-family: Consolas; font-size: 10pt;">
<pre style="margin: 0px;"><span style="color: blue;">using</span> Microsoft.SqlServer.Management.Smo;</pre>
<pre style="margin: 0px;">&nbsp;</pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;summary&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> Set's the extended property of a database.</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;/summary&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;param name=&quot;serverName&quot;&gt;</span><span style="color: green;">The name of the SQL Server.</span><span style="color: gray;">&lt;/param&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;param name=&quot;databaseName&quot;&gt;</span><span style="color: green;">The name of the database.</span><span style="color: gray;">&lt;/param&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;param name=&quot;propertyName&quot;&gt;</span><span style="color: green;">The name of the extended property.</span><span style="color: gray;">&lt;/param&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;">&lt;param name=&quot;value&quot;&gt;</span><span style="color: green;">The value of the extended property.</span><span style="color: gray;">&lt;/param&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">private</span> <span style="color: blue;">void</span> SetExtendedProperty(<span style="color: blue;">string</span> serverName, <span style="color: blue;">string</span> </pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; databaseName, <span style="color: blue;">string</span> propertyName, <span style="color: blue;">string</span> value)</pre>
<pre style="margin: 0px;">{</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">var</span> server = <span style="color: blue;">new</span> <span style="color: #2b91af;">Server</span>(serverName);</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">var</span> database = server.Databases[databaseName];</pre>
<pre style="margin: 0px;">&nbsp;</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; database.Alter();</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">if</span> (!database.ExtendedProperties.Contains(propertyName))</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; {</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; database.ExtendedProperties.Add(</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">new</span> <span style="color: #2b91af;">ExtendedProperty</span>(database, propertyName, value));</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; }</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">else</span></pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; {</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; database.ExtendedProperties[propertyName].Value = value;</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; }</pre>
<pre style="margin: 0px;">&nbsp;&nbsp;&nbsp; database.Alter();</pre>
<pre style="margin: 0px;">}</pre>
<pre style="margin: 0px;">&nbsp;</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/06/updating-extended-properties-of-a-database-using-sql-server-smo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically setting multiple activity destinations in K2 with ASP .NET</title>
		<link>http://merill.net/2010/06/dynamically-setting-multiple-activity-destinations-in-k2-with-asp-net/</link>
		<comments>http://merill.net/2010/06/dynamically-setting-multiple-activity-destinations-in-k2-with-asp-net/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 04:18:42 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[destinations]]></category>
		<category><![CDATA[infopath]]></category>
		<category><![CDATA[k2]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://merill.net/?p=690</guid>
		<description><![CDATA[When building a typical workflow you usually know which user or group needs to perform an activity at design time. Sometimes though the workflow needs to be more dynamic. The issue I had to resolve recently involved having to build a workflow where the end-user gets to individually pick the users who will be performing [...]]]></description>
			<content:encoded><![CDATA[<p>When building a typical workflow you usually know which user or group needs to perform an activity at design time. Sometimes though the workflow needs to be more dynamic.</p>
<p>The issue I had to resolve recently involved having to build a workflow where the end-user gets to individually pick the users who will be performing the next step. Here&#8217;s a view of  the workflow design.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/06/K2-Multiple-Destination-Workflow.png"><img class="alignnone size-full wp-image-691" title="K2 Multiple=" src="http://merill.net/wp-content/uploads/2010/06/K2-Multiple-Destination-Workflow.png" alt="" width="696" height="478" /></a></p>
<p>The scenario involved an application being submitted for review. The application would go to an individual who is responsible for assigning a group of users (destination users) to review the application. The twist was that it was the individual picking users for each application, it wasn&#8217;t a fixed group or role. The screen mockup shows how they do it.</p>
<p>When the person hits the &#8216;Assign Reviewers&#8217; button the form then needs to turn up as a work list item for each of the reviewers (destination users) who get to review the application in parallel.</p>
<p>Implementing this process using K2/InfoPath is quite straightforward and is well documented in many places including this post titled &#8216;<a href="http://www.k2underground.com/blogs/fromthebench/archive/2008/05/22/activity-destination-users-based-upon-a-repeating-xml-element.aspx">Activity Destination Users based upon a Repeating XML element</a>&#8216; in a K2 underground blog.</p>
<p>It&#8217;s not well documented though for ASP.NET. The post &#8216;<a href="http://www.k2underground.com/blogs/fromthebench/archive/2009/08/18/how-to-use-a-web-service-for-destinations-in-k2-blackpoint.aspx?CommentPosted=true#commentmessage">How To: Use a web service for destinations in K2 blackpoint</a>&#8216; is close to what we want but it&#8217;s targeted at using a web service.</p>
<p>K2 let&#8217;s you set multiple destination users in one of two ways</p>
<p>1. Using a SmartObject method in a role</p>
<p>2. Using Xml as a destination set</p>
<p>Going the SmartObject route was a lot of work for my simple requirement so I chose the Xml method. The idea here is to use the list of users in the Assign Reviewers form and store them in a Process xml field. The destination set will then be configured to read the xml field and create a slot for each user.</p>
<p>FYI: See page 4 of the <a href="http://help.k2.com/en/AdvancedDestinations_Whitepaper.aspx">Advanced Destinations whitepaper</a> for a description of the two roles. &lt;rant&gt;Why the K2 KB portal needs a login is beyond me.&lt;/rant&gt;</p>
<p><strong>Step 1: Write the code to create the xml containing the list of users</strong></p>
<p>The code block below accepts a ; delimited list of domain name\username (e.g. domain\johna) and creates an XML document containing the list of users. This is then assigned to the Process Instance XML field called Reviewers.</p>
<div style="color: black; background: white; font-family: Consolas; font-size: 10pt;">
<pre style="margin: 0px;"><span style="color: blue;">private</span> <span style="color: blue;">static</span> <span style="color: blue;">void</span> AssignReviewers(<span style="color: #2b91af;">WorklistItem</span> item, <span style="color: blue;">string</span> listOfUsers)</pre>
<pre style="margin: 0px;">{</pre>
<pre style="margin: 0px;">    <span style="color: blue;">var</span> doc = <span style="color: blue;">new</span> <span style="color: #2b91af;">XmlDocument</span>();</pre>
<pre style="margin: 0px;">    <span style="color: blue;">var</span> root = doc.CreateElement(<span style="color: #a31515;">"UserList"</span>);</pre>
<pre style="margin: 0px;">    doc.AppendChild(root);</pre>
<pre style="margin: 0px;"></pre>
<pre style="margin: 0px;">    <span style="color: blue;">foreach</span> (<span style="color: blue;">string</span> user <span style="color: blue;">in</span> listOfUsers.Split(<span style="color: #a31515;">';'</span>))</pre>
<pre style="margin: 0px;">    {</pre>
<pre style="margin: 0px;">        <span style="color: blue;">var</span> userNode = doc.CreateElement(<span style="color: #a31515;">"Users"</span>);</pre>
<pre style="margin: 0px;">        userNode.InnerText = user;</pre>
<pre style="margin: 0px;">        root.AppendChild(userNode);</pre>
<pre style="margin: 0px;">    }</pre>
<pre style="margin: 0px;">    item.ProcessInstance.XmlFields[<span style="color: #a31515;">"Reviewers"</span>].Value = doc.OuterXml;</pre>
<pre style="margin: 0px;">}</pre>
</div>
<p><strong>Step 2: Create an xml schema based on the user list xml</strong></p>
<p>This proved to be the trickiest part for me. Using the xsd.exe as documented in this <a href="http://www.k2underground.com/blogs/fromthebench/archive/2009/08/18/how-to-use-a-web-service-for-destinations-in-k2-blackpoint.aspx">article</a> didn&#8217;t work.  After a lot of anguish I worked out that K2 was happy with the schema generated by InfoPath. So I opened an empty form in InfoPath and added a repeating text field (<a href="http://www.k2underground.com/blogs/fromthebench/archive/2008/05/22/activity-destination-users-based-upon-a-repeating-xml-element.aspx">screenshot</a>).</p>
<p>Next I exported the form to get to the .xsd (in InfoPath 2010 it is File -&gt; Publish -&gt; Export Source Files). Cleaning out the my: namespace and a bit of tweaking should give you the following schema definition. This definition should work fine with the xml produced by the above code block.</p>
<div style="color: black; background: white; font-family: Consolas; font-size: 10pt;">
<pre style="margin: 0px;"><span style="color: blue;">&lt;?</span><span style="color: #a31515;">xml</span><span style="color: blue;"> </span><span style="color: red;">version</span><span style="color: blue;">=</span>"<span style="color: blue;">1.0</span>"<span style="color: blue;"> </span><span style="color: red;">encoding</span><span style="color: blue;">=</span>"<span style="color: blue;">UTF-8</span>"<span style="color: blue;"> </span><span style="color: red;">standalone</span><span style="color: blue;">=</span>"<span style="color: blue;">no</span>"<span style="color: blue;">?&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">&lt;</span><span style="color: #a31515;">xsd:schema</span><span style="color: blue;"> </span><span style="color: red;">xmlns:xsd</span><span style="color: blue;">=</span>"<span style="color: blue;">http://www.w3.org/2001/XMLSchema</span>"<span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">  &lt;</span><span style="color: #a31515;">xsd:element</span><span style="color: blue;"> </span><span style="color: red;">name</span><span style="color: blue;">=</span>"<span style="color: blue;">UserList</span>"<span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">    &lt;</span><span style="color: #a31515;">xsd:complexType</span><span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">      &lt;</span><span style="color: #a31515;">xsd:sequence</span><span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">        &lt;</span><span style="color: #a31515;">xsd:element</span><span style="color: blue;"> </span><span style="color: red;">name</span><span style="color: blue;">=</span>"<span style="color: blue;">Users</span>"<span style="color: blue;"> </span><span style="color: red;">minOccurs</span><span style="color: blue;">=</span>"<span style="color: blue;">0</span>"<span style="color: blue;"> </span><span style="color: red;">maxOccurs</span><span style="color: blue;">=</span>"<span style="color: blue;">unbounded</span>"<span style="color: blue;">/&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">      &lt;/</span><span style="color: #a31515;">xsd:sequence</span><span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">    &lt;/</span><span style="color: #a31515;">xsd:complexType</span><span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">  &lt;/</span><span style="color: #a31515;">xsd:element</span><span style="color: blue;">&gt;</span></pre>
<pre style="margin: 0px;"><span style="color: blue;">&lt;/</span><span style="color: #a31515;">xsd:schema</span><span style="color: blue;">&gt;</span></pre>
</div>
<p><strong>Step 3: Create an xml field for the process</strong></p>
<p>Armed with the xml schema, we&#8217;re now ready to configure the workflow.</p>
<p>Fire up the K2 process designer and add the process xml field name <em>Reviewers</em> which we referred to in our code in step 1.</p>
<p>To do this open the Process General Properties window, expand the right panel. From the list select the Process/Activity Data node, expand it to select the name of your process and right-click on it to click Add.. and get to the Add XML Field.</p>
<p><img class="alignnone size-full wp-image-696" title="K2 Add Process Xml Field" src="http://merill.net/wp-content/uploads/2010/06/K2-Add-Process-Xml-Field.png" alt="" width="306" height="192" /></p>
<p>Name the field &#8216;Reviewers&#8217;.</p>
<p><img class="alignnone size-full wp-image-697" title="K2 Add Xml Field Dialog" src="http://merill.net/wp-content/uploads/2010/06/K2-Add-Xml-Field-Dialog.png" alt="" width="462" height="205" /></p>
<p>Switch to the XML Schema tab and browse to pick the xsd file created in Step 2.</p>
<p>When you hit OK you should now be able to drill down and see the Users node.</p>
<p><img class="alignnone size-full wp-image-698" title="K2 Xml Field Step" src="http://merill.net/wp-content/uploads/2010/06/K2-Xml-Field-Step.png" alt="" width="188" height="183" /></p>
<p>The key is to make sure that the node&#8217;s icon has a green overlay which flags it as a repeating node. If it&#8217;s there you should be fine. If not you need to repeat the steps above until you get the green overlay icon. Without it, the worklist item is not going to be assigned to multiple users.</p>
<p><strong>Step 4: Setup the destination to read from the xml field</strong></p>
<p>Select the activity which needs to be executed in parallel and click on the Destination Users node. Switch to the Advanced Mode if you are not already in there (select the checkbox on the first page). In the Destination Rule Options select Plan per destination -&gt;All at once. We do this to tell K2 that when it goes to multiple users they will be able to open and work on the item in parallel.</p>
<p><img class="alignnone size-full wp-image-703" title="K2 Setup Destination 1" src="http://merill.net/wp-content/uploads/2010/06/K2-Setup-Destination-1.png" alt="" width="560" height="281" /></p>
<p>Select &#8216;Create a slot for each destination&#8217;, this way each destination user get&#8217;s their own slot.</p>
<p><img class="alignnone size-full wp-image-704" title="K2 Setup Destination 2" src="http://merill.net/wp-content/uploads/2010/06/K2-Setup-Destination-2.png" alt="" width="543" height="328" /></p>
<p>Click on the Edit button to configure the Destination sets.</p>
<p><img class="alignnone size-full wp-image-705" title="K2 Setup Destination 3" src="http://merill.net/wp-content/uploads/2010/06/K2-Setup-Destination-3.png" alt="" width="532" height="198" /></p>
<p>Click on the ellipsis to open the Context Browser, drill down to the Process Xml field that we setup earlier and drag the Users repeating node (the one with the green icon) onto Name column.</p>
<p><img class="alignnone size-full wp-image-706" title="K2 Setup Destination 4" src="http://merill.net/wp-content/uploads/2010/06/K2-Setup-Destination-4.png" alt="" width="734" height="323" /></p>
<p>You should now be all set to test out your dynamic multiple destination users! Running through the workflow you will now see that the worklist item gets assigned to each of the reviewers in parallel.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/06/dynamically-setting-multiple-activity-destinations-in-k2-with-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limit SQL Server memory usage on your workstation, laptop or VM</title>
		<link>http://merill.net/2010/05/limit-sql-server-memory-usage-on-your-workstation-laptop-or-vm/</link>
		<comments>http://merill.net/2010/05/limit-sql-server-memory-usage-on-your-workstation-laptop-or-vm/#comments</comments>
		<pubDate>Wed, 19 May 2010 00:51:30 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Service Manager]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://merill.net/?p=678</guid>
		<description><![CDATA[Here&#8217;s a neat tip I learnt over the weekend. All SQL Server instances are by default set up to use all the memory available on your workstation. This is ideal when you have SQL Server running on it&#8217;s own dedicated server, not so ideal when you have SQL Server installed on your laptop, workstation or [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a neat tip I learnt over the weekend.</p>
<p>All SQL Server instances are by default set up to use all the memory available on your workstation.</p>
<p>This is ideal when you have SQL Server running on it&#8217;s own dedicated server, not so ideal when you have SQL Server installed on your laptop, workstation or even on a SharePoint VM.</p>
<p>Here&#8217;s what <a href="http://msdn.microsoft.com/en-us/library/ms180797.aspx">MSDN says</a></p>
<blockquote><p>if SQL Server is one of several server applications running on a single computer, the system administrators may need to control the amount of memory allocated to SQL Server. In these cases, you can use the min server memory and max server memory options to control how much memory SQL Server can use.</p></blockquote>
<p>In the <a href="http://msdn.microsoft.com/en-us/library/ms178067.aspx">Server Memory Options</a> page they go on to say:</p>
<blockquote><p>When you are running multiple instances of the Database Engine, there are three approaches you can use to manage memory</p>
<ul>
<li>Use max server memory to control memory usage.</li>
<li>Use min server memory to control memory usage.</li>
<li><strong>Do nothing (not recommended).</strong></li>
</ul>
</blockquote>
<p>Which brings us to how we can set the maximum limit. Quite easy. Just connect to each SQL Server instance and set the maximum memory to a more palatable value.</p>
<p>Here&#8217;s a visual walk through to limit the maximum memory usage to 512MB for your SharePoint 2010 instance (if you installed it on Windows 7).</p>
<p>1. Start SQL Server Management Studio (or SSMS Express) and connect to your SQL Server instance (SharePoint in this case): <em>localhost\SharePoint</em></p>
<p><em> </em> <a href="http://merill.net/wp-content/uploads/2010/05/SqlServerConnectSharePoint.png"><img class="alignnone size-medium wp-image-681" title="SqlServerConnectSharePoint" src="http://merill.net/wp-content/uploads/2010/05/SqlServerConnectSharePoint-300x229.png" alt="" width="300" height="229" /></a></p>
<p>2. Right-click on the instance node and select Properties.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/05/SqlServer-Properties.png"><img class="alignnone size-medium wp-image-683" title="SqlServer-Properties" src="http://merill.net/wp-content/uploads/2010/05/SqlServer-Properties-300x251.png" alt="" width="300" height="251" /></a></p>
<p>3. Click on the Memory node you&#8217;ll notice that the Maximum Server Memory is set to 2,147,483,647MB change it to a lower limit like 256 or 512MB. Click OK and your all set.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/05/SqlServer-Memory.png"><img class="alignnone size-medium wp-image-682" title="SqlServer-Memory" src="http://merill.net/wp-content/uploads/2010/05/SqlServer-Memory-300x269.png" alt="" width="300" height="269" /></a></p>
<p>If you prefer SQL the same can be done with the following commands.</p>
<p><br/><em>Enable advanced options:</em></p>
<p><code>USE master </code></p>
<p><code>EXEC sp_configure 'show advanced options', 1 </code></p>
<p><code>RECONFIGURE WITH OVERRIDE</code></p>
<p><br/><em>Set the maximum amount of memory to 512 MB:</em></p>
<p><code>USE master </code></p>
<p><code>EXEC sp_configure 'max server memory (MB)', 512 </code></p>
<p><code>RECONFIGURE WITH OVERRIDE</code></p>
<p><br/><em>Display the newly set configuration:</em></p>
<p><code>USE master </code></p>
<p><code>EXEC sp_configure 'max server memory (MB)' </code></p>
<p><br/><em>Set &#8216;show advanced options&#8217; back to default:</em></p>
<p><code>USE master </code></p>
<p><code>EXEC sp_configure 'show advanced options', 0 </code></p>
<p><code>RECONFIGURE WITH OVERRIDE</code></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/05/limit-sql-server-memory-usage-on-your-workstation-laptop-or-vm/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Feature differences between SharePoint 2007 Enterprise and Standard for a Publishing Portal</title>
		<link>http://merill.net/2010/05/feature-differences-between-sharepoint-2007-enterprise-and-standard-for-a-publishing-portal/</link>
		<comments>http://merill.net/2010/05/feature-differences-between-sharepoint-2007-enterprise-and-standard-for-a-publishing-portal/#comments</comments>
		<pubDate>Mon, 03 May 2010 23:26:51 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[site template]]></category>

		<guid isPermaLink="false">http://merill.net/?p=673</guid>
		<description><![CDATA[I recently had to deploy a site template that was built using SharePoint Enterprise Edition 2007 on an instance of SharePoint Standard Edition 2007. Obviously given that some features were not available in the Standard Edition I received the &#8216;The template you have chosen is invalid or cannot be found&#8217;. Unlike a MOSS to WSS [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had to deploy a site template that was built using SharePoint Enterprise Edition 2007 on an instance of SharePoint Standard Edition 2007.</p>
<p>Obviously given that some features were not available in the Standard Edition I received the &#8216;The template you have chosen is invalid or cannot be found&#8217;. Unlike a <a href="http://www.sharepointconfig.com/2007/05/moss-site-templates-not-compatible-with-wss/">MOSS to WSS conversion</a> the problem here is that the features do exist on the server but are simply not available for the standard edition.</p>
<p>I basically resorted to manually comparing the differences between a site template created in the Standard edition vs one created in the Enterprise edition.</p>
<p>Here&#8217;s the list if anyone ever needs this.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/05/Publishing-Features-Standard-vs-Enterpise.png"><img class="alignnone size-medium wp-image-674" title="Publishing-Features-Standard-vs-Enterpise" src="http://merill.net/wp-content/uploads/2010/05/Publishing-Features-Standard-vs-Enterpise-300x222.png" alt="" width="300" height="222" /></a></p>
<p>Remove these features from a template created in the Enterprise edition if you want to deploy it on a Standard edition. Obviously you need to test to ensure that your template is not actually using any of the Enterprise features.<br />
<code><br />
&lt;Feature ID="065c78be-5231-477e-a972-14177cc5b3c7" /&gt;<br />
&lt;Feature ID="0806d127-06e6-447a-980e-2e90b03101b8" /&gt;<br />
&lt;Feature ID="2510d73f-7109-4ccc-8a1c-314894deeb3a" /&gt;<br />
&lt;Feature ID="e8734bb6-be8e-48a1-b036-5a40ff0b8a81" /&gt;<br />
&lt;Feature ID="00bfea71-dbd7-4f72-b8cb-da7ac0440130" /&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/05/feature-differences-between-sharepoint-2007-enterprise-and-standard-for-a-publishing-portal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 Service Weirdness</title>
		<link>http://merill.net/2010/05/sql-server-2008-service-weirdness/</link>
		<comments>http://merill.net/2010/05/sql-server-2008-service-weirdness/#comments</comments>
		<pubDate>Sat, 01 May 2010 05:59:17 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Service Manager]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://merill.net/?p=668</guid>
		<description><![CDATA[Two weird things I learnt about SQL Server while building the SharePoint 2010 Service Manager. 1. SQL Server Agent service for SQL Express is bogus Whenever Service Manager started, the SQL Server Agent service for the SharePoint (SQL Express) instance  would immediately stop with either of the following errors logged in the Windows Event Log. [...]]]></description>
			<content:encoded><![CDATA[<p>Two weird things I learnt about SQL Server while building the SharePoint 2010 Service Manager.</p>
<p><strong>1. SQL Server Agent service for SQL Express is bogus</strong></p>
<p>Whenever Service Manager started, the SQL Server Agent service for the SharePoint (SQL Express) instance  would immediately stop with either of the following errors logged in the Windows Event Log.</p>
<ul>
<li><em>The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. [0x80070422]</em></li>
<li><em>SQLServerAgent could not be started (reason: Error creating a new session).</em></li>
</ul>
<p>The self explanatory title of the bug filed on Connect says it all &#8216;<a href="https://connect.microsoft.com/SQLServer/feedback/details/351806/sql-express-rc0-installs-sql-agent-service-for-no-apparent-reason">SQL Express installs SQL Agent Service for no apparent reason</a>&#8216;. Apparently the team cutting down features for the Express edition forgot to tell the Agent team that they weren&#8217;t needed in Express.</p>
<p><strong>2. SQL Server VSS Writer Service : Startup Type get&#8217;s reset to &#8216;Manual&#8217;</strong></p>
<p>The Service Manager has a feature that let&#8217;s you set the startup type of all the SharePoint and related services to Manual. This way they wouldn&#8217;t automatically startup when Windows starts hence leaving the workstation to boot faster.</p>
<p>The Service Manager only shows the &#8216;Stop Automatic Startup&#8217; button if the Startup Type of any of SharePoint services are set to Automatic. While testing the feature I released that after sometime the button automatically showed up even after I had set all the services to start manually.</p>
<p>That was when I figured out that even if I manually change the service (through Control Panel) to start manually, something would change the startup to Automatic after a while. I haven&#8217;t figured out what changes it&#8217;s startup type to automatic but I&#8217;m guessing that&#8217;s by design. My workaround for the Service Manager was to ignore the startup type of the VSS Writer service when checking if all the services were set to manual.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/05/sql-server-2008-service-weirdness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 Service Manager</title>
		<link>http://merill.net/2010/04/sharepoint-2010-service-manager/</link>
		<comments>http://merill.net/2010/04/sharepoint-2010-service-manager/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 12:43:38 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Service Manager]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://merill.net/?p=660</guid>
		<description><![CDATA[With the final release of SharePoint 2010, I finally had time to brush-up and release the Service Manager that I wrote sometime back when the 2010 betas was released. This utility is basically akin to the SQL Server Service Manager of yore. If you have SharePoint 2010 installed on your local Windows 7 workstation then [...]]]></description>
			<content:encoded><![CDATA[<p>With the final release of SharePoint 2010, I finally had time to brush-up and release the Service Manager that I wrote sometime back when the 2010 betas was released.</p>
<p>This utility is basically akin to the SQL Server Service Manager of yore.</p>
<p>If you have SharePoint 2010 installed on your local Windows 7 workstation then you will definitely come across instances where your workstation suddenly freezes up and everything starts moving in slow motion. The most likely culprit is usually one of the SharePoint services. At other times the SharePoint services simply eat away at your RAM.</p>
<p>That&#8217;s where the SharePoint 2010 Service Manager comes into play. It lets you start and stop all the SharePoint Services running on your workstation with a single-click.</p>
<p>This release handles both the full version of SQL Server as well as SQL Express Edition (the SharePoint instance). There is also an option to permanently disable the SharePoint services from starting up when Windows starts up, hopefully leading to faster boot times.</p>
<p>Here are a couple of screenshots. Get the setup file from CodePlex at <a href="http://sharepointserviceman.codeplex.com/">http://sharepointserviceman.codeplex.com/</a>.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/04/SharePoint-2010-Service-Manager.png"><img class="alignnone size-full wp-image-661" title="SharePoint 2010 Service Manager" src="http://merill.net/wp-content/uploads/2010/04/SharePoint-2010-Service-Manager.png" alt="" width="564" height="531" /></a></p>
<p><a href="http://merill.net/wp-content/uploads/2010/04/SharePoint-2010-Service-Manager-In-Action.png"><img class="alignnone size-full wp-image-662" title="SharePoint-2010-Service-Manager-In-Action" src="http://merill.net/wp-content/uploads/2010/04/SharePoint-2010-Service-Manager-In-Action.png" alt="" width="577" height="540" /></a></p>
<p>I&#8217;d like to thank my colleagues at <a href="http://www.uniqueworld.net/">UniqueWorld</a> including <a href="http://www.neilphillips.com/">Neil</a>, <a href="http://rehmangul.wordpress.com/">Rehman</a> and <a href="http://sharepointsix.blogspot.com/">Dougie</a> who tested the first version and gave valuable feedback.</p>
<p>Please do report any issues you find to merill at merill.net</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/04/sharepoint-2010-service-manager/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 Installation Issue &#8211; Setup Failed with HRESULT -2147467259</title>
		<link>http://merill.net/2010/04/visual-studio-2010-installation-issue-setup-failed-with-hresult-2147467259/</link>
		<comments>http://merill.net/2010/04/visual-studio-2010-installation-issue-setup-failed-with-hresult-2147467259/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 08:18:50 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[setup]]></category>

		<guid isPermaLink="false">http://merill.net/?p=657</guid>
		<description><![CDATA[If you Visual Studio 2010 setup keeps failing when it tries to install the Visual C++ runtime, here’s a quick fix for you. Try installing one of the Visual Studio 2010 Express Editions (I did the Web Edition: http://www.microsoft.com/web/downloads/platform.aspx) and then run the VS2010 installation. I think it has something to do with mounting the [...]]]></description>
			<content:encoded><![CDATA[<p>If you Visual Studio 2010 setup keeps failing when it tries to install the  Visual C++ runtime, here’s a quick fix for you.</p>
<p>Try installing one of the Visual Studio 2010 Express Editions (I did the Web  Edition: <a title="http://www.microsoft.com/web/downloads/platform.aspx" href="http://www.microsoft.com/web/downloads/platform.aspx">http://www.microsoft.com/web/downloads/platform.aspx</a>)  and then run the VS2010 installation.</p>
<p>I think it has something to do with mounting the ISO as a drive.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/04/visual-studio-2010-installation-issue-setup-failed-with-hresult-2147467259/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Icons &amp; Illustrations for SharePoint Architecture Diagrams</title>
		<link>http://merill.net/2010/03/icons-illustrations-for-sharepoint-architecture-diagrams/</link>
		<comments>http://merill.net/2010/03/icons-illustrations-for-sharepoint-architecture-diagrams/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 02:05:47 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://merill.net/2010/03/icons-illustrations-for-sharepoint-architecture-diagrams/</guid>
		<description><![CDATA[A picture is worth a thousand words. Like me if you spend a lot of time writing up functional specs and architecture diagrams and are looking for ways to convey your ideas through illustrations, here are a few pointers. Search the Hive The 12 (now 14) hive has a wealth of icons. The images in [...]]]></description>
			<content:encoded><![CDATA[<p>A picture is worth a thousand words. </p>
<p>Like me if you spend a lot of time writing up functional specs and architecture diagrams and are looking for ways to convey your ideas through illustrations, here are a few pointers.</p>
<p><strong>Search the Hive</strong></p>
<p>The 12 (now 14) hive has a wealth of icons. The images in the png formats are the slightly larger, higher resolution ones. You can find them at 14\TEMPLATE\IMAGES. Here are a few samples.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="14 Hive Icons" border="0" alt="14 Hive Icons" src="http://merill.net/wp-content/uploads/2010/03/14HiveIcons.png" width="447" height="337" /> </p>
<p>&#160;</p>
<p><strong>Visio 2010 SharePoint Workflows</strong></p>
<p>These are new ones, the icons in this stencil are vector based and can be resized without blurring. </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePoint Workflow Actions" border="0" alt="SharePoint Workflow Actions" src="http://merill.net/wp-content/uploads/2010/03/SharePointWorkflowActions.png" width="222" height="296" /> </p>
<p>&#160;</p>
<p><strong>Google / Bing Image Search</strong></p>
<p>Set the filter type to <em>icon </em>and <em>clipart</em> and you do come across some good gems. Remember to check the copyright on the images before using them.</p>
<p>&#160;</p>
<p><strong>SmartArt in PowerPoint 2007 &amp; 2010</strong></p>
<p>The SmartArts are a powerful tool to illustrate your ideas and need to be used wisely. </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SmartArt" border="0" alt="SmartArt" src="http://merill.net/wp-content/uploads/2010/03/SmartArt1.png" width="600" height="329" /> </p>
<p>Play around with the various styles to get the look you want. Here’s one I built for a functional spec recently.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SmartArt Picture" border="0" alt="SmartArt Picture" src="http://merill.net/wp-content/uploads/2010/03/SmartArtPicture.png" width="532" height="265" /> </p>
<p>&#160;</p>
<p>Here’s a diagram I built today to document a web part. The icons came from Google, the Hive and good old Visio.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Filter Web Part" border="0" alt="Filter Web Part" src="http://merill.net/wp-content/uploads/2010/03/FilterWebPart1.png" width="600" height="178" /> </p>
</p>
<p>&#160;</p>
<p><strong>Snipping Tool</strong></p>
<p>My favourite tool to get screen grabs, and save them to files if necessary, is the Snipping tool. This has been built into Windows since XP SP2 and is a really handy utility. To get to it just type <strong>snip</strong> in the Start menu and you should see the Snipping Tool.</p>
<p>One of the first things I do on a new installation is to disable the Red outline from the Option menu. FYI: All of the images above were snipped and saved to disk using the Snipping Tool before being inserted into Live Writer.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SnippingTool" border="0" alt="SnippingTool" src="http://merill.net/wp-content/uploads/2010/03/SnippingTool.png" width="306" height="169" /></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/03/icons-illustrations-for-sharepoint-architecture-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET 4 Free Beta Exam Vouchers</title>
		<link>http://merill.net/2010/03/net-4-free-beta-exam-vouchers/</link>
		<comments>http://merill.net/2010/03/net-4-free-beta-exam-vouchers/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 23:18:54 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Certification]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[exam]]></category>
		<category><![CDATA[voucher]]></category>

		<guid isPermaLink="false">http://merill.net/2010/03/net-4-free-beta-exam-vouchers/</guid>
		<description><![CDATA[Looks like I somehow missed this. Free vouchers for the .NET 4 (Visual Studio 2010 Beta Exams) are available online in the Born to Learn blog. I couldn’t register for the 71-515 (TS: Web Application Development with .NET 4) exam as it was booked up but there were seats still available for the other two [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like I somehow missed this. Free vouchers for the .NET 4 (Visual Studio 2010 Beta Exams) are available online in the <a href="http://borntolearn.mslearn.net/btl/b/weblog/archive/2010/03/17/register-for-visual-studio-2010-beta-exams.aspx">Born to Learn</a> blog.</p>
<p>I couldn’t register for the 71-515 (TS: Web Application Development with .NET 4) exam as it was booked up but there were seats still available for the other two exams that I registered for today.</p>
<ul>
<li><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-519&amp;locale=en-us">Exam 71-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4</a></li>
<li><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-513&amp;locale=en-us">Exam 71-513: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4</a></li>
</ul>
<p>You need to take the exams before 30-Apr, so you have almost a month to get prepared. You can also make use for the pilot beta preparation resources that other candidates are sharing, see the ‘<a href="http://borntolearn.mslearn.net/btl/b/weblog/archive/2010/03/22/preparing-for-the-visual-studio-2010-beta-exams.aspx">Preparing for the Visual Studion 2010 beta exams</a>’ post by Krista.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/03/net-4-free-beta-exam-vouchers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Client on Windows 7 Phone</title>
		<link>http://merill.net/2010/03/sharepoint-client-on-windows-7-phone/</link>
		<comments>http://merill.net/2010/03/sharepoint-client-on-windows-7-phone/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 06:26:01 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[windows 7 phone;sharepoint;client]]></category>

		<guid isPermaLink="false">http://merill.net/2010/03/sharepoint-client-on-windows-7-phone/</guid>
		<description><![CDATA[Yesterday I was excited when I could download the Win 7 dev kit, but that turned to disappointment when I realised that I could only run the application that I deployed and not try out the other stuff on the phone. Today, thanks to Dan Ardelean I was able to unlock the Windows 7 Phone [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was excited when I could download the Win 7 dev kit, but that turned to disappointment when I realised that I could only run the application that I deployed and not try out the other stuff on the phone.</p>
<p>Today, thanks to Dan Ardelean I was able to <a href="http://sviluppomobile.blogspot.com/2010/03/wmp7-emulator-unlock.html">unlock the Windows 7 Phone emulator</a>. So here I was poking around only to be pleasantly surprised to see the SharePoint client built in to the phone.</p>
<p>Here are the first screenshots you’ll see of the Win7Phone SharePoint client. </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePointWorkspace" border="0" alt="SharePointWorkspace" src="http://merill.net/wp-content/uploads/2010/03/SharePointWorkspace.png" width="398" height="768" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MySiteLinks" border="0" alt="MySiteLinks" src="http://merill.net/wp-content/uploads/2010/03/MySiteLinks.png" width="374" height="725" /> </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePoint Client" border="0" alt="SharePoint Client" src="http://merill.net/wp-content/uploads/2010/03/SharePointClient.png" width="374" height="727" /></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/03/sharepoint-client-on-windows-7-phone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
