Archive for the ‘SharePoint’ Category
Thursday, August 26th, 2010



Abstract: In this session we will take a look at Sandbox solutions, understanding what they are, why they were introduced and why you would want to build one. Based on a real world project at 21apps we will look at why we chose to build one, how the limitations of the sandbox altered our design and how we mixed server side and client side frameworks to provide the solution. We will also take a look at what the future may be and how Sandboxed solutions could change the face of SharePoint forever!

Should I attend: This session will not be a deep dive into Sandboxed Solutions – this session is aimed at providing the audience with an understanding of where Sandboxed solutions fit, why they would want to use sandboxed solutions, why companies are targeting the sandbox and how this could change the way you work!

If you’re not a developer and want an understanding of what Sandboxed solutions are, this session is for you.

 

(more…)

Wednesday, August 25th, 2010



Slide deck from my Automated UI Testing of SharePoint 2010 with Visual Studio 2010 presented at the Best Practices Conferences in Washington DC in August 2010.

 

(more…)

Wednesday, August 18th, 2010



I have the pleasure of being a speaker at Best Practices conference in Washington DC in August, 2010. Being a ‘best practices’ conference; speakers are given guidelines to work against to ensure their sessions fit in with the overall theme of the conference: Clarity. Direction. Confidence.

One of the challenges with best practices for a new platform is that a lot of these tend to be emergent at best, invalid at worst or just unknown. With this in mind my sessions at the conference are based on real world work that we have done at 21apps, sharing the lessons we have learnt and looking at the emerging practices that, at the time of writing, feel like they have some grounding in becoming or forming part of an accepted best practice.

The sessions I am presenting are both in the developer track; however they have a different target audience.

(more…)

Wednesday, July 21st, 2010



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:

SharePoint Compatible

’The document could not be opened for editing. A Microsoft SharePoint Foundation compatible application could not be found to edit the document.’

(more…)

Friday, July 16th, 2010



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 SMTP host your.smtp.server

Analysis

For any SMTP testing you rely on Telnet by running the command

telnet your.smtp.server 25

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. 

However there is a niggling doubt – if the SMTP server is not working how do the alert emails get sent?
(more…)

Tuesday, July 13th, 2010



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 – especially for new teams or groups that don’t normally work together.
(more…)

Tuesday, July 13th, 2010



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 the day went – we captured some some ideas in the feedback at the end of the day that I will cover in Part 3.
(more…)

Monday, July 12th, 2010



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 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.

In May we announced it, the worlds first SharePoint Retreat!

(more…)

Wednesday, June 30th, 2010



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 to the core logic have been made since the beta release.

The team did a number of Spike tests 1 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.

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.

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.  

The first lesson and one that you need to do before you start any UI testing is start from a known place.

Start from a known place

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’s from the last test or development.   

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.

In order to do this properly and repeatedly you need to have a script that will refresh your test location.

The script used for 21SCRUM is simple and does the following:

  • - Deletes the test site collection
  • - Create the test site collection based on required site template
  • - Uploads the 21SCRUM sandboxed solution to the Solution Gallery
  • - Activate the 21SCRUM solution

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.

Powershell

Like all good developers Powershell is the scripting language of choice.  Actually kicked off with a good old fashioned .bat file <<  interested to know if there are any alternatives to this?

The batch file RefreshSite.Bat  (powershell.exe is in my standard path)

powershell -File RefreshSite.ps1

The powershell script does the work

//Load the SharePoint Commandlets

Add-PSSnapin Microsoft.SharePoint.Powershell

//Delete the site collection – don’t prompt the user to confirm

Remove-SPSite -Identity “http://aberdovey.com” -Confirm:$false

//Create a new site collection based on the Team Site Template

Get-SPWebTemplate | Where{ $_.Title -eq “Team Site” } | ForEach-Object{ New-SPSite http://aberdovey.com –OwnerAlias DOMAIN\USER -Name “Aberdovey” -Template $_ }

//Add the solution to the solution Gallery – it must have the full path name and not a relative path

Add-SPUserSolution -LiteralPath C:\<full path to the location of the WSP>\21Scrum.Solution.wsp -Site http://aberdovey.com -Confirm:$false

// Activate the solution – and yes Microsoft have done it again with the naming!  Install means Activate

Install-SPUserSolution -Identity 21Scrum.Solution -Site http://aberdovey.com -Confirm:$false

 

This simple command allows the refreshing of the environment to be run quickly and ensures the tests always start from a known place.

 

1 Spike Tests – short time-boxed pieces of work looking to prove an approach or providing additional knowledge to make estimates more accurate.

Tuesday, May 4th, 2010



It’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’s kicking things off with what should be a great event.

Not wanting to make life easy for myself, AndrewWoody, 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.

The second session will be led by Nick Harewood, 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.

Refreshments including pizza, beers and soft drinks will be provided. Optional Sharepint will also follow on after the main event!
Location:
Technology Centre
Wolverhampton Science Park
Wolverhampton
WV10 9TG

Agenda:
6.30pm – Session 1
7:30pm – Food & Drinks
8:15pm – Session 2
9:00pm – Off to SharePint….

Sign up at SUGUK

Hope to see you there and lets make the west midlands a great place for SUGUK events.