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
Jul 272008

Error: Failed to compare two elements in the array

I tried to do an stsadm -o export today on our Production farm and got this lovely error:

[7/28/2008 11:53:56 AM]: FatalError: Failed to compare two elements in the array.
   at System.Collections.Generic.ArraySortHelper`1.QuickSort[TValue](T[] keys, TValue[] values, Int32 left, Int32 right, IComparer`1 comparer)
   at System.Collections.Generic.ArraySortHelper`1.QuickSort[TValue](T[] keys, TValue[] values, Int32 left, Int32 right, IComparer`1 comparer)
   at System.Collections.Generic.ArraySortHelper`1.Sort[TValue](T[] keys, TValue[] values, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Collections.Generic.ArraySortHelper`1.Sort(T[] items, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Array.Sort[T](T[] array, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Collections.Generic.List`1.Sort(Int32 index, Int32 count, IComparer`1 comparer)
   at System.Collections.Generic.List`1.Sort(IComparer`1 comparer)
   at Microsoft.SharePoint.Deployment.WebSerializer.GetDataFromObjectModel(Object obj, SerializationInfo info, StreamingContext context)
   at Microsoft.SharePoint.Deployment.DeploymentSerializationSurrogate.GetObjectData(Object obj, SerializationInfo info, StreamingContext context)
   at Microsoft.SharePoint.Deployment.XmlFormatter.SerializeObject(Object obj, ISerializationSurrogate surrogate, String elementName, Boolean bNeedEnvelope)
   at Microsoft.SharePoint.Deployment.XmlFormatter.Serialize(Stream serializationStream, Object topLevelObject)
   at Microsoft.SharePoint.Deployment.ObjectSerializer.Serialize(DeploymentObject deployObject, Stream serializationStream)
   at Microsoft.SharePoint.Deployment.SPExport.SerializeObjects()
   at Microsoft.SharePoint.Deployment.SPExport.Run()
*** Inner exception:
Object reference not set to an instance of an object.
   at Microsoft.SharePoint.SPFeature.EnsureProperties()
   at Microsoft.SharePoint.SPFeature.get_TimeActivated()
   at Microsoft.SharePoint.Deployment.WebSerializer.ExportFeatureComparer.System.Collections.Generic.IComparer<Microsoft.SharePoint.Deployment.ExportObject>.Compare(ExportObject exportObject1, ExportObject exportObject2)
   at System.Collections.Generic.ArraySortHelper`1.QuickSort[TValue](T[] keys, TValue[] values, Int32 left, Int32 right, IComparer`1 comparer)

 

A bit of digging found this on the Microsoft Support page. Not much help if you don't know what Feature is not installed but still in use on a Site Collection! Stefan has an excellent console application you can install on the farm to report directly on this which can be found on MSDN Code site.  The reports generated will give you the Feature ID Guid of the Feature that is being referenced that is no longer installed.

To deactivate the rogue Feature you can use:

STSADM -o deactivatefeature -id 945a186c-846e-63ff-bb89-e94098c21943 -url http://localhost -force

Another alternative is Steven Van De Craen's Windows Form version which more or less does the same thing but I found that it couldn't see the Site collection when I put in the URL.

Published: 7/27/2008  9:22 PM | 0  Comments | 0  Links to this post

Jul 242008

SharePoint MSDN Forums and SharePoint Community Trends

I'm really impressed with the new forums that have been migrated to MSDN Forums v3.0, changes are listed here. One thing to note is the "proposed answer" functionality which I think will help people mark answers easier than the last interface. Of interest was the fact that the SharePoint topics balance between Answered and Unanswered Threads. Take these examples:

InfoPath - Answered: 252 Unanswered: 1217 = 17%

image

BDC - Answered: 0 Unanswered: 530 = 0%

image

Workflow - Answered: 548  Unanswered: 1705 = 24%

image 

Search - Answered: 305  Unanswered: 937 = 24%image

You get the general picture. These are key areas of MOSS Platform and I think it shows the immaturity of the community in these spaces compared to things such as:

Excel Services - Answered: 230  Unanswered: 194 = 54%

image

Activity

Maybe this is an indication of where the most activity is happening in the SharePoint Pillars...

In terms of custom development, there also appears to be a lot happening in this space.

SharePoint Development - Answered: 4701  Unanswered: 2451 = 65%

image

As apposed to this section that I'm assuming is about OOTB functionality:

SharePoint Design and Customization - Answered: 4103  Unanswered: 12270 = 25%

image 

I encourage everyone involved in SharePoint to help out where they can. We've all been there and Google'd our way out of trouble by finding forum posts or blog posts on the subjects causing us grief!

I'm currently on level one in the medal talleys but want a full collection pretty soon...which will hopefully lead me to MVP status in SharePoint ;-)

image

Published: 7/24/2008  12:12 AM | 6  Comments | 0  Links to this post

Jul 162008

Perth SharePoint User Group Presentation Slide Deck: SharePoint Governance

Thanks for those who braved the rain to come and listen to my presentation on SharePoint Governance. I've uploaded the slide deck here.

Some of the key areas that came up during the talk I've noted below:

  • SharePoint Designer is the Evil
    I've mentioned it before, but I finding it's dangerous enough to allow Business Users lose on SharePoint web interface, without letting them loose on SharePoint Designer (SPD). It seems to instill a set of false confidence because "they've used FrontPage for years" and the fact that it's in a UI they're used to using like Word and Outlook.
    One of the members pointed out that they deployed it via their SOE with a locked down install that made it easier to control what they can and can't do.
    I'd love to hear your feedback on successful/unsuccessful real world deployments of SPD.
  • Solution Development is uncommon
    From the group of people in our user group which appeared to be a mix of Business Owners, Developers and Business Users it appeared that it was only really the Consulting companies that were embarking on custom development.
    I am really interested to see how many companies are getting away with button clicking to build applications in the web interface and how many are treating Site releases as full development cycles as outlined in my presentation with the following outputs:
    • Functional Specification
    • Technical Specification
    • Release Plan for UAT and Production
    • Install + Rollback scripts
    • Test Plan
    • End User Training Documentation
    • Original Source files
  • Uncontrollable monsters
    I think because it is so easy to build these apps in the interface without full governance around releases and moving sites from dev to prod with a few tinkering changes is acceptable...for now. This is not a world that SharePoint "developers" will enjoy forever, and constant flow of "tweaks" to these live apps will become demoralizing and uncontrollable. These small apps turn into monsters very quickly and need to be treated like monsters from the beginning in a governed process to stop leaking scope requirements and business users raising requested functionality as "bugs" that need to be fixed then and there on the spot!
  • Leveraging the Platform
    There was a lot of head nodding when I brought up the point of Business Users stating "SharePoint is easy, I could do it in a few days, so can you do it quicker in your development team?"...and then the follow up..."it's gonna take how long...I'll do it myself". This has brought about a lot of pain for IS teams.
    The perception is this stuff is easy, but the reality is that this stuff has boundaries where pointing and clicking can get you so far...but there's a gap to bridge them to some of their functional requirements that does require Developers. This will unfold in future posts.
Published: 7/16/2008  1:30 AM | 0  Comments | 1  Links to this post

Jul 132008

Perth SharePoint User Group Presentation

I'll be doing a presentation at lunchtime in Microsoft's Perth office on Tuesday 15th July 2008 at 12:30 for the Perth SharePoint User Group. Last months presentation by Sezai pulled a big audience and he has put his presentations up on the User Group web site.

My presentation will be on the articles I've been blogging on of late from a End User perspective, IS Owner perspective and also Developer perspective:

  • Deployment Governance
  • What to expect for deployment
  • Risk of non-conformance
  • End Users vs. Developers
  • Empowering the end user
  • Leveraging the platform

I'll be sure to get the three different camps aggravated with my views on who is responsible for what! I'll post up the presentation Tuesday evening...well most likely Wednesday (boys Poker night Tuesday).

Look forward to seeing some of you guys there. Apologies for the lack of posts, I've been on holiday for 3 weeks and caught a nasty Chest Infection on the plane back. I've got a few things to post this week coming based on last weeks dramas coming back to work ;-)

Published: 7/13/2008  4:47 AM | 0  Comments | 0  Links to this post