<?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>Agile Sharepoint development by 21apps and Andrew Woodward MVP &#187; SharePoint</title>
	<atom:link href="http://www.21apps.com/category/sharepoint/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.21apps.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 10:19:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Firefox: Not SharePoint Foundation compatible.. or is it?</title>
		<link>http://www.21apps.com/sharepoint/firefox-plugin/</link>
		<comments>http://www.21apps.com/sharepoint/firefox-plugin/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 20:00:16 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1358</guid>
		<description><![CDATA[Many people use Firefox as the browser of choice.  I myself make use of it for the excellent FireBug add-in.  If you do use Firefox against your SharePoint sites you will have see the, how would you say, different experience when working with document libraries. The most common being the error message:

’The document could not [...]]]></description>
			<content:encoded><![CDATA[<p>Many people use Firefox as the browser of choice.  I myself make use of it for the excellent FireBug add-in.  If you do use Firefox against your SharePoint sites you will have see the, how would you say, different experience when working with document libraries. The most common being the error message:</p>
<p><a href="http://www.21apps.com/wp-content/uploads/2010/07/SharePointCompatible.png"><img class="wlDisabledImage" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePoint Compatible" src="http://www.21apps.com/wp-content/uploads/2010/07/SharePointCompatible_thumb.png" border="0" alt="SharePoint Compatible" width="548" height="79" /></a></p>
<p>’The document could not be opened for editing. A Microsoft SharePoint Foundation compatible application could not be found to edit the document.’</p>
<p>The error is misleading because like most people you do have an application like Microsoft Office installed that will be able to edit the document in question.</p>
<h3>The Problem</h3>
<p>Documents are associated with a particular application via the DOCICON.XML file.  More information on this file and how it works in <a href="http://msdn.microsoft.com/en-us/library/ms463701.aspx" target="_blank">Understanding DocIcon.xml files</a>. In Internet Explorer the browser has the ActiveX control integrated that allows it to marshal the call to the associated application.</p>
<p>Firefox does not include this ActiveX control and reports, although not a very good error message, that there is no compatible applications.</p>
<h3>Office 2010 to the rescue</h3>
<p>As part of the installation of Office 2010 Microsoft have included a plug-in for Firefox that allows Firefox to work correctly in the form of the <a href="http://msdn.microsoft.com/en-us/library/ff407576.aspx" target="_blank">FFWinPlugin Plug-in</a>. </p>
<p>As with the rest of the SharePoint the user experience is almost identical regardless of the browser used.</p>
<h3>Not a golden bullet</h3>
<p>With SharePoint 2010 support for IE6 was removed, with good reason and to the delight of many UI designers. The problem is a lot of organisations take time to move there desktops, often locked into IE6 because of fixes added to applications to over come IE6 problems.</p>
<p>Getting SharePoint 2010 into these environments is a challenge and using Firefox is one of the olny real options available – short of a desktop refresh. These older desktops will also likely be running older versions of Office.</p>
<p>Unfortunately the Firefox plug-in is provided as part of Office 2010!  Leaving these users with a different experience.  Hopefully Microsoft will see that this Firefox Plug-in is really useful and release it as a standalone installation to make it available to those that can’t yet move to Office 2010 or IE8.</p>
<h3>Minor Bug with Office 2010</h3>
<p>There is a KB article which details an issue with the Plug-in  when the document library is set to Require Check Out.  <a title="http://support.microsoft.com/kb/979634" href="http://support.microsoft.com/kb/979634">http://support.microsoft.com/kb/979634</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/firefox-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint: Why do alert emails work but others don&#8217;t?</title>
		<link>http://www.21apps.com/sharepoint/why-do-alert-emails-work-but-others-dont/</link>
		<comments>http://www.21apps.com/sharepoint/why-do-alert-emails-work-but-others-dont/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 14:23:59 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Email]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1340</guid>
		<description><![CDATA[Problem
We have set up the correct email SMTP server in Central Administration and everyone is receiving their email alerts correctly.  When we add new users to the site it always fails to send the email reporting an error has occurred.
Investigation
The error in the SharePoint ULS logs shows that the SMTP server connection failed. 
Cannot connect to [...]]]></description>
			<content:encoded><![CDATA[<h3>Problem</h3>
<p>We have set up the correct email SMTP server in Central Administration and everyone is receiving their email alerts correctly.  When we add new users to the site it always fails to send the email reporting an error has occurred.</p>
<h3>Investigation</h3>
<p>The error in the SharePoint ULS logs shows that the SMTP server connection failed. </p>
<p><span style="font-family: Courier New;">Cannot connect to SMTP host your.smtp.server</span></p>
<h3>Analysis</h3>
<p>For any SMTP testing you rely on Telnet by running the command</p>
<p><span style="font-family: Courier New;">telnet your.smtp.server 25</span></p>
<p>This is likely to fail as well with a similar error,  which immediately leads you to the conclusion that the there is a problem with the SMTP server. </p>
<p>However there is a niggling doubt – if the SMTP server is not working how do the alert emails get sent?</p>
<h3>Root Cause</h3>
<p>After a bit of investigation the problem can be traced back to the Anti Virus software.  You will likely have checked the Firewall and ensured that it was not blocking and thought nothing of the Anti Virus as this isn’t really what it’s for.</p>
<p>However most Anti Virus software will have some form of Email Worm protection built in and this will be enabled.  In my example the server had McAfee Anti Virus installed and has a protection called:</p>
<p>“Prevent Mass Mail Worms form sending emails”</p>
<p>Editing the properties shows an include wild card (* &lt;&lt; meaning everything) and a list of excluded applications.  In this list of applications you will find OWSTIMER.EXE.</p>
<p>OWSTIMER.EXE is the SharePoint Timer Service and is used to send all email alerts.</p>
<h3>Fix</h3>
<p>Add W3WP.EXE to the list of excluded applications and McAfee Anti Virus will then allow your emails from forms like the Add Users page to be sent as well.</p>
<p>W3WP.exe is the worker process used by IIS to run your SharePoint sites.</p>
<p>The problem was not related to how SharePoint was configured but down to the fact that SharePoint sends emails using a number of processes and each of these need to be allowed to use SMTP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/why-do-alert-emails-work-but-others-dont/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Retreat London (part 3 of 3)</title>
		<link>http://www.21apps.com/sharepoint/spretreat-london-part3/</link>
		<comments>http://www.21apps.com/sharepoint/spretreat-london-part3/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 19:27:03 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint Retreat]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1325</guid>
		<description><![CDATA[Part 1 – SharePoint Retreat
Part 2 – What a day!
Part 3 – Going forward
Retrospective
For any activity I find the best way to improve is to review the positives and the negatives and then action the most important parts. Over the years of doing this I have found that a couple of techniques work very well [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.21apps.com/?p=1313">Part 1 – SharePoint Retreat</a></p>
<p><a href="http://www.21apps.com/?p=1319" target="_blank">Part 2 – What a day!</a></p>
<p>Part 3 – Going forward</p>
<h3>Retrospective</h3>
<p>For any activity I find the best way to improve is to review the positives and the negatives and then action the most important parts. Over the years of doing this I have found that a couple of techniques work very well – especially for new teams or groups that don’t normally work together.</p>
<p>Allow a set amount of time,  for SPRetreat it was 30 minutes, and then ask the people present what were the positives and negatives about the event.  The floor is open to any comments from the activities, organisation, people, location, food, value of the event etc.  The idea is to capture everything, to have some discussion to clarifyand record the comments. </p>
<p>Every comment is valuable feedback, but like all good agile techniques deal with the most important things first.  To get the most important things highlighted you ask the team to allocate their votes  (each person gets 4 votes they can place against any comment).  Allowing allocation of votes on the positive comments means you make sure these don’t change when you try to fix the negatives.</p>
<p>The feedback we got from the first event was</p>
<p><a href="http://www.21apps.com/wp-content/uploads/2010/07/Retrospective.jpg"><img class="wlDisabledImage" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Retrospective" src="http://www.21apps.com/wp-content/uploads/2010/07/Retrospective_thumb.jpg" border="0" alt="Retrospective" width="522" height="630" /></a> </p>
<table border="1" cellspacing="0" cellpadding="2" width="521">
<tbody>
<tr>
<td width="271" valign="top"><strong>Positives</strong></td>
<td width="248" valign="top"><strong>Negatives</strong></td>
</tr>
<tr>
<td width="271" valign="top">Full day Saturday</td>
<td width="248" valign="top">More enforcement on muscle memory techniques</p>
<p> </td>
</tr>
<tr>
<td width="271" valign="top">Varied solutions – perhaps need more devs</p>
<p> </td>
<td width="248" valign="top">More input from presenters</td>
</tr>
<tr>
<td width="271" valign="top">Learning</td>
<td width="248" valign="top">Not able to improve code based on the problem set, not enough code in solution</p>
<p> </td>
</tr>
<tr>
<td width="271" valign="top">Enforced swapping of pairs</p>
<p> </td>
<td width="248" valign="top">Not sure what to expect from the day</td>
</tr>
<tr>
<td width="271" valign="top">Time boxing and 5 x 1 hour session</td>
<td width="248" valign="top">Need prereqs before the event to help setup laptops</p>
<p> </td>
</tr>
<tr>
<td width="271" valign="top">Good way to understand and discuss SharePoint</td>
<td width="248" valign="top">Send out WSP to help setup things like data, templates</p>
<p> </td>
</tr>
<tr>
<td width="271" valign="top">Have two streams (or more)<br />
- Dev<br />
- Architect/Solution</p>
<p> </td>
<td width="248" valign="top">No BBQ</td>
</tr>
<tr>
<td width="271" valign="top">Need to rerun the event to clarify feedback</td>
<td width="248" valign="top">London based &lt;&lt; not ideal for everyone</p>
<p> </td>
</tr>
<tr>
<td width="271" valign="top">London based &lt;&lt; good location to get to</p>
<p> </td>
<td width="248" valign="top"> </td>
</tr>
<tr>
<td width="271" valign="top">Venue &lt;&lt; Wifi, coffee, water, space, air con</p>
<p> </td>
<td width="248" valign="top"> </td>
</tr>
</tbody>
</table>
<h3>Actions</h3>
<p>From the feedback the actions should be:</p>
<p>- Keep the event on Saturday and running for a full day</p>
<p>- Split the event and have more focused learning</p>
<p>- Keep people moving around at each session and keep them pairing</p>
<p>- Improve the communication about the event</p>
<p>- Provide more guidance and resources to help with setup</p>
<h3>Going Forward</h3>
<p>Based on the feedback above I will be working on the next SharePoint Retreat Events.  Expect SharePoint retreats to become more regular and to spread out to other locations.</p>
<p>I have already had some offers of help in setting up future events; if you feel you would like to get involved – perhaps host your own SharePoint Retreat or would like to become a sponsor – please <a href="http://www.21apps.com/contact/" target="_blank">contact me via 21apps</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/spretreat-london-part3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint Retreat London (part 2 of 3)</title>
		<link>http://www.21apps.com/sharepoint/spretreat-london-part2/</link>
		<comments>http://www.21apps.com/sharepoint/spretreat-london-part2/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 12:55:09 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePint]]></category>
		<category><![CDATA[SharePoint Retreat]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1319</guid>
		<description><![CDATA[Part 1 – SharePoint Retreat
Part 2 – What a day!
Part 3 – Going forward
The Problem
Cross sell component
============================
Requirements:
A client wants to be able to have a component on a page which can be used to drive traffic to other areas of their site.
The setting of the problem actually had a fairly big impact on the way [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.21apps.com/?p=1313" target="_blank">Part 1 – SharePoint Retreat</a></p>
<p>Part 2 – What a day!</p>
<p><a href="http://www.21apps.com/sharepoint/spretreat-london-part3/">Part 3 – Going forward</a></p>
<h3>The Problem</h3>
<blockquote><p>Cross sell component</p>
<p>============================</p>
<p>Requirements:</p>
<p>A client wants to be able to have a component on a page which can be used to drive traffic to other areas of their site.</p></blockquote>
<p>The setting of the problem actually had a fairly big impact on the way the day went – we captured some some ideas in the feedback at the end of the day that I will cover in <a href="http://www.21apps.com/sharepoint/spretreat-london-part3/">Part 3</a>.</p>
<h3>The sessions</h3>
<p><strong>Session 1 and 2</strong></p>
<p>During the first two sessions there was a lot of discussion around the problem and ways to solve it, what the scope was and if this provided enough information.  Some teams took the opportunity to question the client (Ben Robb) and ask further details about the problem space.  It was very clear from the way the session went that the people in the room tender to deal with the bigger deployment issues and less on the coding. </p>
<p><a title="The problem" href="http://www.flickr.com/photos/10785452@N00/4787303887/"><img src="http://static.flickr.com/4080/4787303887_1ec0d8ff3d.jpg" border="0" alt="The problem" /></a></p>
<p> </p>
<p>At the end of the first session the teams presented (at this stage just talked through) the solution they had come up with.  It was interesting to see that following this session, and with a move around of pairs each team started to approach the problem in a similar way.  Having gained a better understanding of the problem and seeing real value in one of the presented sessions it made them switch their design. </p>
<p><a title="Deep in thought" href="http://www.flickr.com/photos/10785452@N00/4787935352/"><img src="http://static.flickr.com/4101/4787935352_d448f75005.jpg" border="0" alt="Deep in thought" /></a></p>
<p> </p>
<p><strong>Lunch</strong></p>
<p>It was originally planned to do a couple of short presentations during Lunch however the weather was so nice we all walked ‘in single file’ to the a park near the office and enjoyed lunch. We only had a few strange looks as we all queued up to eat!</p>
<p><a title="Lunch" href="http://www.flickr.com/photos/10785452@N00/4787304881/"><img src="http://static.flickr.com/4081/4787304881_545e430d57.jpg" border="0" alt="Lunch" /></a></p>
<p><strong> </strong></p>
<p><strong>Session 3, 4 and 5</strong></p>
<p>The original request was for the teams to delete the projects, configuration and settings and focus on the muscle memory in getting things setup. But after lunch people had started to get quite competitive and really wanted to try and do that little bit more and some decided to not delete&#8230; (they know who they are)</p>
<p><a title="Show n Tell" href="http://www.flickr.com/photos/10785452@N00/4787302917/"><img src="http://static.flickr.com/4135/4787302917_b83f421b24.jpg" border="0" alt="Show n Tell" /></a></p>
<p>After each session the teams presented their solution,  it was really great to see how changing the teams around and sharing the knowledge really helped to give people a shared understanding. </p>
<p><a title="Wes explains in Show n Tell" href="http://www.flickr.com/photos/10785452@N00/4787303391/"><img src="http://static.flickr.com/4115/4787303391_8f3903992d.jpg" border="0" alt="Wes explains in Show n Tell" /></a></p>
<p>Some of the problems seemed harder than others&#8230; like adding web part properties <img class="wlEmoticon wlEmoticon-confusedsmile" style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" src="http://www.21apps.com/wp-content/uploads/2010/07/wlEmoticonconfusedsmile.png" alt="Confused smile" /></p>
<p><a title="Deep in tought" href="http://www.flickr.com/photos/10785452@N00/4787938426/"><img src="http://static.flickr.com/4121/4787938426_f1183eac06.jpg" border="0" alt="Deep in tought" /></a></p>
<p>The final solutions really were very impressive and there have already been some great write ups</p>
<p><strong>Martin Hatch</strong></p>
<ul>
<li><a href="http://www.martinhatch.com/2010/07/rcwp-part-1-spretreat-and-related.html">RCWP Part 1 – Extending the Search Core Results Web Part</a></li>
<li><a href="http://www.martinhatch.com/2010/07/rcwp-part-2-web-part-with-ribbon.html" target="_blank">RCWP Part 2 – Web Part with Ribbon Contextual-Tab</a></li>
<li><a href="http://www.martinhatch.com/2010/07/rcwp-part-3-edit-web-part-using-ribbon.html">RCWP Part 3 – Edit Web Part using a Ribbon modal dialog</a></li>
</ul>
<p><strong>Wes Hacket</strong></p>
<ul>
<li><a title="http://weshackett.spaces.live.com/blog/cns!41B731D6A8FE484A!437.entry?wa=wsignin1.0&amp;sa=253869425" href="http://weshackett.spaces.live.com/blog/cns!41B731D6A8FE484A!437.entry?wa=wsignin1.0&amp;sa=253869425" target="_blank">SPRetreat number one</a></li>
</ul>
<p> </p>
<h3>Retrospective</h3>
<p>After the session ended and the demos were done there was a little time to get feedback on the first SharePoint Retreat.  There was some great feedback and ideas on how to refine and make the event better which will be covered in <a href="http://www.21apps.com/sharepoint/spretreat-london-part3/">Part 3 &#8211; Going Forward</a>.</p>
<h3>SharePint</h3>
<p>The event ended with a SharePint at the local pub before people headed home.</p>
<p><img src="https://tiydlw.bay.livefilestore.com/y1mA2RrsMb_vh1L4bUh-32Op2y7bGKjKCQ_i6bnd3iEtRCV-jHPEdxwlscrIZG1rgcif6_I3nCjv1Vrm1h4fJ7hVMNO3C6GLe66xsBCMmeqAZ6kb2qr_QOd8M5o50r3U0NDK3j8vtvJ1ahude4qxGDXyw/127830236-cd3510f36e5fca33b4a828dfd1b78fd3_4c39d568-full_thumb[1].jpg?download&amp;psid=1" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/spretreat-london-part2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint Retreat London (part 1 of 3)</title>
		<link>http://www.21apps.com/sharepoint/spretreat-london-part1/</link>
		<comments>http://www.21apps.com/sharepoint/spretreat-london-part1/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 21:00:14 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint Retreat]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1313</guid>
		<description><![CDATA[Part 1 – SharePoint Retreat
Part 2 – What a day!
Part 3 – Going forward
Only a couple of months ago myself (@AndrewWoody) and James (@draken) were talking about ways we could help development practices in the SharePoint community. Being avid agile enthusiasts we take a close interest in other events and activities outside of the SharePoint [...]]]></description>
			<content:encoded><![CDATA[<p>Part 1 – SharePoint Retreat</p>
<p><a href="http://www.21apps.com/sharepoint/spretreat-london-part2/">Part 2 – What a day!</a></p>
<p><a href="http://www.21apps.com/sharepoint/spretreat-london-part3/">Part 3 – Going forward</a></p>
<p>Only a couple of months ago myself (<a href="http://twitter.com/AndrewWoody" target="_blank">@AndrewWoody</a>) and James (<a href="http://twitter.com/draken" target="_blank">@draken</a>) were talking about ways we could help development practices in the SharePoint community. Being avid agile enthusiasts we take a close interest in other events and activities outside of the SharePoint world. One event really caught our attention, it focused on improving techniques, it had a simple format that could be tailored and was very much community focused.</p>
<p>In May we announced it, the worlds first <a href="http://www.21apps.com/sharepoint/sharepoint-retreat-london/" target="_blank">SharePoint Retreat</a>!</p>
<p> </p>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://www.21apps.com/wp-content/uploads/2010/05/mainlogo_thumb.jpg" alt="" /></p>
<p>To make the event work, and to ensure we could always offer developers a place free of charge, SharePoint Retreat was a sponsored event.  More events are being planned and we are looking to get people onboard with SharePoint Retreats around the globe  (<a href="http://twitter.com/AndrewWoody" target="_blank">tweet me</a> if you want to get involved as an organiser or sponsor).</p>
<p> </p>
<p>The first event was held in London at the cScape offices with food an refreshment provided by 21apps becoming the joint sponsors for the event.</p>
<p><a href="www.cscape.com" target="_blank"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://eventbrite-s3.s3.amazonaws.com/eventlogos/1897550/homelogo.gif" border="0" alt="" /></a>     <a href="http://www.21apps.com" target="_blank"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://eventbrite-s3.s3.amazonaws.com/eventlogos/1897550/21appslogoinspirecommunity.gif" border="0" alt="" /></a></p>
<p>supported by myself and Ben Robb.</p>
<h3>The Event</h3>
<p>The event was sold out within a few weeks of announcement with a growing waiting list.  Being summer and with the hottest day of the year predicated for the Saturday of the event we had a couple of no show’s leaving us with 10 coders – which actually worked out as a very good number.</p>
<p>Starting at 9am in London when Transport for London decide that people don’t need tubes on a Saturday made some of the journeys in a little hectic.  Even so everyone was in, seated, eating croissants and drinking coffee by 9.30 ready to go.</p>
<p><a title="Getting Ready" href="http://www.flickr.com/photos/10785452@N00/4787301979/"><img style="display: inline; margin-left: 0px; margin-right: 0px" src="http://static.flickr.com/4120/4787301979_f9aa3f3f97.jpg" border="0" alt="Getting Ready" /></a></p>
<p>Having set the problem everyone paired up ready to code&#8230;</p>
<p><a href="http://www.21apps.com/sharepoint/spretreat-london-part2/">Part 2. What a day!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/spretreat-london-part1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated UI Testing Tip &#8211; Automating deployment to Solutions Gallery</title>
		<link>http://www.21apps.com/sharepoint/ui-testing-tip1/</link>
		<comments>http://www.21apps.com/sharepoint/ui-testing-tip1/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:10:03 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[21Scrum]]></category>
		<category><![CDATA[UI Testing]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1304</guid>
		<description><![CDATA[As part of the 21SCRUM development project I implemented build verification testing using Visual Studio 2010.  21SCRUM has a great suit of unit tests for the core logic,  it has some integration tests (although I would like more) but I found a lot of the coding was very targeted at the User Interface.  So much so that no real changes [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the <a href="http://www.21scrum.com/" target="_blank">21SCRUM</a> development project I implemented build verification testing using Visual Studio 2010.  21SCRUM has a great suit of unit tests for the core logic,  it has some integration tests (although I would like more) but I found a lot of the coding was very targeted at the User Interface.  So much so that no real changes to the core logic have been made since the beta release.</p>
<p>The team did a number of Spike tests <sup>1</sup> to see if it was possible to do unit testing of the JavaScript code.  Unfortunately nothing that was looked at really provided the confidence or ease of use needed to become a part of the development process.</p>
<p>I have flirted with automated UI testing for a long time,  looking at WinRunner, Segue, QA Runner and various other tools along the way.  I actually remember doing UI testing against a FoxPro application that used OCR technology to verify the text on the screen.  The problem has always been that the tests are brittle, any slight changes to the UI and they break and it becomes a case of diminishing returns.  However having failed to find a good solution to unit testing the UI code I decided to give the new Visual Studio 2010 tools a look.</p>
<p>My first impressions were very good,  I actually changed the session I was doing at the SUGUK event in Wolverhampton due to being so impressed by the tools.  This post is going to be one of a number I do covering lessons learned as the team develop our test suite using these tools for real on 21SCRUM.  </p>
<p>The first lesson and one that you need to do before you start any UI testing is start from a known place.</p>
<h3>Start from a known place</h3>
<p>I quickly discovered that getting good, repeatable and maintainable automated UI tests to work over time you really have to make sure you always start at the same place.  This means no additional browser windows open,  no test web parts added to your pages, no left over&#8217;s from the last test or development.   </p>
<blockquote><p>One of the reasons I love Unit Testing is the isolation for any real environment or the need to go through a lot of setup and tear down steps.</p></blockquote>
<p>In order to do this properly and repeatedly you need to have a script that will refresh your test location.</p>
<p>The script used for 21SCRUM is simple and does the following:</p>
<ul>
<li>- Deletes the test site collection</li>
<li>- Create the test site collection based on required site template</li>
<li>- Uploads the 21SCRUM sandboxed solution to the Solution Gallery</li>
<li>- Activate the 21SCRUM solution</li>
</ul>
<p>These steps ensure that when the tests are run they always start from a clean site collection.   The script has been extended to provided sub sites and additional site collections but the changes are incremental and added as the tests demand.</p>
<h3>Powershell</h3>
<p>Like all good developers Powershell is the scripting language of choice.  Actually kicked off with a good old fashioned .bat file &lt;&lt;  interested to know if there are any alternatives to this?</p>
<p>The batch file RefreshSite.Bat  (powershell.exe is in my standard path)</p>
<pre>powershell -File RefreshSite.ps1</pre>
<p>The powershell script does the work</p>
<p><span style="font-family: Courier New;">//Load the SharePoint Commandlets</span></p>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.Powershell</span></p>
<p><span style="font-family: Courier New;">//Delete the site collection – don’t prompt the user to confirm</span></p>
<p><span style="font-family: Courier New;">Remove-SPSite -Identity &#8220;http://aberdovey.com&#8221; -Confirm:$false</span></p>
<p><span style="font-family: Courier New;">//Create a new site collection based on the Team Site Template</span></p>
<p><span style="font-family: Courier New;">Get-SPWebTemplate | Where{ $_.Title -eq &#8220;Team Site&#8221; } | ForEach-Object{ New-SPSite http://aberdovey.com –OwnerAlias DOMAIN\USER -Name &#8220;Aberdovey&#8221; -Template $_ } </span></p>
<p><span style="font-family: Courier New;">//Add the solution to the solution Gallery – it must have the full path name and not a relative path</span></p>
<p><a name="code-7"></a><span style="font-family: Courier New;">Add-SPUserSolution -LiteralPath C:\&lt;full path to the location of the WSP&gt;\21Scrum.Solution.wsp -Site http://aberdovey.com -Confirm:$false </span><a name="code-8"></a></p>
<p><span style="font-family: Courier New;">// Activate the solution – and yes Microsoft have done it again with the naming!  Install means Activate</span></p>
<p><span style="font-family: Courier New;">Install-SPUserSolution -Identity 21Scrum.Solution -Site http://aberdovey.com -Confirm:$false</span></p>
<p> </p>
<p>This simple command allows the refreshing of the environment to be run quickly and ensures the tests always start from a known place.</p>
<p> </p>
<blockquote><p><sup>1</sup> Spike Tests &#8211; short time-boxed pieces of work looking to prove an approach or providing additional knowledge to make estimates more accurate.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/ui-testing-tip1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SUGUK West Midlands</title>
		<link>http://www.21apps.com/sharepoint/suguk-west-midlands/</link>
		<comments>http://www.21apps.com/sharepoint/suguk-west-midlands/#comments</comments>
		<pubDate>Tue, 04 May 2010 16:10:46 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Public Speaking]]></category>
		<category><![CDATA[suguk]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1272</guid>
		<description><![CDATA[It&#8217;s been a long time since we last had a SUGUK event in the west midlands.   Steve Eyton-Jones has taken on the responsibility for getting things moving and helping to grow the community here and he&#8217;s kicking things off with what should be a great event.
Not wanting to make life easy for myself, AndrewWoody, I [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since we last had a SUGUK event in the west midlands.   Steve Eyton-Jones has taken on the responsibility for getting things moving and helping to grow the community here and he&#8217;s kicking things off with what should be a great event.</p>
<p>Not wanting to make life easy for myself, <strong><a href="http://www.21apps.com/blog">AndrewWoody</a></strong>, I have decided not to redo a SPEvo session and put on a brand new session looking at Automated SharePoint UI Testing with Visual Studio 2010.</p>
<p>The second session will be led by <strong><a href="http://www.space-scape.com/" target="_blank">Nick Harewood</a></strong>, who is User Interface Lead at Synetrix. He will be presenting an overview of Silverlight UI development, demonstrating the latest/coolest features in Silverlight and showing some practical examples of Silverlight interfaces for SharePoint.</p>
<p>Refreshments including pizza, beers and soft drinks will be provided. Optional Sharepint will also follow on after the main event!<br />
Location:<br />
Technology Centre<br />
Wolverhampton Science Park<br />
Wolverhampton<br />
WV10 9TG</p>
<p>Agenda:<br />
6.30pm &#8211; Session 1<br />
7:30pm &#8211; Food &amp; Drinks<br />
8:15pm &#8211; Session 2<br />
9:00pm &#8211; Off to SharePint&#8230;.</p>
<p><a href="http://suguk.org/forums/thread/23769.aspx">Sign up at SUGUK</a></p>
<p>Hope to see you there and lets make the west midlands a great place for SUGUK events.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/suguk-west-midlands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing SharePoint Retreat</title>
		<link>http://www.21apps.com/sharepoint/sharepoint-retreat-london/</link>
		<comments>http://www.21apps.com/sharepoint/sharepoint-retreat-london/#comments</comments>
		<pubDate>Tue, 04 May 2010 11:54:15 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePint]]></category>
		<category><![CDATA[SharePoint Retreat]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1267</guid>
		<description><![CDATA[
We are proud to announce the world&#8217;s first SharePoint Retreat!
The first event is taking place in London on Saturday 10th July.  Don&#8217;t delay places are filling up fast with a limit of 16 people.
 
The aim of SharePoint Retreat is to help developers practice the fundamentals of software development, but like all things in the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.21apps.com/wp-content/uploads/2010/05/mainlogo.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="mainlogo" src="http://www.21apps.com/wp-content/uploads/2010/05/mainlogo_thumb.jpg" border="0" alt="mainlogo" width="370" height="106" /></a></p>
<p>We are proud to announce the world&#8217;s first SharePoint Retreat!</p>
<blockquote><p>The first event is taking place in London on Saturday 10th July.  Don&#8217;t delay places are filling up fast with a limit of 16 people.</p>
<p><a href="http://spretreatlondon.eventbrite.com?ref=ebtn" target="_blank"  ><img border="0" src="http://www.eventbrite.com/registerbutton?eid=672945799" alt="Register for SharePoint Retreat London in London, United Kingdom  on Eventbrite" /></a> </p></blockquote>
<p>The aim of SharePoint Retreat is to help developers practice the fundamentals of software development, but like all things in the SharePoint community we intend to keep this SharePoint focused, so developers practice the fundamentals of <strong>SharePoint</strong> development</p>
<h3>What is SharePoint Retreat?</h3>
<p>The idea is not our own, more information can be found about the original Code Retreat at <a href="http://www.coderetreat.com/">http://www.coderetreat.com/</a> &#8211; we have just given it a SharePoint flavour. </p>
<p>It has a simple objective:  provide a day-long event that is focused on practicing the fundamentals of SharePoint development.</p>
<h3>Why SharePoint Retreat?</h3>
<p>We want to bring SharePoint development to the fore, to make developers want to work with SharePoint and to show that doing SharePoint development does not mean you have forego any plans to become a software craftsman.</p>
<h3>How does it work?</h3>
<p>A group of SharePoint developers &#8211; <strong>That means you! -</strong> gather at the Retreat with laptop in hand ready to code.</p>
<ul>
<li>Problem:  TBC &#8211; the problem will be SharePoint related and can vary between Retreats</li>
<li>Retreat lasts from 9am until 5pm followed by SharePint</li>
<li>Each coding session will last 1 hour</li>
<li>Each session coders will pair program</li>
</ul>
<h3>Some rules!</h3>
<ul>
<li>code is deleted after each session,  its about learning the techniques and not getting code samples</li>
<li>Encourage techniques like TDD where appropriate</li>
<li>programming pairs are swapped at each session</li>
</ul>
<h3>on the day</h3>
<ul>
<li>9:00 &#8211; 9:30 Intro to the day</li>
<li>9:30 &#8211; 10:30 session 1</li>
<li>10:30 &#8211; 10:45 retrospective</li>
<li>10:45 &#8211; 11 :45 session 2</li>
<li>11:45 &#8211; 12:00 retrospective</li>
<li>12:00 &#8211; 1:00 Lunch &#8211; with brown bag presentations</li>
<li>1:00 &#8211; 2:00 session 3</li>
<li>2:00 &#8211; 2:15 retrospective</li>
<li>2:15 &#8211; 3:15 session 4</li>
<li>3:15 &#8211; 3: 30 retrospective</li>
<li>3:30 &#8211; 4:30 session 5</li>
<li>4:30 &#8211; 5:00 wrap up</li>
<li>5:00 &#8211; late ShareFood and SharePint</li>
</ul>
<h3>in the sessions</h3>
<p><strong>session 1 and 2</strong></p>
<p>The area of SharePoint may be unfamiliar to some people, others may have done something like it before.  The aim of the first two sessions are to allow people to understand how they are going to approach the problem and what the final solution could look like.  Some pairs may try and implement it, others will spike out ideas and try to solve specific challenges.</p>
<p>At the retrospectives each pair will have a few minutes to discuss what they did and any problems they could not solve.</p>
<p><strong>Lunch</strong></p>
<p>During lunch the coders get to sit back and relax whilst the facilitator demonstrate techniques or ideas in a couple of short brown bag sessions.</p>
<p><strong>session 3, 4 and 5</strong></p>
<p>continue with the problem and looking to refine some of the scenarios and techniques.  The aim is to learn and practice techniques that will improve the knowledge and experience of the coders.  If you don&#8217;t complete the problem it&#8217;s not an issue &#8211; if you complete the problem then look for new challenges or refine the techniques.</p>
<h3>After the event</h3>
<p>Any gathering of SharePoint people and you are likely to find a SharePint &#8211; the facilitator will find a suitable venue for people to unwind, drink beer and SharePint &#8211; hopefully more SharePoint people will be in the area so that they can brag about the new found talents.</p>
<h3>What Next?</h3>
<p>If you can be in London on Saturday 10th July 2010, you&#8217;re a SharePoint developer and you fancy spending a day with other like-minded people honing you development skills.   Sign up.</p>
<p>This first event is limited to 16 coders &#8211; so be quick.  </p>
<p>If you fail to make the first 16, put your name down on the waiting list.   We do ask that people who have signed up but for whatever reason can&#8217;t make it please make the space available to others.</p>
<p><strong>How Much?  &#8211; Its Free <img src='http://www.21apps.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p>Best of all this is a community activity,  we are funding this event through sponsorship in order that we can provide the places to coders F.O.C</p>
<p>The sponsors for this inaugural event are</p>
<p><a href="http://www.cscape.com/"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="cScape" src="http://eventbrite-s3.s3.amazonaws.com/eventlogos/1897550/homelogo.gif" border="0" alt="cScape Logo" width="122" height="38" /></a></p>
<p>providing the venue and internet access &#8211; and Ben Robb</p>
<p><a href="http://www.21apps.com/"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="21apps " src="http://eventbrite-s3.s3.amazonaws.com/eventlogos/1897550/21appslogoinspirecommunity.gif" border="0" alt="21apps Inspire Community" width="134" height="50" /></a></p>
<p>providing the food &#8211; and Andrew Woodward</p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/sharepoint-retreat-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPEvo Session &#8211; Developers Intro to Service Applications</title>
		<link>http://www.21apps.com/sharepoint/spevo-session-developers-intro-to-service-applications/</link>
		<comments>http://www.21apps.com/sharepoint/spevo-session-developers-intro-to-service-applications/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 17:19:46 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1260</guid>
		<description><![CDATA[Did you hate SSPs in SharePoint 2007?
Have you heard about the new Services Architecture in SharePoint 2010?
Did you attend Andrew Connells session at SPC09 and came away wondering why 1+1 was so complex?
Do you want to go to a dev session but by Wednesday lunchtime think a 400 deep dive is going to be too [...]]]></description>
			<content:encoded><![CDATA[<p>Did you hate SSPs in SharePoint 2007?</p>
<p>Have you heard about the new Services Architecture in SharePoint 2010?</p>
<p>Did you attend Andrew Connells session at SPC09 and came away wondering why 1+1 was so complex?</p>
<p>Do you want to go to a dev session but by Wednesday lunchtime think a 400 deep dive is going to be too much?</p>
<p>Either way I have a great session lined up that will focus on the core parts of building a service application and discussion around when you should/shouldn&#8217;t approach it.  </p>
<blockquote><p><a href="http://www.sharepointevolutionconference.com/Abstracts_DD.html#DD114" target="_blank">DD114 &#8211; Building Service Application</a></p>
<p>Wednesday 21st April</p>
<p>11:45 am to 12:45 am</p>
<p>Developer Track</p>
<p>SharePoint 2010 has undergone a number of major improvements in the way the core services are architected. In this session we will explore some of these changes looking at the services provided with SharePoint, understand the reasons for the changes to the architecture and also the complexity that this can introduce. We will take a deep dive into the core framework and classes that enable developers to create custom service applications; Provide you with an understanding of how to create a new service application but most importantly when service applications are the right or wrong design choice. You should leave the session with an understanding of how the core service applications are designed, how to approach creating of your own services and also the knowledge to evaluate your own requirements and make informed decisions about when to and when not to create a service application</p></blockquote>
<p><a href="http://www.sharepointevolutionconference.com" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" src="http://www.21apps.com/wp-content/uploads/2010/04/clip_image0011.jpg" border="0" alt="clip_image001" width="624" height="118" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/spevo-session-developers-intro-to-service-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPEvo Session &#8211; Unit Testing SharePoint</title>
		<link>http://www.21apps.com/sharepoint/spevo2010-unit-testing-sharepoint/</link>
		<comments>http://www.21apps.com/sharepoint/spevo2010-unit-testing-sharepoint/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 17:02:42 +0000</pubDate>
		<dc:creator>Andrew Woodward</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Public Speaking]]></category>

		<guid isPermaLink="false">http://www.21apps.com/?p=1256</guid>
		<description><![CDATA[If you have been following my blog, twitter feeds and perhaps visited previous sessions I&#8217;ve done, then you will know that I am a very big advocate of Unit Testing &#8211; and have made it a personal goal to raise awareness and break down the challenges faced in doing this for SharePoint.
This time I am [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been following my blog, twitter feeds and perhaps visited previous sessions I&#8217;ve done, then you will know that I am a very big advocate of Unit Testing &#8211; and have made it a personal goal to raise awareness and break down the challenges faced in doing this for SharePoint.</p>
<p>This time I am joining forces with the <a href="http://www.binarywave.com/blogs/eshupps/default.aspx" target="_blank">SharePoint Cowboy</a>, Eric Shupps, to show you some of what you should know,  but also we have some exciting demo&#8217;s that you won&#8217;t want to miss.</p>
<p>If you understand Unit Testing,  want to learn more or just interested to see us battle it out on stage you have to attend:</p>
<blockquote><p><a href="http://www.sharepointevolutionconference.com/Abstracts_DD.html#DD107" target="_blank">DD107 &#8211; Unit Testing SharePoint</a></p>
<p>Tuesday 20th April</p>
<p>10:00 am to 11:00 am</p>
<p>Deep Dive 400 Track</p>
<p>Defining a successful unit testing strategy is a key component in the SharePoint software development lifecycle. In this session we will explore the various options for insuring adequate code coverage for custom SharePoint solutions, examine several different methods and tools for creating and executing unit tests, and discover tips and tricks for working with various test frameworks. There will also be a lively discussion regarding the value of implementing methodologies such as Test Driven Development and numerous real-world examples of the benefits unit testing can provide within custom SharePoint solutions</p></blockquote>
<p> </p>
<p><a href="http://www.sharepointevolutionconference.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" src="http://www.21apps.com/wp-content/uploads/2010/04/clip_image001.jpg" border="0" alt="clip_image001" width="624" height="118" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.21apps.com/sharepoint/spevo2010-unit-testing-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
