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
Mar 102008

SharePoint Debugging: No symbols loaded

I've been reading a lot of posts on how to get debugging going when attaching to the w3wp.exe process.
Disable 'Enable Just My Code' in Visual Studio
This blog post started me off in the correct direction by setting the Tools | Options | Debugging setting correctly.

Modify the web.config

Furthermore, it prompted me to change the web.config value from debug="false" to debug="true". The web.config file can be found in the Inetpub\wwwroot\wss\VirtualDirectories\ folder, each folder in there maps to an IIS Web Application which you can find by going to IIS Manager and looking at the Home Directory.

To get full blown ASP.NET errors rather than SharePoint branded "useless" ones follow these steps:

Setting CallStack=true
By default, WSS will redirect a user to the error page whenever an unhandled exception is encountered during the render cycle.  To disable this behavior, open your web.config and set CallStack="true" in the <SafeMode> node.  This allows you to see a typical Asp.net error page.


Setting customErrors mode…
The next step would be set mode=”Off” in the <customErrors> node.  This instructs Asp.net to show you a complete error report rather than a generic “Server Error” page.

Creating pdbs

For each project you wish to debug, you need to ensure that you are creating pdbs. I am using the really cool stsdev app to create my projects and had to modify it to create pdbs by going to Project Properties and on the Build tab in the Output Section click the Advanced button.

clip_image001

Then ensure that Debug Info is set to pdb-only.

clip_image001[4]

Attach to Process

The author of the previous referenced post also pointed me to running iisapp on the command line to output a list of all the running instance to know which process to attach to:

clip_image001[6]

Then when you select Debug | Attach to Process the ID matches to the PID in the output of iisapp. Note you need to check 'Show processes from all users' as w3wp.exe will be typically running as another account.

clip_image001[8]

You can check that you have the correct id by pressing CTRL-ALT-U and this will list all the Modules that are loaded with statuses on the symbols that are available (e.g. that when you create a breakpoint it'll work rather than giving you a 'No symbols loaded' errror).

clip_image001[10]

Notes for Visual Studio Debugging Newbies

Once you are actually debugging and can step through code after it breaks on a breakpoint...you can also use the Immediate window to inspect objects by pressing CTRL-ALT-I. From here you can get up intellisense on any object in context which is a great way to inspect things like whether a SharePoint list has an Event Receiver on it or not.

Published: 3/10/2008  10:49 PM | 3  Comments | 0  Links to this post

Nov 062007

SharePoint hotfixes

I subscribed to the OzMoss.com listserve, reluctantly at first because I am so used to RSS feeds for managing my content and not my inbox. So far I've found it very useful, especially as GMail groups the emails together as the thread builds which makes it easier to manage.

The RSS feed available for the listserve does not do any grouping of threads which can make it hard to follow especially if you leave it for a few days and then try to catch up! Be nice if there was an option in Google Reader to group the posts ;-)

Anyway, a great thread has kicked off around deployment issues with SharePoint 2007 and the main message coming across is that it was so much easier in Microsoft Content Management Server (MCMS) days!

One other thing that got my attention was Sammy Jankis blog article that lists all the Hotfixes available for SharePoint 2007 already. Every bit of software has bugs on release and considering how buggy the Beta 2 release was that I played in March prior to the official release in November 2006 they've done a great job of ironing a lot of the issues out. It still does concern me that these are an issue and that there is no mention of a service pack for SharePoint 2007 so far. If they are thinking of releasing the next full release in 2009.

Published: 11/6/2007  4:57 AM | 0  Comments | 0  Links to this post

Sep 142007

SharePoint and Records Management

As I've mentioned in previous posts...SharePoint is a large product with lots of functionality across six main areas (Portal, ECM, Search, BI, Collaboration and Business Process and forms). As with all the big Vendors in the ECM space, most are strong in some areas and weak in others. SharePoint is by far the strongest in the Collaboration space, but is definately the weakest in Records Management space.
Andrew Chapman has a good go and slating SharePoint RM. Andrew makes some great points around the fact that the Records Center is not a centralised repository and that SharePoint allows multiple repositories to be created. I think anyone who is going to take RM seriously with SharePoint would most likely keep one repository, but simply have various Libraries for each defined Policy/Content Type. I do not agree with what Andrew is saying with regards to it leading to disperate repositories as this is all done by Central Administration which hopefully, not too many people will have access to!
 
I'm following this space with great interest. Afterall, once a partner or Microsoft themselves takes this platform seriously and Records Management seriously, it won't be long before a solid solution is available.
 
Compliance
 
Interestingly, I was talking to a colleague at work on Friday who is a fellow Solution Architect in the Security, Storage & Virtualisation space. We were talking about how much overlap there is in our two areas with regards to compliance. CommVault has a very significant product in the archiving space around SharePoint. I will very soon be writing a few posts about how this product can help an Enterprise who are using SharePoint.
Published: 9/14/2007  11:55 PM | 0  Comments | 0  Links to this post

Aug 312007

MOSS 2007 Records Management Review

A fellow Solution Architect I work with specialises in Records Management and is on the Professional Records Management Associations boards etc. here in Australia.

 

I have also been reading through Joel Olsen's Whitepaper on Compliance Features in the 2007 Microsoft Office System that was written back in November 2006.

 

What I am attempting to do is investigate how the likes of TRIM, OpenText and Interwoven work in terms of Records Management/Document Management and see where Sharepoint matches these "out of the box".

 

Platform Advantages

The advantage of Sharepoint is that it is built on a framework with a very substantial API Object Model. This enables me to write implementations that hook into the Sharepoint platform pretty much anywhere I please...potentially meaning that you can do anything you want in Sharepoint but it's going to take billable effort to do it.

Other Vendor products don't have as many hooks in and as many interfaces exposed which makes it hard to definitely be able to say yes to functionality especially around areas of User Interface and Events where Sharepoint is extremely strong.

The nice thing is that most of the API work in Sharepoint would be added using Features to Site Collections with hooks in for Events etc. A lot of other vendor products mean hacking away at the platform code which means that upgrades become a living nightmare! This is something that is often forgotten to be mentioned when doing custom development on such a platform.

 

Over the next few weeks I intend on producing some more structured articles on what Sharepoint can do in terms Records Management and where it needs work.

 

Quick Look

 I showed the Records Center to our Guru and she started flying requirements at me based on all the "Acts" that are out there. I've put a very brief account of some of these points:

Declaring a record
Once a working document is declared as a record all of it's versions should be captured and should be viewable. The document, as part of the record, should not be editable and versions of the document, also part of the record should not be either and should not be able to be deleted.
The first thing that our guru noticed was that you could delete versions of a document in a record and that you could also edit the metadata on the record.
She also noticed that sending the document to the Records Center still kep[t the document in the Document Library as well as now having a Record with a document inside it in the Records Center. Even to me this looked a bit unclear.
There isn't much out there in terms of Records Management, in the forms of books, white papers, blog articles and I intend on trying to open this area up a bit.

Record Declaration
Another area that she explained to me was around Record Declaration in terms of Document: linking, extraction, superseding, copying and moving.
Linking - From first glance, declaring a Word Document as a record that has a Hyperlink to another Sharepoint Document did not grab that Document as well when it created that Record.
Copying - Obviously as the Records Center can route to Document Libraries, you can copy and move the Records like any other List Item. I have yet to see whether it keeps an audit trail of these actions for the Record though. Obviously this could be done via Events, but again is more custom development.
There also seemed to be no options for the other features there either around extraction and superseding.

Where next?
I probably need to find out who the Sharepoint Records Management gurus are to shoot me down on my findings and show me how it really works as I go and I will be writing these lessons down as I come across them to save anyone else the pain.

The problem with jumping ahead with a Records Management solution, is no doubt Microsoft have now poached a few Records Managers and are taking all this feedback and writing in all this functionality into the Records Center as either a service pack, a Site Template release or possibly as part of Sharepoint 2009.
It is a major hole in the ECM story for Sharepoint as a Enterprise solution and I would be strongly recommending 3rd Party integration with OpenText, TRIM or Interwoven if there is a strong Records Management requirement.

 

Watch this space as I delve deeper into the world of Records Managers.

Published: 8/31/2007  4:51 PM | 0  Comments | 0  Links to this post