Welcome to my blog on all things SharePoint. I have a range of articles that will interest you if you've made it as far as visiting my blog. I was awarded as an SharePoint MVP by Microsoft in July 2010. I currently live in New York and am an Enterprise Architect at AvePoint Inc.. I co founded www.NothingButSharePoint.com with Mark Miller in 2010.

MVP AwardJeremy Thake Profile Photo

Whitepapers

NBSP

Check out my articles on NothingButSharePoint.com

Solution Development in SharePoint 2007

This series was inspired by the chatter amongst SharePoint blogs on the best ways to approach customisations in SharePoint using Solutions.

Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 6 - Part 7 - Part 8

Leveraging the SharePoint Platform

This series was inspired by a discussion had with Andrew Coates at a Perth SharePoint User Group meeting. This then turned into a 6 part series on Arno Nell's SharePointMagazine.net web site.

Initial post - Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 6

Webcasts

I have recorded various web casts that I present at User Groups or just on a specific topic by request:
How ASP.NET Developers can leverage SharePoint webcast
SPSource Webcast: Reverse engineer Lists to ListTemplates and much more
SharePoint Development with Unit Testing webcast
Perth SharePoint UG Web Cast on approaches to deploying artefacts (SPSource)
More...


Podcasts

I have been interviewed about Leveraging the SharePoint Platform by the SharePoint Pod Show: listen here .

RSS Feed Feed your read!

Archives

November 2012 (6)
October 2012 (8)
September 2012 (4)
August 2012 (7)
July 2012 (13)
June 2012 (4)
March 2012 (1)
February 2012 (1)
January 2012 (5)
September 2011 (2)
August 2011 (1)
July 2011 (3)
June 2011 (7)
May 2011 (3)
April 2011 (3)
March 2011 (3)
February 2011 (2)
January 2011 (1)
December 2010 (4)
September 2010 (4)
July 2010 (5)
June 2010 (4)
May 2010 (6)
April 2010 (7)
March 2010 (5)
February 2010 (7)
January 2010 (3)
December 2009 (1)
November 2009 (6)
October 2009 (9)
September 2009 (7)
August 2009 (6)
July 2009 (13)
June 2009 (4)
May 2009 (12)
April 2009 (4)
March 2009 (4)
February 2009 (13)
January 2009 (4)
December 2008 (4)
November 2008 (11)
October 2008 (16)
September 2008 (4)
August 2008 (5)
July 2008 (4)
June 2008 (8)
May 2008 (5)
April 2008 (9)
March 2008 (5)
February 2008 (6)
January 2008 (1)
November 2007 (11)
October 2007 (8)
September 2007 (24)
August 2007 (5)
July 2007 (2)
May 2007 (1)
April 2007 (1)
March 2007 (1)
February 2007 (3)
January 2007 (4)
November 2006 (7)
October 2006 (7)
September 2006 (18)
August 2006 (14)
June 2006 (3)
May 2006 (8)
April 2006 (4)
March 2006 (38)
February 2006 (30)
January 2006 (2)
December 2005 (3)
November 2005 (28)
May 2005 (1)
April 2005 (5)
March 2005 (1)
November 2004 (1)
August 2004 (11)
July 2004 (1)
Failed to render control: An error occurred during a call to extension function 'createMonthUrl'. See InnerException for a complete description of the error.

Links

Tag Cloud

Ajax, Apple, DotNetNuke, Enterprise Content Management, Error Resolution, Gadgets, General, Governance, Microsoft .Net Development, Mobile, SharePoint, Sharepoint Business Forms, Sharepoint Business Intelligence, Sharepoint Collaboration, SharePoint Development, Sharepoint Enterprise Content Management, Sharepoint Enterprise Search, Sharepoint Portal, US Migration, Web 2.0, Workflow
Jun 112008

Approved Page Layouts not showing in PublishingWeb

Had a "great" morning this morning involving releasing to our SharePoint 2007 Production environment which has been in place for nearly 18 months now - 6 server farm. Our UAT environment was built by myself last month which "matches" Production as closely as possible in terms servers etc. but it's been hard because the documentation of how Production built is incomplete. So far anyone out there who has built an environment, I would strongly recommend documenting ANY configuration change made to that Farm environment.

Anyway, I released to our Shared Dev environment fine and dandy and also to our UAT environment with no problems. Then I came across an error in Production, fortunately I had enough exception handling in there to throw and error when I called GetAvailablePageLayouts in the EventReceiver that was trying to create the page and didn't get back the Page Layout I expected in this collection!

$pubweb.GetAvailablePageLayouts() | ft Name, Title

Name Title

---- -----

ArticleLinks.aspx Article page with summary links

RedirectPageLayout.aspx Redirect Page

DefaultCPMiningLayout.aspx Default CP Mining Page Layout

Much digging around the web pointed me towards looking at SPWeb.AllProperties["__PageLayouts"] which in a default environment isn't even there but can also be string.Empty. In my Production environment it included a bunch of XML.

PS C:\Deployment> $web.AllProperties["__PageLayouts"]

<pagelayouts><layout guid="794ff91c-4d30-4d17-a342-bb39218a52a9" url="_catalogs/masterpage/ArticleLinks.aspx" /><layout

guid="bbcc0e4b-8b9f-45af-8383-9c2b63342e41" url="_catalogs/masterpage/RedirectPageLayout.aspx" /><layout guid="ff8de27

d-5ff6-4908-bf8c-520fc82bfc80" url="_catalogs/masterpage/DefaultCPMiningLayout.aspx" /></pagelayouts>

So, then started looking around at how this is set on the web and came across SetAvailablePageLayouts. But reading around it wasn't obvious how you got the PageLayout objects to put in the PageLayouts[] array parameter of the method. And Google said nothing on this :-(

I then dug some more and found this property on PublishingWeb called AllowAllPageLayouts , so I set that...and nothing seemed to happen! Then I noticed there is a Update() method also! So the key here is to call both in order ;-)

$baseURL = "http://intranet"
$web = global:Get-SPWeb($baseURL, $null)
$pubweb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web)
$pubweb.AllowAllPageLayouts($true)
$pubweb.Update()
$pubweb.GetAvailablePageLayouts() | ft Name, Title

And here were the results! Phew!

PS C:\Deployment> $pubweb.GetAvailablePageLayouts() | ft NAme,Title

Name Title

---- -----

PageFromDocLayout.aspx Article page with body only

ArticleLeft.aspx Article page with image on left

ArticleRight.aspx Article page with image on right

ArticleLinks.aspx Article page with summary links

RedirectPageLayout.aspx Redirect Page

BlankWebPartPage.aspx Blank Web Part Page

DefaultCPMiningLayout.aspx Default CP Mining Page Layout

DocumentWebPartPage.aspx Document Web Part Page

WelcomeLinks.aspx Welcome page with summary links

WelcomeTOC.aspx Welcome page with table of contents

WelcomeSplash.aspx Welcome splash page

There was no documentation on this being locked down at the Site Collection RootWeb, these kind of changes can cause all sorts of issues when you're not expecting them! So again, I recommend documenting anything that is different from a base install when it comes to configuration, or at least have a Solution package that can configure it in a new environment.

I guess the big point is how far do you go with documenting and scripting configuration? The whole point of SharePoint is to be collaborative and let it evolve naturally. Realistically not every dev environment is going to have enough room to restore a entire Site Collection into it, so the rule of thumb is everything but the content should be re-deployable in your Dev / UAT environment. Where the line is drawn between Configuration and Content is left to discuss another day...

Published: 6/11/2008  8:43 PM | 2  Comments | 0  Links to this post

May 182008

Empower Users to manage Workflow (Part 1)

I've repeatedly stated that there are certain areas of the SharePoint 2007 stack that are not true Enterprise level features. Workflow is one of them and various other bloggers and reports have stated this, my research links are a testimony to this.

I believe Microsoft have confused the SharePoint community by giving two options with SharePoint Designer (SPD) Workflows and Visual Studio (VS) Workflows. Furthermore, the fact that it is not a straightforward exercise to migrate a SPD Workflow to a VS Workflow. Both approaches have their pros and cons and they are both targeted at different audiences. The targeting is based on a marketing approach and aligns to Microsoft's "empowering users" Information Worker philosophy of late.
The danger of empowerment has a clear history of bad outcomes from the days of letting Business Users loose on a Network Share Drive to the more modern dangers of SharePoint Site Creation. One of my own personal gripes at SharePoint is the lack of an OOTB Site Provisioning Workflow tool to keep more control over when Sites can be created in a Business Intranet for example. This very simple Workflow would definitely give more confidence to IT departments to open up control from what is the current pattern of containing it to a select trusted few. There are various links around this topic that I've diigo'd.
This mindset has to change for SharePoint as a Business Platform to become anywhere near as successful as the Consumer Platforms such as Facebook, MySpace and YouTube. Business Sponsors of the SharePoint Platform get quickly caught up in the "buzz words" used such as Collaboration, Workflow, Enterprise Content Management, Business Intelligence, etc. and do not realise that without the correct governance and strategy around these things nothing will ever be successful!

The mess that is inevitable when letting lose an entire company with a tool such as SPD to create and maintain workflows is a scary thought to any IT department. Their fully resourced SharePoint development team that are currently working on a high priority project might as well down tools to support the Business who have suddenly found SPD in their Start Menu and had no training, but decide to run their business processes through it for a couple of weeks and before they know it are pushing their knowledge to their limits and start leaning on IT.

I've re-read a lot of my posts and also the posts of my fellow "Perthonian", non-Metro sexual, colleague Paul Culmsee and we do keep mentioning this word Governance a lot and all that it entails! Microsoft have also kicked off with a few great posts of late and are slowly realising that unless they get a hold on the situation out and help the companies they've sold all these licenses too, SharePoint will soon become a pain in their side and lets face it Microsoft have backed it to the hilt with their product line up as their central hub.
It's one thing to sell a product to an organisation, but I also think it is the responsibility of the vendor/partner to ensure that they are guided in their use of it. This isn't just a gripe at Microsoft either, I've seen this throughout my career with the likes of Interwoven, OpenText, Documentum, BEA etc.

The company I'm currently working for are looking at using its document Business Processes in ARIS to drive how the Intranet Information Architecture is delivered. I've been doing some research and was already aware of two big Partner players in the SharePoint 2007 marketplace: Nintex and K2.

My main concerns with this are how easy it is to develop, but more importantly to maintain and whether it scales. Over the next series of posts I will be accounting my findings and trying to structure this in a way that will be useful for others who find themselves in this situation.

Published: 5/18/2008  4:50 AM | 2  Comments | 0  Links to this post

May 072008

How to prevent derailing SharePoint

I've read Paul Culmsee's articles with great interest on Project Failure and will be helping him continue his series in the next few days on Development Failures. Joel Olsen, SharePoint God, also has found keen interest in it and has written some of his own experiences with it.

It's interesting to see Joel write externally from Microsoft and it really does show a more open, less reserved approach to his writing. He really does support what I wrote the other day on Organisational Responsibility and also on the vast array of SharePoint capabilities around the 6 pillars.

Joel's posts first comment states, that it's great to be aware of this but what is the solution? I think the best approach from both Paul and Joel's comments and my own experience is to set the expectations of the Business properly and not let them get sucked into Microsoft sales talk.
The problem with reading the copious amounts of information on the Microsoft web site on SharePoint is that it does make SharePoint out to be easy and can be done by Business Users. That's all good and well, but in reality this is not the truth from my experience. Business Users always want that little bit more out of what's there OOTB. Joel makes a great point about risk and giving everyone SharePoint Designer and I'd go further in giving all Business Users Owner rights on sites. I think there is a fine line between Control and Chaos.

Joel is right in saying that you really do need a SharePoint expert on board and letting a guy with AD experience run an entire SharePoint platform is not wise. As discussed in my last article, AD is a small part of the SharePoint iceberg.

SharePoint is a complicated beast and getting it setup correctly at the start as Joel has reiterated can prevent a lot of problems. The organisation I currently work for has rebuilt their entire Test environment and is in the process of planning rebuilding the Production because of it's unstable nature and undocumented changes from the OOTB configuration. I cannot state more on the whole Governance side of SharePoint and having controlled Development and Test/UAT environments to ensure those Service Level Agreements (SLA). Developers just simply shouldn't be allowed to deploy things manually in each environment when there are mechanics available to automatically deploy Solutions packages and have control and reduce the variables and risks associated with human error and manual deployments.

Published: 5/7/2008  7:15 AM | 1  Comment | 0  Links to this post

May 052008

SharePoint and Service Desks - Organisational Responsibilities

I attended a great Information Management morning in Perth last week and bumped into a fair few clients that I had engaged with in my previous Pre Sales role working for a Solution Integrator before moving to the dark side working internally in a SharePoint team.

One of the guys asked me a question around "What do we need the SI to actually quote on to get SharePoint up and running?". This question is open to so many different permutations of answers it's not worth starting to try and list them!

This triggered my train of thought from the other day where I found it hard to draw lines in the sand between our SharePoint "development" team and the Internal Service Desk. Much like most organisations, SharePoint is treated as a Platform and as a development team we release various extensions (solutions) to it.
The list below are a few of the things that the platform runs on which is typically setup and maintained by the Infrastructure Team / Service Desk...and not a Development team.

  • the network;
  • the physical infrastructure;
  • the Windows cluster;
  • the standard operating environment;
  • the SQL cluster;
  • the backup procedures;
  • the load balancing; and
  • the active directory security.

SharePoint is just the tip of the ice berg, underneath are a vast array of things that can go wrong or perform badly for numerous reasons out of the control of our development team. But we still usually get approached first when SharePoint "runs slowly" or someone "can't access something".
SharePoint resources are hard to come by, which is a double edge sword. It means that for the not so distance future, all of us SharePoint consultants will have a chair to sit on. It also means that we also have to wear many hats and anyone good enough to support SharePoint is usually not wanting to sit in support role for too much longer because Recruiters have spotted it on their CV and offering them Junior SharePoint roles at the nearest blue-chip organisation!

This link from SharePoint God, Joel Oleson, goes on further to to elaborate on the skill set required to be a SharePoint expert. Unfortunately, Microsoft has not done a very good job of drawing lines in the sand between the various components mentioned here or provided mechanisms to fully support a SharePoint expert in going up to the Service Desk and asking for:

  • 11 domain level service accounts to be added to Active Directory to install the product; or
  • DNS setup for various URLs for each Site Collection in each environment; or
  • multiple email accounts in exchange; or
  • requiring Kerberos security to install SQL Reporting Services capability on a SharePoint farm; or
  • multiple OUs with delegation setup for Incoming Email in each environment.

People are very protective of their own responsibilities understandably and after trawling through the pain of not having any control over anything other than being able to install SharePoint on a cluster has been a painful process! It is hard to actually know exactly what you require from the "powers that be" to get your environment up and running until you actually get to that point...especially with a big SharePoint farm to setup. Once you've done it once...ideally you've documented it and it's all down hill from then on!

So what's with the rant? I'm upgrading to CKS:EBE 2.0 on this blog tomorrow and I'd really like to see some anonymous comments on what other peoples experiences are with the "us and them" mentality of working in this kind of environment.

I'd really like to see Microsoft take more care in educating Windows Infrastructure guys with more understanding of what SharePoint is and how it fits in with the areas they are responsible for. From my experience, it's far too overwhelming a platform and work usually gets pushed into the SharePoint Development teams faces. As an aside, Paul Andrew has posted a great set of links on "how to learn SharePoint".

Published: 5/5/2008  6:34 AM | 2  Comments | 0  Links to this post