<?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>Pentalogic Technology &#187; Training</title>
	<atom:link href="http://blog.pentalogic.net/category/training/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pentalogic.net</link>
	<description>Company blog and SharePoint Tricks and Tips</description>
	<lastBuildDate>Fri, 03 Feb 2012 16:49:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How not to develop a SharePoint [Today] Calculated column</title>
		<link>http://blog.pentalogic.net/2011/08/how-not-to-develop-a-sharepointtoday-calculated-column/</link>
		<comments>http://blog.pentalogic.net/2011/08/how-not-to-develop-a-sharepointtoday-calculated-column/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 10:28:56 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[Calculated Columns]]></category>
		<category><![CDATA[Highlighter]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[Today]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=2416</guid>
		<description><![CDATA[4 ways you can't develop a SharePoint [Today] friendly calculated column; from the abrupt to the dangerous.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F08%2Fhow-not-to-develop-a-sharepointtoday-calculated-column%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F08%2Fhow-not-to-develop-a-sharepointtoday-calculated-column%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2011/08/path-less-travelled-2.jpg"><img class="alignleft size-full wp-image-2422" title="path less travelled 2" src="http://blog.pentalogic.net/wp-content/uploads/2011/08/path-less-travelled-2.jpg" alt="" width="238" height="286" /></a>After developing <a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a>, we seriously considered expanding on this area with a Calculated Column that would allow you to use [Today] in the formula. If you’re thinking “But you can already!” I suggest looking at Ryan’s article about the <a href="http://blog.pentalogic.net/2008/11/truth-about-using-today-in-calculated-columns/" target="_blank">[Today] column trick</a>.</p>
<p>Needless to say, this would be a very useful tool for almost any SharePoint user. After much researching and prototyping we came to an unfortunate conclusion: Although it was <em>possible</em> to make a Custom Field Type to do this, it was almost certainly impractical (certainly for us).</p>
<p>The avenues we investigated finished in three types of dead-end:</p>
<ul>
<li>Brick wall: A completely impassable system limitation.</li>
<li>Overgrown with brambles: Nothing but pain for all involved.</li>
<li>Swamps: A long unpleasant slog, with an uncertain outcome.</li>
</ul>
<h3>The Brick Wall</h3>
<p>The first thought in any developer’s mind when making a variation on a class should be “Inherit it”. It allows you to take advantage of the existing class’ methods with minimal difficulty and yet offers (almost) total control over its behaviour.</p>
<p>Attempting to do so will reward you with the slightly misleading error:</p>
<blockquote><p>The type &#8216;Microsoft.SharePoint.SPFieldCalculated&#8217; has no constructors defined</p></blockquote>
<p>A brief search in the MSDN documentation for <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldcalculated.aspx" target="_blank">SPFieldCalculated</a> shows that the absence of public constructors is intentional:</p>
<blockquote><p>Windows SharePoint Services 3.0 does not support inheriting from this class.</p></blockquote>
<p>And so this avenue ended in a brick wall. More worryingly; disallowing the inheritance of a class is usually a sign that something so heinous is happening inside that Microsoft doesn’t want it reproduced.</p>
<h3>Brambles</h3>
<p>Intrigued by the promise of horrifying creatures dwelling within, I had a look inside the class to see what was happening (using my own powers of code intuition, and not any kind of questionable reverse engineering method).</p>
<p>It seems the actual calculations take place outside of the SPFieldCalculated class, using instead a call to SPRequest. This new lane of research quickly ended in spiky brambles, as using a direct call to SPRequest would make our product (and hence anything it’s installed on) unsupported by Microsoft.</p>
<p>Undeterred, I took inspiration from the billing system at my old work and looked at keeping the ‘black box of calculation mystery’ class running in the background, with the new class acting as a wrapper around it.</p>
<p>Creating a Custom Field Type that kept a hidden field for data storage in the background was an architecture we’d experimented with when creating Highlighter, so adding a relatively minor call to update the formula with the current date and time seemed quite easy.</p>
<p>The thorny ending in this case was the enormous potential server load; updating the formula every time the list was viewed (to keep it up to date) caused the entire list’s worth of calculations to be refreshed. Viewing just 20 items would make up to 5000 items recalculate their values for each of our columns on the view.</p>
<h3>Swamps</h3>
<p>The final and most desperate option was to do it ourselves: Completely rewrite all or a subset of the calculated column functions, and handle the associated function nesting.</p>
<blockquote><p>I’m DIM: Doin’ It M’self.</p></blockquote>
<p>Following this path would mean wading through the boggy and unpleasant process of <em>exactly</em> reproducing Microsoft’s function calls; avoiding the murky bottomless pools of performance issues. All the while hoping we wouldn’t run into any of the hungry and sharp-toothed show stoppers along the way.</p>
<p>As you may have guessed, we didn’t venture down this path.</p>
<h3>Why are you telling me all this?</h3>
<p>Because although these paths aren’t available to us as an ISV, it doesn’t mean they aren’t options to you (except the brick wall, of course).</p>
<p>Brambles: Using SPRequest is unsupported, but if this doesn’t deter you then this is still very much an option. Similarly, if you have an abundance of processing power (or really need a space heater in your server room) performing complete column recalculations on every view shouldn’t bother you.</p>
<p>Swamps: If you have <em>very</em> specific requirements you could get away with only recoding a few functions, which would greatly reduce the chances of you disappearing forever. Alternatively, if you have a large herd of idle developers you could set about recreating the whole set. However, I doubt this is a serious option for anyone except the head of the Microsoft Silverlight team.</p>
<table border="0">
<tbody>
<tr>
<td><img title="cheat sheet screen shot" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/cheat-sheet-screen-shot.png" alt="" width="149" height="220" /></td>
<td><iframe frameborder="0" height="230" scrolling="auto" src="http://www.pentalogic.net/sharepoint-knowledge-base/calculated-column-cheat-sheet/" width="440"></iframe></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2011/08/how-not-to-develop-a-sharepointtoday-calculated-column/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to create a Countdown in a SharePoint list</title>
		<link>http://blog.pentalogic.net/2011/05/how-to-create-a-countdown-in-a-sharepoint-list/</link>
		<comments>http://blog.pentalogic.net/2011/05/how-to-create-a-countdown-in-a-sharepoint-list/#comments</comments>
		<pubDate>Tue, 17 May 2011 08:50:00 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[Highlighter]]></category>
		<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[SharePoint Free Tools]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Countdown]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint Highlighter]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=2227</guid>
		<description><![CDATA[A summary of methods that can be used to put a countdown on a SharePoint list.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F05%2Fhow-to-create-a-countdown-in-a-sharepoint-list%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F05%2Fhow-to-create-a-countdown-in-a-sharepoint-list%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2011/05/countdown.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="countdown" border="0" alt="countdown" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/countdown_thumb.png" width="382" height="120" /></a></p>
<p>If you’ve got a list containing important dates (such as the above example), it’s very useful to be able to easily see how long is left before that date, or how long since it has passed. Unfortunately basing a calculated column on the current date isn’t supported by SharePoint natively, as discussed in my previous article: <a href="http://blog.pentalogic.net/2011/05/how-use-today-in-a-sharepoint-list/" target="_blank">How to use [Today] in a SharePoint list</a></p>
<p>So how can we work around this shortcoming without having to wave signs and shout outside Microsoft’s offices? The are a few options available to us:</p>
<ul>
<li><em>JavaScript</em>: Use a Content Editor Web Part. </li>
<li><em>Designer</em>: Create a custom view in SharePoint Designer. </li>
<li><em>Code</em>: Make your own custom field type from scratch. </li>
<li><em><a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a></em>: Buy our custom field type. </li>
</ul>
<h3 style="vertical-align: bottom">JavaScript <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="document_into83" border="0" alt="document_into83" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/document_into83.png" width="16" height="16" /></h3>
<p style="vertical-align: bottom">Since SharePoint is so uncooperative about using the current date on the server side (i.e. with a calculated column), we can wait until the information gets to our browser and fix it there with JavaScript.</p>
<p style="vertical-align: bottom">We can get JavaScript onto a page using a Content Editor Web Part, which is added just like any other web part. Christophe at Path to SharePoint has put together a script that displays the date difference on hover, that can be modified slightly to display just the countdown: <a href="http://blog.pathtosharepoint.com/2008/11/24/countdowns-a-second-method/" target="_blank">Countdowns – A second method</a></p>
<p style="vertical-align: bottom">Adding a CEWP to each page your list is displayed on can become quite arduous if it’s displayed in a lot of places. In addition to this, information in a CEWP is quite vulnerable to accidental edits, as they are accessible to any user that can edit page content.</p>
<h3 style="vertical-align: bottom">Designer <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="designer3013" border="0" alt="designer3013" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/designer3013.png" width="16" height="16" /></h3>
<p style="vertical-align: bottom">SharePoint Designer is a <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d88a1505-849b-4587-b854-a7054ee28d66" target="_blank">free</a> and powerful tool from Microsoft for customizing SharePoint. Unfortunately, because it can do so much, its use is often frowned upon by site administrators (and sometimes even banned).</p>
<p style="vertical-align: bottom">If you’re lucky enough to be allowed to use it, then (in an unusual twist) Christophe may once again be the person to look to. In a break from his many and various JavaScript solutions he’s put together a Designer solution for this problem too: <a href="http://blog.pathtosharepoint.com/2008/08/25/a-countdown-for-tasks-lists/" target="_blank">A countdown for tasks lists</a></p>
<p style="vertical-align: bottom">As with the JavaScript solution above, the Designer changes will have to be made on each view web part you want to see the countdown on, but fortunately the changes can only be overridden by someone else using Designer, or an administrator.</p>
<h3 style="vertical-align: bottom">Code <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="studio63" border="0" alt="studio63" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/studio63.png" width="16" height="16" /></h3>
<p style="vertical-align: bottom">If you already have the backbone of a custom field type coded, then adding the <a href="http://msdn.microsoft.com/en-us/library/ff606773.aspx" target="_blank">XSLT</a> to display this in 2010 should be reasonably straightforward. Alternatively this can be done within the custom field type class.</p>
<p style="vertical-align: bottom">If you’re using 2007, then <a href="http://msdn.microsoft.com/en-us/library/aa544291.aspx" target="_blank">CAML</a> rendering unfortunately fails you here, and it’s necessary to use a JavaScript workaround in one form or another.</p>
<p style="vertical-align: bottom">Creating a custom field type from scratch for this sole purpose is probably going to be remarkably costly (in terms of time). Actually making the foundations of a custom field type is a bit of an investment, but thankfully Microsoft has put together a <a href="http://msdn.microsoft.com/en-us/library/bb861799.aspx" target="_blank">walkthrough</a> to at least help you get started.</p>
<p style="vertical-align: bottom">The benefit of using this method is that columns created from a field type are displayed on every page without having to add any additional code to the page itself.</p>
<h3 style="vertical-align: bottom">SharePoint Highlighter <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="currency_dollar43" border="0" alt="currency_dollar43" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/currency_dollar43.png" width="16" height="16" /></h3>
<p>Of course, it is possible to get all the benefits of a custom field type with much less pain: Buy a commercial solution.</p>
<p>If you have a glance at out handy <a href="http://www.pentalogic.net/sharepoint-products/highlighter/product-comparison-3" target="_blank">product comparison</a>, you can see the wealth of products we managed to find that offer this functionality. So far that grand total is… One: <a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a>.</p>
<p>So if you’re looking for a commercial solution it looks like we’re the only option. If you know otherwise then please do tell us; but for the time being we’ll cheerfully carry on being the front-runner in this one horse race.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2011/05/how-to-create-a-countdown-in-a-sharepoint-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use [Today] in a SharePoint list</title>
		<link>http://blog.pentalogic.net/2011/05/how-use-today-in-a-sharepoint-list/</link>
		<comments>http://blog.pentalogic.net/2011/05/how-use-today-in-a-sharepoint-list/#comments</comments>
		<pubDate>Thu, 12 May 2011 10:25:00 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[Calculated Columns]]></category>
		<category><![CDATA[Highlighter]]></category>
		<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint Designer]]></category>
		<category><![CDATA[SharePoint Highlighter]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=2179</guid>
		<description><![CDATA[Explains why [Today] doesn't work in SharePoint calculated columns, and gives alternatives.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F05%2Fhow-use-today-in-a-sharepoint-list%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2011%2F05%2Fhow-use-today-in-a-sharepoint-list%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2011/05/today1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="today" border="0" alt="today" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/today_thumb1.png" width="314" height="124" /></a></p>
<p>Quite frequently we see <a href="http://sharepoint.stackexchange.com/questions/12341/in-a-task-list-how-can-i-display-a-message-when-within-x-days-of-due-date" target="_blank">questions</a> about using the current date to display messages on a list when a date or time is (or will soon be) overdue. Most of these queries are from frustrated users who are trying to use [Today] in a calculated column, but find it missing.</p>
<p>I’ll quickly outline why this option is missing from calculated columns, and hence why the <a href="http://blog.pentalogic.net/2008/11/truth-about-using-today-in-calculated-columns/" target="_blank">notorious [Today] trick</a> is quite so controversial. But most importantly, I’ll run you through ways to actually display the information you want.</p>
<h3 style="vertical-align: bottom">Why is [Today] missing from calculated columns?</h3>
<p style="vertical-align: bottom">When we look at a SharePoint list, the vast majority of us are instantly reminded of Excel (or <a href="http://blog.pentalogic.net/2011/02/sharepoint-and-access-power-to-the-people/" target="_blank">Grandfather Excel</a>, if you prefer). Because of this we quite reasonably expect it to act like Excel, and hence expect it to reconsider every formula and data item on the page each time we view it.</p>
<p style="vertical-align: bottom">Unfortunately because of the much larger amount of information SharePoint has to pass back and forth, it takes a different approach to updating the data items. It will only update calculated values when the related item is added or edited.</p>
<p style="vertical-align: bottom">Consider SharePoint as an overworked secretary; if you ask for a file to be updated they’ll find it in the filing cabinet, update the information, and correct anything else that’s awry on the paperwork while they’re there. If you ask for all the files for people named “Smith” to be put on your desk, unless you specifically say “And update the information on every single one while you’re at it”, it’s not likely they’ll do the extra work for no reason.</p>
<p style="vertical-align: bottom">Because of this change in records-keeping, Microsoft had to skip functionality that would make this lower-maintenance updating method obvious. Since having a [Today] option would cause unedited items to go out of date every day, they had to leave it out. The [Me] option was another casualty, as it would require checking the current user every time the data was displayed.</p>
<p style="vertical-align: bottom">So how do we get our files updated without further flustering our imaginary secretary? There are several options:</p>
<ul>
<li><em>JavaScript</em>: Use a Content Editor Web Part. Also known as “Do it yourself.”. </li>
<li><em>Designer</em>: Create a custom view in SharePoint Designer. “Ask the secretary really nicely”. </li>
<li><em>Code</em>: Make your own custom field type from scratch. “Get your own team to do it”. </li>
<li><em><a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a></em>: Our own solution to the problem. “Hire an extra secretary”. </li>
</ul>
<h3 style="vertical-align: bottom">JavaScript <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="document_into8" border="0" alt="document_into8" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/document_into81.png" width="16" height="16" /></h3>
<p>Of course there’s always a JavaScript solution, and <a href="http://www.endusersharepoint.com/2009/01/23/jquery-for-everyone-replacing-today/" target="_blank">this one in particular</a> from Paul Grenier uses jQuery to help with the process. This will mean adding the jQuery libraries to your site, and it’s also necessary to add a Content Editor Web Part to each page you want the feature to work on.</p>
<p>A little JavaScript knowledge will probably be necessary to make it fit your requirements, and as with any code tweaking, the more you know the better the result will be.</p>
<h3 style="vertical-align: bottom">Designer <img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="designer30" border="0" alt="designer30" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/designer302.png" width="16" height="16" /></h3>
<p>SharePoint Designer is a <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d88a1505-849b-4587-b854-a7054ee28d66" target="_blank">free</a> and powerful (and hence often banned) tool from Microsoft for modifying your SharePoint site. Using Designer it’s possible to alter a view so that it uses Today when rendering the data on the page. This done by modifying the view’s XSLT (the template the view uses to decide what data goes where).</p>
<p>If you’d like a dabble to test the water of such changes, MSDN has a <a href="http://msdn.microsoft.com/en-us/library/ff630941.aspx" target="_blank">nice tutorial</a> on how to get started.</p>
<p>However, if you already have some experience with Designer (or you’d like to just jump straight in), Greg Osimowicz has an article on using Today in XSLT to <a href="http://sharepointapplied.com/2009/04/23/useless-calculated-column-today-trick-xsl-today-to-the-rescue/" target="_blank">calculate holidays accrued to date</a> (scroll down to “Below are the steps I followed:”).</p>
<h3 style="vertical-align: bottom">Code <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="studio6" border="0" alt="studio6" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/studio61.png" width="16" height="16" /></h3>
<p>There are a number of possible different methods to solving this problem using a <a href="http://msdn.microsoft.com/en-us/library/bb861799.aspx" target="_blank">custom field type</a>. As always this comes with my standard disclaimer that developing a custom field type from scratch for a single purpose requires a disproportionate investment of time for the results.</p>
<p>In 2010 it’s possible to do the calculations in the custom field type class (with some light persuasion), however this is not possible with 2007 as it does not use the class to render its information on list views.</p>
<p>Unfortunately not even <a href="http://msdn.microsoft.com/en-us/library/aa544291.aspx" target="_blank">CAML</a> can save us in this instance, as the View Schema doesn’t provide the current date in a usable form. But if you’re using 2010 you may be able to create a workaround with <a href="http://msdn.microsoft.com/en-us/library/ff606773.aspx" target="_blank">XSLT</a> and Greg’s Designer XSLT solution in the section above.</p>
<p>The last option is to use the field type to get JavaScript onto the page instead of using a CEWP. This has the benefit that you don’t need to put the CEWP on each page, but as I mentioned in my previous article it can be very troublesome to do so: <a href="http://blog.pentalogic.net/2011/05/how-to-do-list-highlighting-in-sharepoint/" target="_blank">How to do list highlighting in SharePoint</a></p>
<h3 style="vertical-align: bottom">SharePoint Highlighter <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="currency_dollar4" border="0" alt="currency_dollar4" src="http://blog.pentalogic.net/wp-content/uploads/2011/05/currency_dollar41.png" width="16" height="16" /></h3>
<p>Normally this is the section where I’d talk about the benefits of a commercial solution, and try to avoid mentioning <a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a> too much (I might even link to our <a href="http://www.pentalogic.net/sharepoint-products/highlighter/product-comparison-3" target="_blank">product comparison</a> page). However, it’s very difficult to talk in general terms about commercial products on the market that have this functionality when yours is the only one that does.</p>
<p>So I’m not going to beat around the bush: If you want to buy a commercial solution to change your list view display based on today’s date, then <a href="http://www.pentalogic.net/sharepoint-products/highlighter" target="_blank">SharePoint Highlighter</a> is the only (and hence best) solution. It does much more than just this, but I’m not going to blow my trumpet too much.</p>
<p> If you want to see a real life problem and its solution using SharePoint Highlighter; have a look at this <a href="http://sharepoint.stackexchange.com/questions/10205/check-if-more-than-3-hours/11317#11317" target="_blank">SharePoint Overflow question</a>.      </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2011/05/how-use-today-in-a-sharepoint-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editing The SharePoint List Item Menu (Part 3: Other Uses)</title>
		<link>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-3-other-uses/</link>
		<comments>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-3-other-uses/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 14:33:48 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[SharePoint Ideas]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=1777</guid>
		<description><![CDATA[In previous posts I’ve used the “Open in new window” function to illustrate the two different methods of adding to the List Item menu, or Edit Control Block (ECB) to use its catchier name. Part 1 covered the CustomAction element; the developer-leaning Visual Studio method. Part 2 avoided any kind of dedicated program by doing [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-3-other-uses%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-3-other-uses%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In previous posts I’ve used the “Open in new window” function to illustrate the two different methods of adding to the List Item menu, or Edit Control Block (ECB) to use its catchier name.</p>
<p><a href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/" target="_blank">Part 1</a> covered the CustomAction element; the developer-leaning Visual Studio method. <a href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/" target="_blank">Part 2</a> avoided any kind of dedicated program by doing the same directly in SharePoint using Javascript in a Content Editor Web Part (CEWP); for power users or those with software commitment issues.</p>
<p>In this section I’ll be looking at some more interesting, and possibly useful, extra options to illustrate the potential of these kinds of enhancements. These can also be used as stubs to produce more complex functionality along the same lines.</p>
<p>I’ve purposefully kept these changes low-touch (avoiding AJAX libraries for example), to make them quick to try out without installing any additional dependencies.</p>
<p>In each example I’ll give a snippet of code for using a CustomAction or Javascript; these will be brief, as they assume you’ve read my earlier posts.</p>
<h3>E-mail a task</h3>
<p>This example adds a link that pre-populates a new e-mail with some information from the selected task. It uses the good old ’mailto:’ to open the default mail program for the client machine. If you don’t have a default mail client then, well, it won’t (harsh but fair).</p>
<p>This can be used as a quick way to create nagging e-mails for task owners, or to highlight tasks that may be of interest to others.</p>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/menuemail1.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="menuemail" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/menuemail_thumb1.png" border="0" alt="menuemail" width="170" height="130" /></a><a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/email.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="email" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/email_thumb.png" border="0" alt="email" width="173" height="130" /></a></p>
<p>To add this option using Javascript, add the following to a CEWP:</p>
<p><code> &lt;script type="text/javascript"&gt;      <br />
function getMailTo (ID)       <br />
{       <br />
var taskTitleLink = document.getElementById(ID).firstChild;      <br />
var mailTo = 'mailto:?subject=';       <br />
mailTo += encodeURIComponent(taskTitleLink.innerHTML);       <br />
mailTo += '&amp;body=';       <br />
mailTo += encodeURIComponent('An intriguing task...\n\nTitle: ' + taskTitleLink.innerHTML + '\n');       <br />
mailTo += encodeURIComponent('Link: ' + taskTitleLink.getAttribute('href'));          <br />
return mailTo;       <br />
} </code></p>
<p>function Custom_AddListMenuItems(m, ctx)       <br />
{       <br />
CAMOpt(m,&#8217;E-mail&#8217;,'window.location=getMailTo(&#8216; + currentItemID+ &#8216;);&#8217;,'/_layouts/images/EMAILPST.PNG&#8217;);       <br />
return false;       <br />
}       <br />
&lt;/script&gt;</p>
<p>To produce the same result using a CustomAction, using almost the same Javascript in the link; the following UrlAction should be used:</p>
<p><code>&lt;UrlAction Url="javascript:window.location='mailto:?subject='+encodeURIComponent(document.getElementById({ItemId}).firstChild.innerHTML)+'&amp;amp;body='+encodeURIComponent('An intriguing task...\n\nTitle: '+document.getElementById({ItemId}).firstChild.innerHTML+'\n')+encodeURIComponent('Link: '+document.getElementById({ItemId}).firstChild.getAttribute('href'));"/&gt;</code></p>
<p>The differences between the two (other than the infrastructure used) are as follows:</p>
<ol>
<li>UrlActions are <span style="text-decoration: line-through;">ugly</span> not amenable to declaring Javascript functions in an readable way. </li>
<li>URL in an UrlAction is  wrapped in a Javascript function (STSNavigate) when rendered in the OnMenuClick event attribute, so it needs the javascript: prefix to use such. The Javascript version is put in the same event attribute, but without the wrapping function no prefix is needed. </li>
<li>currentItemId and {ItemId} both get the current List Item’s ID in their own contexts. </li>
</ol>
<p>The code in both of the above examples take advantage of the fact the Title and link are within the <code>div</code> that shares this item’s ID. Using this method limits the amount of information we can get our hands on. We can get a little more using <code><a href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/" target="_blank">GetAttributeFromItemTable</a></code>, but to get all the information we’d have to use some <a href="http://weblogs.asp.net/jan/archive/2009/05/06/querying-sharepoint-list-items-using-jquery.aspx" target="_blank">more contrived methods</a>.</p>
<h3>Shorten an item link<a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/menushorten.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="menushorten" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/menushorten_thumb.png" border="0" alt="menushorten" width="172" height="130" align="right" /></a></h3>
<p>This option opens a new window to <a href="http://tinyurl.com/" target="_blank">tinyurl</a>’s site with the task’s abbreviated link posted through. If you’re using an earlier version of Flash than 10 (rather you than me) it’ll even put it in the clipboard for you.</p>
<p>As you may have previously seen, SharePoint links are often a nest of GUIDs. This allows a neat little link to be produced instead: great for optimising scary archaic communication methods such as paper documents or VoYP (Voice over Yoghurt Pot).</p>
<p>I’ve used tinyurl simply because you can send the link to be shortened in a querystring, and nothing else is needed. Much as I love fetching API tokens and/or posting plain text login details, I used the most straightforward method for brevity’s sake.</p>
<p><code> &lt;script type="text/javascript"&gt;      <br />
function getShortenUrl(ID)       <br />
{       <br />
var shortenUrl = 'http://tinyurl.com/create.php?url=';       <br />
shortenUrl += encodeURIComponent(document.getElementById(ID).firstChild.getAttribute('href'));       <br />
return shortenUrl;       <br />
} </code></p>
<p>function Custom_AddListMenuItems(m, ctx)       <br />
{       <br />
CAMOpt(m,&#8217;Shorten&#8217;,'window.open(getShortenUrl(&#8216; + currentItemID+ &#8216;));&#8217;,'/_layouts/images/LINK.GIF&#8217;);       <br />
return false;       <br />
}       <br />
&lt;/script&gt;</p>
<p>There is very little difference between the two implementations, except as mentioned in the previous section.</p>
<p><code>&lt;UrlAction Url="javascript:window.open('http://tinyurl.com/create.php?url='+encodeURIComponent(document.getElementById({ItemId}).firstChild.getAttribute('href')));"/&gt;</code></p>
<h3>Copy to clipboard (IE only)<a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/menuclipboard.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="menuclipboard" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/menuclipboard_thumb.png" border="0" alt="menuclipboard" width="166" height="130" align="right" /></a></h3>
<p>A slightly more obvious method of copying an item’s direct link to the clipboard than the right-click menu. Handy for quick intuitive copying, or for broken mice.</p>
<p>Unfortunately this functionality is restricted to Internet Explorer (which covers most SharePoint users). Alternative solutions and their problems are covered pretty comprehensively on <a href="http://stackoverflow.com/questions/400212/how-to-copy-to-clipboard-in-javascript" target="_blank">this Stack Overflow question</a>.</p>
<p><code>&lt;script type="text/javascript"&gt;      <br />
function setClipboard(ID)       <br />
{       <br />
window.clipboardData.setData('text',document.getElementById(ID).firstChild.getAttribute('href'));       <br />
} </code></p>
<p>function Custom_AddListMenuItems(m, ctx)       <br />
{       <br />
if (window.clipboardData)       <br />
{       <br />
CAMOpt(m,&#8217;Copy to clipboard&#8217;,'setClipboard(&#8216; + currentItemID+ &#8216;);&#8217;,'/_layouts/images/CLP16.GIF&#8217;);       <br />
}       <br />
}       <br />
&lt;/script&gt;</p>
<p>The above sample takes advantage of the Javascript method’s flexibility, and does not display the option if the <code>window.clipboard</code> object is not present (i.e. not IE). But due to the restrictive nature of the Custom Action, we don’t have that ability.</p>
<p><code>&lt;UrlAction Url="javascript:if(window.clipboardData){window.clipboardData.setData('text',document.getElementById({ItemId}).firstChild.getAttribute('href'))}"/&gt;</code></p>
<h3>Conclusion</h3>
<p>The two methods of adding to the List Item menu each have their own benefits and restrictions.</p>
<p><a href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/" target="_blank">The CustomAction method</a> allows site-wide distribution and can be bundled with other CustomAction modifications (such as changes to the command ribbon), but it lacks flexibility and has very little granularity in its release (an entire list type). It also requires Visual Studio, and access to install such features.</p>
<p><a href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/" target="_blank">Using Javascript in a CEWP</a> is very flexible and much more readable for anything more than a very straightforward action. It can be added by power users rather than developers, without even using SharePoint Designer. Unfortunately it has to be added on every target view individually. If the Javascript was added to the master page it would result in an even less targeted release than the CustomAction option.</p>
<p>Both of these methods have very little item data to hand, but both can be greatly extended by making use of AJAX calls to SharePoint Web Services, 3rd party services, or custom pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-3-other-uses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editing The SharePoint List Item Menu (Part 2: Using Javascript)</title>
		<link>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/</link>
		<comments>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 16:37:40 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[SharePoint Ideas]]></category>
		<category><![CDATA[SharePoint webparts]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=1719</guid>
		<description><![CDATA[Editing the SharePoint list item menu using Javascript.  This method allows non developers with view and edit SharePoint Permissions to customize the list item menu without using Visual Studio or SharePoint designer.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-2-using-javascript%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-2-using-javascript%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuBefore2.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="MenuBefore" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuBefore_thumb2.png" border="0" alt="MenuBefore" width="240" height="126" align="right" /></a>Following on from Part 1 of this series which covered <a title="Editing the SharePoint List Item Menu (Part 1: Using Elements)" href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/" target="_blank">Editing the SharePoint List Item Menu Using Elements</a>, I thought it would valuable to reproduce the same results without using Visual Studio or SharePoint designer (Part 4 will be to do it without a monitor). This method will allow non-developers with view edit access to customise the List Item Menu.</p>
<p>In this example, a ‘View (new window)’ option will once <a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuAfter2.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="MenuAfter" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuAfter_thumb2.png" border="0" alt="MenuAfter" width="240" height="141" align="right" /></a>again be added to each item’s context menu to avoid the modal box, as illustrated to the right. Although as <a href="http://blog.pathtosharepoint.com/">Christophe</a> helpfully pointed out in response to Part 1, the modal boxes can be banished under the list’s Advanced settings. Fortunately there are many other uses for these techniques, as we will see in Part 3.</p>
<p>This example uses a Content Editor web part, which means the Javascript can be added on a view-by-view basis. This allows a more targeted release and can be added by any user with permissions to edit the view. However, it makes widespread distribution more difficult; putting the function in a master page can overcome this but will implement it for every item menu on every list.</p>
<p><span id="more-1719"></span>The steps to set this up are surprisingly straightforward:</p>
<ul>
<li>Navigate to the view you wish to customise </li>
<li>In Edit Page add a Content Editor web part (Click “Add a web part” then find it under “Media and Content” in 2010 or “Miscellaneous” in 2007) </li>
<li>Edit the web part and set it to Hidden (under the Layout tab) </li>
<li>Click the body of the web part and click the Edit HTML button under the Format Text section, choosing “Edit HTML Source” in 2010 (“Source Editor…” in 2007). </li>
<li>Paste in the below code and finish editing </li>
</ul>
<p>This Javascript function’s name is checked for and called by the code that produces the rest of the menu, as described by <a href="http://msdn.microsoft.com/en-us/library/aa505327.aspx#wsstipstricks_customizingthecontextmenuofdocumentlibraryitems">MSDN</a>. This allows us to add items to the menu before the rest of the options are added:</p>
<p><code> &lt;script type="text/javascript"&gt;</p>
<p> function Custom_AddListMenuItems(m, ctx)<br />
 {<br />
 CAMOpt(m,'View (new window)','javascript:window.open(\'DispForm.aspx?ID=' + currentItemID + '\');','/_layouts/images/LIST.GIF');<br />
 return false;<br />
 }</p>
<p> &lt;/script&gt; </code></p>
<blockquote><p>The <code>CAMOpt</code> function adds the option to the menu; with the menu reference, title, URL, and icon URL being passed in as parameters respectively.</p>
<p>Finally, the last line <code>return false</code> ensures the rest of the menu is shown. If set to True, the menu rendering function does not show the default options.</p>
<p>A nice addition to the above would be the <code>CAMSep(m)</code> function; this would add a separator to the menu (as between the ‘Edit Item’ and ‘Manage Permissions’ options). This is functionality not offered by the CustomAction method, and left out to produce an identical menu to that in <a title="Editing the SharePoint List Item Menu (Part 1: Using Elements)" href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/" target="_blank">Part 1</a>. <a href="http://weblogs.asp.net/jan/archive/2009/09/04/customizing-the-sharepoint-ecb-with-javascript-part-2.aspx">Jan Tielens</a> illustrates this, as well as submenus (also Javascript-only).</p>
</blockquote>
<p>Interestingly, the <code>currentItemId</code> variable is set in the context of this function call, which contains the current Item ID (as expected). Additionally, a reference to the field’s container is held the variable <code>itemTable</code>. This can be used to get some quite useful information by calling the <code>GetAttributeFromItemTable</code> function with an appropriate attribute name (<a href="http://www.sharepoint-tips.com/2007/05/meanings-of-variables-in-context-menus.html">Ishai Sagi</a> has a list of possibilities).</p>
<p>The following would get the URL for an item (equivalent to {ItemUrl} in a CustomAction):</p>
<p><code>var currentItemUrl=GetAttributeFromItemTable(itemTable, "Url", "ServerUrl");</code></p>
<p>The second and third parameters are the possible attribute names. It seems from the INIT.js that they are checked in the displayed order for values, and either can be set to <code>null</code> if only one attribute name is to be checked.</p>
<p>So now we have the same functionality using a CustomAction in Visual Studio (<a title="Editing the SharePoint List Item Menu (Part 1: Using Elements)" href="http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/" target="_blank">Part 1</a>) or using Javascript through the standard web interface. In Part 3, we’ll expand into functionality using both of these techniques to further enhance the item menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-2-using-javascript/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Editing The SharePoint List Item Menu (Part 1: Using Elements)</title>
		<link>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/</link>
		<comments>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 12:39:02 +0000</pubDate>
		<dc:creator>Stuart Pegg</dc:creator>
				<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[SharePoint Ideas]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=1664</guid>
		<description><![CDATA[Customize SharePoint List Items context menu. How to add options to the context menu of list items in SharePoint, using a CustomAction in Visual Studio.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-1-using-elements%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F11%2Fediting-the-sharepoint-list-item-menu-part-1-using-elements%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/popup.png"><img style="background-image: none; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border-width: 0px;" title="The lovable modal box" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/popup_thumb.png" border="0" alt="The lovable modal box" width="219" height="185" align="right" /></a>While copying my rapidly lengthening scribbled to do list into a SharePoint Tasks list, my unconscious habit of middle-clicking items to come back to was being constantly foiled. Instead of opening a new tab the modal box kept popping up in the middle of my screen (new to 2010 I hear).</p>
<p>The drop-down menu options did exactly the same, leaving no alternative but to right-click the item, copy the link, manually open a new tab, paste it in, and switch back; much too much like hard work. So I decided to add an option to open the item in a new window… in retrospect probably harder work than just putting up with it.</p>
<div style="text-align: center; float: right;"><a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuBefore.png"><img style="background-image: none; margin: 0px 0px 5px 4px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="The default item menu" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuBefore_thumb.png" border="0" alt="The default item menu" width="220" height="115" /></a> <br />
 <a href="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuAfter.png"><img style="background-image: none; margin: 0px 0px 5px 4px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="The modified item menu" src="http://blog.pentalogic.net/wp-content/uploads/2010/11/MenuAfter_thumb.png" border="0" alt="The modified item menu" width="220" height="133" /></a></div>
<p>As a result, this is a brief run-through of how to add options to the context menu of list items in SharePoint, using a CustomAction in Visual Studio. For using JavaScript to the same ends, see Part 2: Using JavaScript (coming soon).</p>
<p><span id="more-1664"></span>To start with all you need to do is:</p>
<ol>
<li>Create a new Empty SharePoint Project </li>
<li>Add a Feature </li>
<li>Add a new Empty Element to the project </li>
</ol>
<p>Detailed instructions on this, as well as an even briefer CustomAction example, can be found on <a href="http://msdn.microsoft.com/en-us/library/ff394532.aspx">MSDN</a>.</p>
<p>Within the element&#8217;s Elements.xml you&#8217;ll need to add a CustomAction element; below is my example for the ‘new window’ link:</p>
<p><code> </code></p>
<p><code style="font-size: 8pt;">&lt;?xml version="1.0" encoding="utf-8"?&gt;        <br />
 &lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&gt;         <br />
 &lt;CustomAction         <br />
 Id="ECBViewNewWindow"         <br />
 RegistrationType="List"         <br />
 RegistrationId="107"         <br />
 Location="EditControlBlock"         <br />
 Sequence="199"         <br />
 Title="View (new window)"         <br />
 Description="Open this item in a new window (rather than a modal box)"         <br />
 ImageUrl="/_layouts/images/LIST.gif"&gt;         <br />
 &lt;UrlAction         <br />
 Url="javascript:window.open(‘DispForm.aspx?ID={ItemId}');"         <br />
 /&gt;         <br />
 &lt;/CustomAction&gt;         <br />
 &lt;/Elements&gt;         <br />
 </code></p>
<p>A summary of the CustomAction class can be found <a href="http://msdn.microsoft.com/en-us/library/ms460194(v=office.14)">here</a>. Although this summarises each of the fields, there are a few items of note in the example:</p>
<blockquote><p><strong>Location</strong></p>
<p>EditControlBlock is the internal name for the context menu; more locations (including the ribbon and other menus) can be found on the catchily named <a href="http://msdn.microsoft.com/en-us/library/bb802730.aspx">Default Custom Action Locations and IDs</a>.</p>
<p><strong>RegistrationId</strong></p>
<p>In the example this is 107 (the Tasks list); <a href="http://techtrainingnotes.blogspot.com/2008/01/sharepoint-registrationid-list-template.html">Mike Smith</a> has put together a very comprehensive list of possibilities with descriptions, with some helpful notes on usage. The custom action will be added for every list of the type referred to, within the scope of the feature (Site or Site Collection).</p>
<p><strong>Sequence</strong></p>
<p>Some fiddly work with the inspect option in Chrome’s developers tools (Firebug for Firefox is a comparable alternative) showed the sequence number for the existing “View Item” link to be 200 on the Tasks list. 199 puts it one above, although the default options appear to have gaps of 20 (“Edit Item” is 220).</p>
<p><strong>ImageUrl</strong></p>
<p>Although this can be used to put any image as the action icon on the menu, I’ve opted to use one of SharePoint’s built-in icons for ease of deployment. These can usually be found in:</p>
<p><code style="font-size: 8pt;">C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\IMAGES</code></p>
<p>As per the rather useful <a href="http://technet.microsoft.com/en-us/library/cc288250(office.12).aspx">Special Directories and Storage Locations</a>.</p>
<p><strong>UrlAction</strong></p>
<p>In the example I’ve used Javascript to open a new window, after seeing a helpful comment from the previously mentioned Mike Smith on an otherwise lacklustre <a href="http://msdn.microsoft.com/en-us/library/ms478271(office.12)">UrlAction reference</a>.</p>
<p>In the Url attribute is also an <a href="http://hristopavlov.wordpress.com/2008/12/08/urlaction-tokens-of-the-customaction-feature/">UrlAction Token</a> {ItemId}. This token is used to get the item ID, which has then been posted to the DispForm.aspx page to be viewed. Posting to EditForm.aspx would provide open an edit page instead.</p>
</blockquote>
<p>This method is a very straightforward way to add actions to the item drop-down menu, but unfortunately lacks the ability to remove or edit the existing actions. The only way of doing this is via the Javascript route.</p>
<p>The broad coverage of the CustomAction to all lists of a certain type within the feature’s scope allows easy widespread distribution over many lists, with the disadvantage that targeted release (e.g. to a single list in a site with many of the same type) is not possible.</p>
<p>Part 2 will cover how  to do the above example using Javascript, avoiding Visual Studio altogether. Then in Part 3 we’ll move on to some much more interesting examples (sending chaser e-mails, getting a shortened URL) and which method suits them best.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/11/editing-the-sharepoint-list-item-menu-part-1-using-elements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SharePoint Terminology &#8211; Farms, Web Front Ends, Web Application and Sites</title>
		<link>http://blog.pentalogic.net/2010/07/sharepoint-terminology-farm-web-application-site-collection-top-level-site/</link>
		<comments>http://blog.pentalogic.net/2010/07/sharepoint-terminology-farm-web-application-site-collection-top-level-site/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 15:11:29 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint Development]]></category>
		<category><![CDATA[SharePoint Ideas]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Farm]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Terminology]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=1159</guid>
		<description><![CDATA[Find out what SharePoint terms like Farm, WFE, NLB, Web Application, Site Collection and Top Level Site mean - without getting too technical!]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F07%2Fsharepoint-terminology-farm-web-application-site-collection-top-level-site%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F07%2Fsharepoint-terminology-farm-web-application-site-collection-top-level-site%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>There is a great deal of confusion around some terms related to the different levels of SharePoint hierarchy. Some of this is buzword overload and some  has been brought about by inconsistent usage from Microsoft (and to be fair actually most of us in this industry).</p>
<div>
<div>So if you&#8217;ve ever wondered what things like <strong>Farm, WFE, NLB, Web Application, Site Collection </strong>and <strong>Top Level Site</strong> mean I am going to try and clarify the different terms without getting too technical as some of this stuff needs to be know by advanced, or power, users. I&#8217;ve missed out some of the more esoteric things like managed paths in the interests of readers sanity.</div>
<div>
<p><br class="spacer_" /></p>
<p><span id="more-1159"></span><strong> </strong></div>
<h3><strong>General Terms</strong></h3>
<h4><strong>Request</strong></h4>
<ul>
<li>When you load a page each element (including the page itself) makes a request to SharePoint and receives some data &#8211; which can be html, images, files etc.</li>
</ul>
<h4><strong>Network Load Balancer (NLB)</strong></h4>
<ul>
<li>A device to distribute requests from your users browsers to the Web Front Ends</li>
</ul>
<h3><strong>Web Front Ends &#8211; (WFE)</strong></h3>
<ul>
<li>A collection of servers that take requests from users (via the NLB), process them and return the data.</li>
<li>This is the primary method for scaling &#8211; as the number of users grow you add more WFE&#8217;s.</li>
</ul>
<h3><strong>Database</strong></h3>
<ul>
<li>The database servers store all volatile data (i.e. data that changes) in SharePoint.</li>
<li>You have exactly 1 configuration database and 1 to many content databases.</li>
<li>Each content database can only be on 1 server (more technically if you consider failover servers) but you can have different content databases on different servers &#8211; another method of scaling with increased load.</li>
</ul>
<h3>Authorisation and Authentication</h3>
<ul>
<li>Authentication is the process of deciding WHO a user is.</li>
<li>Authorization is the process of deciding WHAT they can do.</li>
<li>IIS (the web server) handles Authentication alongside things like Active Directory and SharePoint handles authorization.</li>
<li>Authentication methods include things like Anonymous, Basic, Forms, Integrated (NTML/Kerberos and Claims).</li>
</ul>
<h3>Farm</h3>
<div>
<ul>
<li>A collection of servers (web, database, index) that together make up a SharePoint Installation &#8211; aka Topology.</li>
<li>You can do all this (web/datababase/index etc) on a single server in &#8220;Simple Installation&#8221; mode in which case you don&#8217;t need a NLB. For many small businesses this is plenty enough.</li>
<li>Medium sized businesses usually start with at least 2 Web Front Ends (WFE&#8217;s) and a database server.</li>
<li>Multinationals can have some very complex setups involving <a href="http://www.mikethearchitect.com/2009/11/new-sharepoint-2010-architecture-models.html">dozens of components</a>.</li>
</ul>
</div>
<div id="attachment_1180" class="wp-caption aligncenter" style="width: 312px"><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/Farm-Topology.png"><img class="size-full wp-image-1180" title="Farm Topology" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/Farm-Topology.png" alt="Simple sharepoint farm topology" width="302" height="246" /></a><p class="wp-caption-text">A common small SharePoint Farm topology - two WFE servers and a database server.</p></div>
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td valign="top">
<p><br class="spacer_" /></p>
<h3 style="font-size: 1.17em;">Levels of the SharePoint Hierarchy</h3>
<p>When you hear someone talking about &#8216;Scope&#8217; this is what they mean.</p>
<p><br class="spacer_" /></p>
</td>
<td>
<p><br class="spacer_" /></p>
<p><img class="size-full wp-image-1184 aligncenter" title="Hierarchy" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/Hierarchy.png" alt="SharePoint Hierarchy - Web Application, Site Collection, Top Level Site, Sites, Sub Sites" width="298" height="334" /></p>
<p><br class="spacer_" /></p>
</td>
</tr>
</tbody>
</table>
<h3>Farm</h3>
<div>
<ul>
<li>The entire installation as a whole. So if something has &#8220;Farm&#8221; level scope it applies to everything.</li>
</ul>
</div>
<h3>Web Application</h3>
<div>
<ul>
<li>An IIS Website that has been configured to run SharePoint. </li>
<li>Can only be created in the Central Admin UI (or via the STSADM tools etc)</li>
<li>A Farm has one running the central administration site and 1 to many others running normal SharePoint sites.</li>
<li>This is generally how the main part of the URL is defined &#8211; e.g. http://somesite.yourcompany.com and http://othersite.yourcompany.com will be separate Web Applications.</li>
<li>This authentication method is set at the Web Application level &#8211; though you can have the same content (i.e. SharePoint site) delivered by two different web applications with two different authentication methods.</li>
<li>Port and network card bindings, host headers and a host of other networky stuff is set at the Web Application level &#8211; so if you want external users, for example, to have access to a site that would apply at the Web Application level (you can apply more granular restrictions using authorization security though).</li>
<li>The Application Pool (the account that SharePoint runs under and the resources that it can consume) are also set at the Web Application level.</li>
</ul>
</div>
<div style="padding-left: 30px;"><em>Note &#8211; Used to be known as &#8220;Virtual Server&#8221; before the days of Virtualization technologies.</em></div>
<div style="padding-left: 30px;"><em><br />
 </em></div>
<div style="text-align: center;"><em><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/IIS-Manager.png"><img class="aligncenter size-full wp-image-1169" title="IIS-Manager" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/IIS-Manager.png" alt="IIS Manager - Web Applications" width="522" height="297" /></a><br />
 </em></div>
<div style="text-align: center;"><em><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/central-admin-2010-manage-web-applications.png"><img class="aligncenter size-full wp-image-1168" title="central-admin-2010-manage-web-applications" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/central-admin-2010-manage-web-applications.png" alt="SharePoint 2010 Central Administration - Web Applications" width="549" height="315" /></a><br />
 </em></div>
<h3><strong>Site Collection</strong></h3>
<div>
<ul>
<li>Each web application has at least 1 Site Collection (but can have many).</li>
<li>Each Site collection has exactly 1 &#8216;Top Level Site&#8217;.</li>
<li>The Site Collection doesn&#8217;t actually contain anything itself - that is down to the Top Level Site.</li>
<li>This is the level that things like the Recycle bin and Quotas are organised at.</li>
<li>Each <a href="http://blogs.msdn.com/b/mcsnoiwb/archive/2007/08/20/how-to-create-site-collection-in-a-specific-content-database.aspx" target="_blank">site collection can only use a single content database</a> (though multiple site collections can us the same content database) &#8211; this has major design implications as there are <a href="http://blogs.msdn.com/b/joelo/archive/2007/01/31/tips-on-site-collection-sizing.aspx" target="_blank">maximum recommended sizes for a content database</a>.</li>
</ul>
</div>
<p style="text-align: center;"><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/central-admin-site-collection.png"><img class="size-full wp-image-1173  aligncenter" title="central-admin-site-collection" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/central-admin-site-collection.png" alt="SharePoint Central Administration - Site Collections" width="601" height="248" /></a></p>
<h3>Top Level Site</h3>
<div>
<ul>
<li>A Top Level Site is a site&#8230; at the top level&#8230; see &#8211; this terminology is not that confusing after all <img src='http://blog.pentalogic.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Most of the time we can use Top Level Site and Site Collection interchangeably - in fact Microsoft do this all the time.</li>
<li>Each Top Level Site has zero to many sub-sites (simply called sites)</li>
<li>This is the lowest level that many things can be scoped to, for example only the Top Level site contains a web part Gallery so you can&#8217;t say Collection X, Site A can have a web part but Collection X, Site B can&#8217;t.</li>
<li>When you look at Site Settings in a top level site you will see the highlighted sections &#8211; in a sub site you will not. Both are called Sites in the UI.</li>
</ul>
</div>
<p><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/sharepoint-top-level-site-settings.png"><img class="aligncenter size-full wp-image-1174" title="sharepoint-top-level-site-settings" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/sharepoint-top-level-site-settings.png" alt="SharePoint top level site settings" width="652" height="394" /></a></p>
<p><strong>Site</strong></p>
<div>
<ul>
<li>(aka Web&#8217;s) &#8211; these are the actual sites that you use. </li>
<li>A site can be a top-level site or a sub site of the top level site. </li>
<li>A site can also have other sites &#8211; these are called sub-sites.</li>
<li>Sub sites can also have other sub sites and so on.</li>
<li>A site can inherit its parent&#8217;s permissions or define its own &#8211; more on this complex subject in a future article.</li>
</ul>
</div>
<div id="attachment_1177" class="wp-caption aligncenter" style="width: 623px"><a href="http://blog.pentalogic.net/wp-content/uploads/2010/07/sharepoint-site.png"><img class="size-full wp-image-1177" title="sharepoint-site" src="http://blog.pentalogic.net/wp-content/uploads/2010/07/sharepoint-site.png" alt="A SharePoint Site" width="613" height="291" /></a><p class="wp-caption-text">Finally a Site! - the thing that you actually use and what most of us think as &quot;SharePoint&quot;</p></div>
<p><strong>References</strong></p>
<div>
<div>
<ul>
<li><a href="http://technet.microsoft.com/en-us/sharepoint/ee518671.aspx" target="_blank">TechNet &#8211; Creating Your First Web Application, Site Collection and Web Site</a></li>
<li><a href="http://technet.microsoft.com/en-us/library/cc262321.aspx">TechNet &#8211; Farm topology management</a></li>
</ul>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/07/sharepoint-terminology-farm-web-application-site-collection-top-level-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 Resources</title>
		<link>http://blog.pentalogic.net/2010/05/sharepoint-2010-resources/</link>
		<comments>http://blog.pentalogic.net/2010/05/sharepoint-2010-resources/#comments</comments>
		<pubDate>Thu, 27 May 2010 15:05:54 +0000</pubDate>
		<dc:creator>Clare</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=863</guid>
		<description><![CDATA[Last week we had an email from a customer who was confused about his options for SharePoint 2010. He was planning to move his 5 WSS site across to SharePoint 2010 Foundation &#8211; but had found this document from Microsoft: http://sharepoint.microsoft.com/en-us/buy/Pages/Licensing-Details.aspx which seems to suggest that sites and Workspaces were not available in Foundation, only [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F05%2Fsharepoint-2010-resources%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F05%2Fsharepoint-2010-resources%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<table border="0">
<tbody>
<tr>
<td>
<p>Last week we had an email from a customer who was confused about his  options for SharePoint 2010.</p>
<p>He was planning to move his 5 WSS site across to SharePoint 2010 Foundation &#8211;  but had found this document from Microsoft:</p>
</td>
<td><a href="http://blog.pentalogic.net/wp-content/uploads/2010/05/gI_sharepoint2010.png.jpg"><img class="alignright size-full wp-image-864" title="gI_sharepoint2010.png" src="http://blog.pentalogic.net/wp-content/uploads/2010/05/gI_sharepoint2010.png.jpg" alt="SharePoint 2010Resources" width="250" height="123" /></a></td>
</tr>
</tbody>
</table>
<p><a title="SharePoint 2010 Features" href="http://sharepoint.microsoft.com/en-us/buy/Pages/Licensing-Details.aspx" target="_blank">http://sharepoint.microsoft.com/en-us/buy/Pages/Licensing-Details.aspx</a></p>
<p>which seems to suggest that sites and Workspaces were not available in Foundation, only in SharePoint 2010 standard edition or above.  Well we knew this wasn&#8217;t right;  but that wasn&#8217;t what the info from Microsoft seemed to be saying.</p>
<p>This gave us a reminder of just how confusing our friends at Microsoft can make things.  So we thought we would gather together some handy resources for all of you who may be thinking of moving over to SharePoint 2010. As always we have focussed mainly on users and administrators.  I hope you find it useful.</p>
<p><span id="more-863"></span></p>
<p>First a proper list of <strong>features</strong> for the different SharePoint 2010 versions:</p>
<p><a href="http://sharepoint.microsoft.com/en-us/buy/Pages/Editions-Comparison.aspx" target="_blank">http://sharepoint.microsoft.com/en-us/buy/Pages/Editions-Comparison.aspx</a></p>
<p>If you want to<strong> download the free SharePoint 2010 Foundation</strong> version here&#8217;s the link:</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=49c79a8a-4612-4e7d-a0b4-3bb429b46595&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyID=49c79a8a-4612-4e7d-a0b4-3bb429b46595&amp;displaylang=en</a></p>
<p>Or for the 180 day<strong> free trials of the paid versions of SharePoint 2010</strong> try this one:</p>
<p><a href="http://sharepoint.microsoft.com/businessproductivity/products/pages/try-it.aspx?bannerId=2#fbid=xIIGCkpQnQK" target="_blank">http://sharepoint.microsoft.com/businessproductivity/products/pages/try-it.aspx?bannerId=2#fbid=xIIGCkpQnQK</a></p>
<p>For a <strong>Virtual Hard Drive</strong>, pre-configured with everything you need to get a trial up and running quickly try this:</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=751FA0D1-356C-4002-9C60-D539896C66CE&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?familyid=751FA0D1-356C-4002-9C60-D539896C66CE&amp;displaylang=en</a></p>
<p>Then take a look at the <strong>walk through guide:</strong></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=8c619bef-008b-4af2-9687-8a05848fea97" target="_blank">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=8c619bef-008b-4af2-9687-8a05848fea97</a></p>
<p>Take a look at Microsoft&#8217;s SP 2010 end user <strong>training materials </strong>here:</p>
<p><a href="http://sharepoint.microsoft.com/en-us/resources/Pages/End-User-Training-Guide.aspx" target="_blank">http://sharepoint.microsoft.com/en-us/resources/Pages/End-User-Training-Guide.aspx</a></p>
<p>Online training sessions on installing, upgrading, branding and social media coming up in June 2010, from SharePoint 911 &#8211; $99 per session.</p>
<p><a href="http://www.sharepoint911.com/training/Pages/2010Training.aspx" target="_blank">http://www.sharepoint911.com/training/Pages/2010Training.aspx</a></p>
<p>Basic free end user training videos from point8020.  These aren&#8217;t really highlighting differences between 2010 and earlier SP versions, but they are all done in 2010 and there are lots of them, so could be good for the new user:</p>
<p><a href="http://www.point8020.com/SharePointEndUserTraining.aspx" target="_blank">http://www.point8020.com/SharePointEndUserTraining.aspx</a></p>
<p>On the <strong>books</strong> front, Amazon already has an impressive list. You can get SharePoint 2010 for Dummies on paper or Kindle (I do like my &#8220;Dummies&#8221; books !)</p>
<p><a href="http://www.amazon.com/SharePoint-2010-Dummies-Vanessa-Williams/dp/0470476435/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-2" target="_blank">http://www.amazon.com/SharePoint-2010-Dummies-Vanessa-Williams/dp/0470476435/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-2</a></p>
<p>or &#8220;Professional SharePoint 2010 Administration&#8221; in the generally reliable Wrox series:</p>
<p><a href="http://www.amazon.com/Professional-SharePoint-2010-Administration-Klindt/dp/0470533331/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-3" target="_blank">http://www.amazon.com/Professional-SharePoint-2010-Administration-Klindt/dp/0470533331/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-3</a></p>
<p>And in the same series &#8220;Professional Workflow 4 in SharePoint 2010&#8243;:</p>
<p><a href="http://www.amazon.com/Professional-Workflow-SharePoint-2010-Solutions/dp/0470617888/ref=sr_1_13?ie=UTF8&amp;s=books&amp;qid=1274959947&amp;sr=1-13" target="_blank">http://www.amazon.com/Professional-Workflow-SharePoint-2010-Solutions/dp/0470617888/ref=sr_1_13?ie=UTF8&amp;s=books&amp;qid=1274959947&amp;sr=1-13</a></p>
<p>&#8220;Building the SharePoint 2010 user Experience&#8221; from Apress also looks interesting for anyone who is a SharePoint champion within their organization:</p>
<p><a href="http://www.amazon.com/Building-SharePoint-2010-User-Experience/dp/1430227753/ref=sr_1_11?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-11" target="_blank">http://www.amazon.com/Building-SharePoint-2010-User-Experience/dp/1430227753/ref=sr_1_11?ie=UTF8&amp;s=books&amp;qid=1274957537&amp;sr=1-11</a></p>
<p>There are lots more books out there, but mostly aimed at developers or focussed on specific features like BCS.</p>
<p>If you&#8217;re a<strong> developer</strong> you might want to take a look at these:</p>
<div>
<p>Setting up a  development environment:</p>
</div>
<div>
<p><a href="http://msdn.microsoft.com/en-us/library/ee554869.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ee554869.aspx</a></p>
</div>
<div>
<p>Getting Started Developing in 2010:</p>
</div>
<div>
<p><a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" target="_blank">http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx</a></p>
</div>
<div>
<p>Hands  on Lab:</p>
</div>
<div>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&amp;displaylang=en</a></p>
</div>
<div>
<p>And of course you should always RTFM! &#8211; the 2010 SDK:</p>
</div>
<div>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f0c9daf3-4c54-45ed-9bde-7b4d83a8f26f&amp;displayLang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyID=f0c9daf3-4c54-45ed-9bde-7b4d83a8f26f&amp;displayLang=en</a></p>
</div>
<p>And then finally <strong>the most valuable SharePoint 2010 </strong>resource of all is clearly our own fabulous range of <a title="Pentalogic SharePoint webparts" href="http://www.pentalogic.net/" target="_blank">Pentalogic webparts for SharePoint</a>, which are all 2010 ready!</p>
<p>Sorry, I just couldn&#8217;t help myself!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/05/sharepoint-2010-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Site Templates: KISS guide to creating, saving and using</title>
		<link>http://blog.pentalogic.net/2010/04/sharepoint-site-templates-kiss-guide-to-creating-saving-and-using/</link>
		<comments>http://blog.pentalogic.net/2010/04/sharepoint-site-templates-kiss-guide-to-creating-saving-and-using/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 15:03:22 +0000</pubDate>
		<dc:creator>Clare</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint Ideas]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=736</guid>
		<description><![CDATA[A site is the key place within SharePoint to bring together all the people, content and activities associated with a particular process, project or group.  And if the process or project is regularly repeated within your organization having a site template for it saves a lot of time and helps to ensure consistency and facilitate [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F04%2Fsharepoint-site-templates-kiss-guide-to-creating-saving-and-using%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F04%2Fsharepoint-site-templates-kiss-guide-to-creating-saving-and-using%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A site is the key place within SharePoint to bring together all the people, content and activities associated with a particular process, project or group.  And if the process or project is regularly repeated within your organization having a site template for it saves a lot of time and helps to ensure consistency and facilitate continuous improvement.</p>
<p>There are any number of scenarios where you might use a SharePoint site template, for this example we are using a recruitment process, but you could equally well set one up for any regularly repeated process or project you manage: training courses, audits, conferences and sales exhibitions, product testing, office moves, procurement, risk assessment, staff appraisals – the list goes on.</p>
<p>SharePoint comes with some Out of the Box Templates, there are other available on-line, free or to purchase.  But all of these are “off the peg” options: great if you are short on time, but they’re not going to be a perfect fit for your business processes.</p>
<p>To get a SharePoint template that fits your processes perfectly you are going to have to make your own &#8211; and thankfully it’s exceptionally easy to do – so here’s how.</p>
<p><span id="more-736"></span><br class="spacer_" /></p>
<h3>First Create your Site</h3>
<p>Before you even switch on your computer you need to sit down and think about the business process you are working with: the content, activities and people you will bring together in your site template.</p>
<p>So for our Recruitment Site Template we have:</p>
<ul>
<li>Recruitment Procedures: hiring policy, pay scales, interviewers guidelines, equal opportunities policy etc.</li>
<li>Recruitment Forms: application form, equal ops monitoring form, interview score card, pro forma letters.</li>
<li>Recruitment Interview Scheduling: calendar of scheduled 1<sup>st</sup> and 2<sup>nd</sup> interviews/assessment centres.</li>
<li>Hiring Managers and HR: internal contacts involved in the hire</li>
<li>Approved Staffing Agencies: with agreed terms and conditions and contact details</li>
<li>Candidates and Applications: original application documents, status tracking and notes.</li>
</ul>
<p>I am sure there is more, but you get the idea, you need to think about the content, people and processes you want to bring together in your site template.</p>
<p><em><strong>So, now you can switch on your computer!</strong></em></p>
<p>You need to be a “Site Owner” to create a site template. Your SharePoint administrator will be able to tell you whether you have the permissions you need – and if you don’t ask the administrator nicely and they might grant you some extra permissions.</p>
<p>You can’t actually create a site template from scratch in SharePoint – you first have to create a site and then save it as a template.</p>
<p>So, first create your site.</p>
<p>Decide where you want your site to appear  - for a recruitment site you might well want it to be a sub-site of a main HR site.  So from the “Site Actions” menu, in the site that you want as your parent site, choose “Create” from the drop down,</p>
<p><img class="aligncenter size-full wp-image-737" title="create site" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/create-site.png" alt="create site" width="331" height="231" /></p>
<p>Then from the list of options choose “Sites and Workspaces” from the Web Pages list.</p>
<p><img class="aligncenter size-full wp-image-748" title="sandw2" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/sandw2.png" alt="sandw2" width="359" height="170" /></p>
<p>On the “New SharePoint Site” page there isn’t much you need to do.  Give the site a name, in this case “Recruitment” seemed to make sense, give it a URL – best done by just adding the name of your site, and from the “Select a Template” box choose either Blank or Team Site – either will do just as well.</p>
<p><img class="aligncenter size-full wp-image-749" title="blank-site" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/blank-site.png" alt="blank-site" width="441" height="558" /></p>
<p>Click &#8220;Create&#8221; and you&#8217;ve finished.</p>
<p><br class="spacer_" /></p>
<h3>Add Some Stuff in Your Site</h3>
<p>Now go back to your list of the people, content and activities that make up your process and think about how best to handle them within SharePoint.  Remember that the cardinal rule of content managment within SharePoint is that we only want to have one version of any one item of content, so you need to spend some time thinking about what content needs to exist within the sites that you will be creating from your template, and what content already exists elsewhere, so that you can simple provide links to it.</p>
<p>In our example we have we have set up:</p>
<ul>
<li><strong>Document Libraries </strong>for applications and proforma recruitment documents (so things like blank Job Descriptions and Invitations to interview, where we will want to keep completed versions of the documents for our records) configured with metadata. </li>
<li>a <strong>Forms Library</strong> for our equal opportunities monitoring forms,</li>
<li>a <strong>Wiki</strong> for recruitment notes,</li>
<li>a <strong>Calendar List</strong> for organizing our interviews</li>
<li>a <strong>Tasks List</strong></li>
<li><strong>Content Editor Web Part &#8211; </strong>to display links to relevant information located within the main HR site, like Recruitment Procedures.<strong><br />
 </strong></li>
<li>and some <strong>List View Web Parts</strong> on the main page, to let us see what happening easily.</li>
</ul>
<p>You can save to your template pretty much anything you see from the “Create” page within your site:  any kind of list or library, communication, tracking, sub-site or page.</p>
<p>You can configure these as you want them.  You can also add and save content as part of the template if you wish.  So in our example the “Applications” document library is empty, but the “Pro Forma documents&#8221; library is populated with recruitment documents which, within the sites created from our template, will all be populated with data unique to each individual recruitment.   You need to decide where you need content, and where you just need to set up a structure, or add a link to content which exists elsewhere.  For example in this site we are providing a link within our Content Editor Webpart to the &#8220;Recruitment Procedures&#8221; manual, which is located in the main HR site.  By using a link we ensure that everyone using sites created from our template is accessing the most up to date version of the manual.</p>
<p>You can also save all your site settings, including look and feel, to the template.</p>
<p><em><strong><span style="color: #ff0000;">What can’t you save to your Template?</span></strong></em></p>
<p>You can’t save alert settings.</p>
<p><em><strong><br />
 </strong></em></p>
<h3>Save Your Custom Site Template</h3>
<p>Having set up your site and filled it with all the stuff you need, you can now save it as a template, a very simple process again.</p>
<p>From the “Site Actions” tab, choose “Site Settings”, then under “Look and Feel” choose “Save site as Template”</p>
<p>As we discussed earlier, you will very probably want to “Save Content” and you’re done.</p>
<p><img class="aligncenter size-full wp-image-764" title="ssat3" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/ssat3.png" alt="ssat3" width="634" height="459" /><br class="spacer_" /></p>
<h3>Create a Site from Your Custom Template</h3>
<p>Right, so now we have our site template, lets create a new site from it.  In our example we are going to hire a SharePoint Trainer, so from our Recruitment site “Site Actions” tab we are going to choose “Create” and then under the Web Pages heading, choose “Sites and Workspaces”.</p>
<p>We are going to go through exactly the same process here as we did to create our Recruitment site. Name the site “SharePoint Trainer”, create a URL, but this time when we get to “Select a Site Template” we are going to choose the “Custom” tab and choose “Recruitment” from the drop down list.  Then click “Create”</p>
<p><img class="aligncenter size-full wp-image-766" title="create site from template" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/create-site-from-template.png" alt="create site from template" width="467" height="556" /></p>
<p><br class="spacer_" /></p>
<p>So now we have our site for recruit our SharePoint trainer, ready to populate with documents, events and list items specific to this particular recruitment</p>
<p><br class="spacer_" /></p>
<p><img class="aligncenter size-full wp-image-776" title="sptrain-blank" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/sptrain-blank.png" alt="sptrain-blank" width="682" height="325" /><br class="spacer_" /></p>
<p>and here it is once we have put some data into it:</p>
<p><br class="spacer_" /></p>
<p><img class="aligncenter size-full wp-image-778" title="sptrainer-filled5" src="http://blog.pentalogic.net/wp-content/uploads/2010/04/sptrainer-filled5.png" alt="sptrainer-filled5" width="649" height="246" /><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>A site template that&#8217;s tailor made for your own business processes with just a couple of hours work aren&#8217;t you the clever one!</p>
<p><br class="spacer_" /></p>
<h3>Need to Update Your Template?</h3>
<p>So let’s say your recruitment policy changes and you need to update your template – how do we do that?</p>
<p>You can’t just “save changes to a template”.  You will need to create a whole new template.  It’s not as bad as it sounds.</p>
<p>Just go to your “Recruitment” site, make the changes you needed, then save as a template called “Recruitment v2” or some other name different from the name of your first template.  However once you&#8217;ve done this you will be left with 2 versions of your Recruitment Template for people to choose from, and you know what’s going to happen.</p>
<p>So we would recommend that you delete the original template to avoid confusion.</p>
<p>Go to the very top level of your site and from the “Site Actions” tab select “Site Settings”.</p>
<p>From the “Galleries” list select “Site Templates”, click on “edit” next to the template you want to get rid of, click “delete” and you’re done.</p>
<p>So, that’s our brief run down on Site Templates and how to use them.  We hope you found it useful – and if you have any other tips on the subject we would love to hear them.</p>
<p><br class="spacer_" /></p>
<h3>Further Reading</h3>
<p>Microsoft&#8217;s free &#8220;fab 40&#8243; SharePoint templates:</p>
<p><a href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx" target="_blank">http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx</a></p>
<p>Microsoft free role based templates for My Sites:</p>
<p><a href="http://office.microsoft.com/en-us/sharepointserver/ha102147321033.aspx" target="_blank">http://office.microsoft.com/en-us/sharepointserver/ha102147321033.aspx</a></p>
<p>For a different take on how to create templates:</p>
<div><a href="http://www.fpweb.net/sharepoint-tutorials/CreateSiteTemplate.asp" target="_blank">http://www.fpweb.net/sharepoint-tutorials/CreateSiteTemplate.asp</a></div>
<div><a href="http://office.microsoft.com/en-us/sharepointserver/HA101577801033.aspx?pid=CH101237721033" target="_blank">http://office.microsoft.com/en-us/sharepointserver/HA101577801033.aspx?pid=CH101237721033</a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<div>And for a look at how things work in SharePoint 2010:</div>
<div><a href="http://www.toddbaginski.com/blog/archive/2009/11/20/which-sharepoint-2010-site-template-is-right-for-me.aspx" target="_blank">http://www.toddbaginski.com/blog/archive/2009/11/20/which-sharepoint-2010-site-template-is-right-for-me.aspx</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/04/sharepoint-site-templates-kiss-guide-to-creating-saving-and-using/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SharePoint Partner Perspective: Veronique Palmer</title>
		<link>http://blog.pentalogic.net/2010/04/sharepoint-partner-perspective-veronique-palmer/</link>
		<comments>http://blog.pentalogic.net/2010/04/sharepoint-partner-perspective-veronique-palmer/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 07:46:20 +0000</pubDate>
		<dc:creator>Clare</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.pentalogic.net/?p=675</guid>
		<description><![CDATA[This is the first in a series of interviews with our partners  &#8211; giving insights into what&#8217;s happening in their part of the world and in their part of the world of SharePoint. And our first interviewee is Veronique Palmer. We first met Veronique in discussions on the SharePoint Experts Group on LinkedIn, which she [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:right; margin-top:-100px; clear:both;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F04%2Fsharepoint-partner-perspective-veronique-palmer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pentalogic.net%2F2010%2F04%2Fsharepoint-partner-perspective-veronique-palmer%2F&amp;source=pentalogic&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<table border="0">
<tbody>
<tr>
<td>
<p>This is the first in a series of interviews with our partners  &#8211; giving insights into what&#8217;s happening in their part of the world and in their part of the world of SharePoint.</p>
<p>And our first interviewee is Veronique Palmer.</p>
<p>We first met Veronique in discussions on the <a href="http://www.linkedin.com/groups?gid=42512" target="_blank">SharePoint Experts Group</a> on LinkedIn, which she co-manages and moderates.  Veronique is based in Johannesburg, South Africa and is owner and founder of <a href="http://www.letscollaborate.co.za/" target="_blank">Lets Collaborate</a>.</p>
</td>
<td><img class="alignright size-full wp-image-676" title="veronique" src="http://blog.pentalogic.net/wp-content/uploads/2010/03/veronique.jpg" alt="veronique" width="127" height="174" /></td>
</tr>
</tbody>
</table>
<h4><span id="more-675"></span></h4>
<h4>So, tell us what&#8217;s good about living and working in Johannesburg?</h4>
<p>The energy!  There are a lot of dynamic people here and things get done!  If you’re running a business, Jo’burg is where you want to be.  I work mostly in Sandton which is pretty much the financial capital of Africa, the pace is hectic and it sure ain’t for sissies.  We have fantastic restaurants, lots of vibey outdoors places to sit under the African sun and relax over an extended lunch.  There are also a multitude of awesome getaway spots – 6 hours and you’re on the beach, 1 hour and you’re in the bush, 3 hours and you’re in the mountains, 5 hours and you’re in the snow, 45 minutes and you’re on a dam (lake) or river.  We’re also a Soccer World Cup host city which the whole country is excited about!</p>
<h4>How did you first get into SharePoint?</h4>
<p>During my interview at the last company I worked for, they asked me if I knew anything about SharePoint.  I’d never even heard about it until that day, 17 November 2006.  I started playing with it the day I started and was hooked from then on! I volunteered for the project, a new position was eventually created for me and I ran with it.  Taught myself, attended some training, and then learnt the hard way, hands on – which in a company consisting of 43 000 users over 2 and a half years, was definitely the hard way.  Certified in 2008 on Implementing MOSS 2007, busy studying for the 2010 exams.  I was very lucky to have a brilliant architect to work for, Marcus Portmann, who believed in me from day one and did everything in his power to support and help me, we remain friends to this day.  Looking back now, I don’t know how I worked my whole life without SharePoint; it’s like trying to remember how we did things before mobile phones.   We certainly can’t live without either now.</p>
<h4>Why did you decide to start Lets Collaborate?</h4>
<p>Because I love providing great customer service, training and end user support! I take great pride in offering the best service in the world!  I always provide my direct contact details and do my utmost to respond as quickly as possible should any of my clients have any questions during or after the engagement.  I’ll never forget what it was like being on the other side and how frustrating it was not being able to get timely answers to any problems I had after training.   Poor training and not being there for students afterwards results in users getting frustrated then hating SharePoint or following very bad practices – and the whole system collapses.</p>
<p>Another reason I started <a href="http://www.letscollaborate.co.za/" target="_blank">Lets Collaborate</a> was that there was a niche in the market for onsite, beginner level training and solutions based on configuring SharePoint out of box as opposed to custom-development.   It is also far easier to support application solutions based on out of box configurations than it is to support custom-developed solutions. It seemed no vendors were interested in out of box solutions.</p>
<p>After being invited to become a team lead on our local SharePoint user group, I hosted a business forum.  All the business users were having the same problems I was regarding training, support and guidance.  I always thought that if I could have had one person sit with me for just one day or even a couple of hours, it would have saved me 2 years worth of work.  Once I figured it all out and realized it doesn’t take that much time to help someone, I decided to do something about it.  That was 8 months ago.  I’m now the only vendor (and only woman) in the country offering the services I do.</p>
<h4>What services do you offer your clients?</h4>
<p>A <a href="http://www.letscollaborate.co.za/" target="_blank">website</a> full of tips and tricks and information for SharePoint beginners, the only one of its kind.</p>
<p>Onsite end user training, consulting and out of box configuration – I’m a floor walker, for lack of a better description, and help out with error resolution, advise on how to best make use of the technology for the relevant business issue, attend meetings in an advisory capacity.  My clients use me as a sanity check.</p>
<p>I do present one of the Microsoft course outlines, but designed 6 of my own <a href="http://www.letscollaborate.co.za/courses.html" target="_blank">streams</a> instead because I found that the curriculums in the market were disconnected from what was happening on the ground.  I insist that users stagger their training in order to put the skills I teach them into practice, having 3 or 5 days back to back training doesn’t work because it’s information overload.  They also can’t attend the intermediate or advanced courses without attending the preceding course.  As I mentioned above, I offer ongoing support to anyone that has contracted my services and guarantee a response to any query they have.  To date I am the only local vendor that does this.</p>
<p>I brand user manuals if required, but supply LC manuals if not.</p>
<p>My pride and joy is my <a href="https://docs.google.com/viewer?url=http://www.letscollaborate.co.za/SharePoint%25202007%2520Course%2520Outline%2520-%2520Mentorship%2520v3.0.pdf" target="_blank">Mentorship Program</a> which is designed to create an in-house SharePoint Super Star.  Skills are near impossible to find, so I train them up for you.  Every bit of knowledge I have is transferred to the delegate, and I’ve seen them soar to heights I’m sure even they didn’t think possible.  It can be expensive and take up to a year, but it is SO worth it.  To the best of my knowledge, this is also the only course of its kind world-wide.</p>
<p>The consulting leg of my business entails governance plans, user adoption and implementation strategies, file share analysis, site reviews and assessments, etc and then configuring out of box solutions. So far it’s a great balance between teaching and solutions delivery. Building evangelism sites is my favourite pastime.  I’ve got some great projects lined with my clients for the next couple of months too. Guiding business through the adoption process to avoid the common pitfalls is sorely lacking so that is a very big focus for Lets Collaborate this year.</p>
<p>Right now I’m working closely with Rob Kronick in Canada to revolutionize SharePoint training in large organisations and the approach we’re trailblazing is:</p>
<ul>
<li>Training Streams – Not Just Training Courses.</li>
<li>Training SharePoint Processes – Not Just SharePoint Components.</li>
<li>After-the-course Refresher Materials Too – Not Just Training Materials.</li>
<li>Your Way – Not Just Our Way.</li>
<li>A Broader Vision of Training – Not Just A Parochial View.</li>
</ul>
<p>I take my clients and what I do very very seriously, so to optimize the training service I provide I only allow 8 people per class.  I’ve tried bigger groups but it just doesn’t work.  My credo is quality, not quantity.  I must be doing something right because all my business to date has been from word of mouth.  I haven’t advertised anywhere yet apart from postings on my <a href="http://veroniquepalmer.wordpress.com/" target="_blank">blog</a> and I’m fully booked 4 – 6 weeks in advance.</p>
<h4>What is the most common problems that clients come to you with?</h4>
<ul>
<li>Permissions management – hands down the biggest problem at any client I have ever been to.  The <a href="https://docs.google.com/viewer?url=http://www.letscollaborate.co.za/SharePoint%25202007%2520Course%2520Outline%2520-%2520Permissions%2520v2.2.pdf" target="_blank">Permissions course</a> I designed was to address this, all Site Owners and Administrators are required to attend Permissions training now.  80% of all the support calls come from this area so this training has become crucial to curb this.</li>
<li>Understanding the difference between intranet and team sites, how to set them up and manage them.</li>
<li>Then finally, bulk uploading documents from file shares onto SharePoint without any analysis of the information.  Getting to grips with the concept of <a href="http://www.letscollaborate.co.za/How%20To%20-%20Metadata%20to%20Replace%20Subfolders.pdf" target="_blank">metadata</a> is not easy for our business users, (let alone content types); it’s a very hard sell.  But once they see the working example and the lights go on, there’s no going back, (most of the time anyway, still a few die-hards out there).</li>
</ul>
<h4>What changes are you seeing in the way client&#8217;s use SharePoint?</h4>
<p>Business users are getting smarter quicker!  SharePoint used to be used primarily as a document store, but they are starting to see the power of the platform and starting to experiment with the different ways of presenting and retrieving information instead of in the traditional Word, Excel or PowerPoint documents and subfolders. It’s very exciting, they’re getting it! Which is great because this is supposed to be a business tool after all. Momentum is definitely building.  If there’s one in the crowd that’s still hesitant, all I have to say is ‘learn this, and you’ll never have to wait for IT to do your stuff again’.  Sold, then and there.  Traditional IT has to watch out, business is catching up monumentally fast.  …  But then again, maybe it’s my great training that’s paying off !  I see business users wanting to take ownership of their sites now, and doing a good job of it.  My clients surprise me constantly at the cool ways they come up with to use the platform – and 99% of the time all out of box without a single line of code.</p>
<h4>What is your personal favourite SharePoint feature?</h4>
<p>No question – wikis and custom lists.  I use them for everything every day.  Excel spreadsheets and Word docs are soooo 2008!</p>
<h4>What is your own biggest frustration with SharePoint?</h4>
<p>The lack of support and information for business users when 99.9% of SharePoint consumers are business users. … But I’m working on that, got some exciting plans for this year which I can’t reveal yet.   The size of this platform and how much there is to learn, for non-techies it is extremely overwhelming and it is very hard to find a mentor willing to share their expertise and support, (again one of the reason’s I started my own company).</p>
<h4>If you could send a wish list to Microsoft, with things you would like them to add to, or fix in SharePoint, what would be the top 3 things on the list?</h4>
<p>This list is based on what my users primarily work with every single day.  I’m also commenting on 2007 because I don’t know 2010 well enough yet so this list may be a mute point :</p>
<ul>
<li>The big button on the site that once clicked automatically downloads all SharePoint knowledge directly into your brain.</li>
<li>On surveys and custom lists – the ability to put headings between questions / columns anywhere you’d like.</li>
<li>Ability to put hyperlinks onto pictures in wikis as well as being able to import a picture into a wiki by browsing like you can in a Content Editor Web Part.</li>
</ul>
<h4>What is the number one piece of advice that you would give to a client about to deploy SharePoint?</h4>
<p>Plan plan plan!  Don’t just start creating site collections and sites without the bigger picture in mind.  Your information architecture can make or break your implementation.  Get help when you need it.</p>
<p>But just as important – get Executive buy-in and a support team in place and trained first before you roll it out to business, (especially in large organisations).  They will catch up to you faster than you can ever imagine.  Then make sure your training and governance plans support user adoption sufficiently.</p>
<p>Finally – communicate, weekly!!  Don’t keep your business users in the dark, it will come back to bite you.</p>
<h4>How do you think SharePoint 2010 is going to impact on your business?</h4>
<p>All my clients are still on 2007 and not planning on upgrading for a couple of years, but I’m planning on slowly learning  2010 in the interim so that I can be ready when they are.  Impact on my business?  Right now, it’s just one more thing I need to do on top of an already packed schedule.  I don’t consult and train on something I’m not comfortable with.  I am acutely aware of the responsibility that comes with what I do and the potential impact it can have; I owe it to my clients to make sure I know my story before trying to guide them.</p>
<h4>We hear you may be doing quite a bit of travelling in the next few months &#8211; what 3 things can&#8217;t you leave home without?</h4>
<p>You heard right!  Watch this space.  I couldn’t leave home without my camera, iPhone and hand cream!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pentalogic.net/2010/04/sharepoint-partner-perspective-veronique-palmer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

