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
Sep 262007

SharePoint ECM-Portal : S2

Well, my French is a bit rusty but according to this post there is a new release of an ECM-Portal : S2 coming out in later 2007. This is further confirmed from Mary Jo Foley who seems to be well in the loop with all things Microsoft.

Mary wrote a good post on what's coming in Office 14 here. The main feature here seems to be around MDM (Master data management) which she explains in her post, the first release codenamed BullDog will include some of the features of an acquisition of product called Stratature. It looks like this is being targetted for a release in Q1 2009 which is the rumours I've been hearing.

The S2 rumours are very low, funnily enough I got an email from the RMAA Australia List Serve off a colleague at work which mentions this also. From this, I'm guessing that there's been a few leaks from Microsoft and that news will start to flow out in coming weeks. I'll keep posting as I hear about it and try and find out more from Microsoft themselves. It also confirms that date of Q4 2007.

The email mentnios that the new add-on for the Records Center will have Chapter 2 (ie. the low security version which does not include the Management of Classified Records) DoD compliance. Found this beauty of a post which discusses this add-on.

I'm guessing that this add-on, is basically the solution package that was used to get DoD compliance in US and now they've got it ready for public release. This PDF summarises the findings that were executed in May 2007 by the Joint Interoperability Test Command (JITC) at Microsoft Corp.

Again, reading how it complies, it is nowhere near ready for compliance with Australian and European standards. I was talking to our Records Management Solution Architect here and she was saying that you should not be able to edit Records in the system, or modify any Documents within a Record once it's been declared as a Record - even Administrators. SharePoint Record Center basically allows you to do this, I'm not sure if that's because I'm logged in as an administrator or whether all users can do this.

Whilst reading around about this I found a great article by AIIM on ECM and where SharePoint sits in the big picture. Forrester have written something back in March 2007 also.

Published: 9/26/2007  6:59 AM | 0  Comments | 0  Links to this post

Sep 252007

SharePoint Licensing Changes

Was asked another curly question about Licensing on Friday, and was reading this during my daily reading about Internet facing (MOSSIF) sites and requiring CALs for internal connections. Basically, you weren't allowed to deploy an Intranet and Extranet in the same SharePoint farm because of licensing.

CodeJedi.net has posted a new article stating that the licensing has been reworked to allow a deployment of an Internet Site onto a single server for authoring (staging) and presentation. Tom Rizzo explains more here.

More can be found on the licensing FAQ and product list.

Published: 9/25/2007  5:17 AM | 0  Comments | 0  Links to this post

Sep 252007

SharePoint InfoPath

I've been getting some curly questions around InfoPath of late due to our organisation already using various other products in this space. It's great to compare these feature for feature to get a better understanding of what they do and what things can be done in them.

I found a good post with a video of InfoPath features. It basically describes hooking up a form to a SQL Database Table for querying orders for a customer and updating them. It does illustrate how quickly it is to build this interface up in InfoPath. If you were to do this in ASP.NET or WinForms, you'd take a lot longer than that! It includes validation etc. also which is great!

This webcast, as he discussed, is only the beginning of what InfoPath can do in terms of data connections etc., because you can then go on to submit this to InfoPath Forms Server and hook this into Workflows etc. In the boot camp we looked at submitting this information to a SharePoint list and manipulating data stored in the form. Scenarios around HR Expense Claims and Travel Requests are good example of what InfoPath can handle.

I have been reading around to find out what else it can do and was reading this great article which covers embedding InfoPath forms into Office 2007 and also SharePoint 2007.

The InfoPath blog is a good place to start. Here I found a good article on skinning InfoPath Forms. There's also some great training labs here.

A great added value sell was how you can import existing Word Forms straight into InfoPath. Now I haven't tried this or what smarts it does in the background, but if there's an Enterprise out there who are currently using word forms you've got a base to work with!

Published: 9/25/2007  5:16 AM | 0  Comments | 0  Links to this post

Sep 252007

SharePoint for Web Content Management (WCM)

I was reading an article over at Provoke about SharePoint and WCM. The main discussion was around what knowledge you need to implement this and the post does a great job of breaking these things up. We have a designer at our work that understands CSS better than anyone I've met and he's currently working on a RedDot CMS implementation. I think he'll be able to switch products with no problems and will really like the SharePoint Designer interface for editing templates etc.

I guess the main thing to bear in mind, as the post also states, is that each WCM has it's own funky way to do the same thing. For example, if you wanted to render a list of sub pages with an extract, and thumbnail image etc. in SharePoint you'd probably be using the Content Query Web Part. This requires knowledge of XML, XSLT and also knowledge of SharePoint Lists as a minimum.

If you're going down the Accessibility path then it's a completely different kettle of fish! Speaking with Sezai from Vivid Group, he was highlighting the agony he goes through to make sure everything renders correctly and to standards. He basically doesn't use any of the out of the box web parts and custom writes all of his. Not really a good story for SharePoint. There is work in the pipeline going on as Clayton explains.

Published: 9/25/2007  5:15 AM | 0  Comments | 0  Links to this post

Sep 252007

SharePoint and Windows Workflow Foundation (WWF)

I was reading an article on WWF vs. LiveLink Workflow and reminiscing with my time working with WWF in beta on a big .NET project here in Perth. We came across some stumbling blocks with the persistence layer, which has been rewritten for SharePoint so that it stores it within it's database natively.

One of the key criticisms of LiveLink Workflow was that it is written in it's own language and not in a more accessible one such as Java or .NET. There's been lots of promise of LiveLink and it's newly acquired little brother eDocs (Hummingbird) being rewritten, but I'd have no idea of when this is going to be released. I guess it reemphasises the comments I made in a recent post around SharePoint being built in .NET and on one framework. A lot of the other vendors are built on various platforms due to them being acquired over time.

Following on from this I was reading a very concerning post by Dave Wollerman that explained that after 60 days in a Workflow, the workflow association is purged. This basically means that anything after 60 days expires. This seems like a big flaw because there are often business processes that will include more than 60 days and over time frames! Reading the comments (where all the answers seem to be these days), it seems that there is a solution within Central Administration.

Published: 9/25/2007  5:14 AM | 0  Comments | 0  Links to this post

Sep 252007

Sharepoint 2007 Document Libraries Capacity Planning

I got thrown a real curve ball today at work from one of our Technical Solutions Architects. He was querying if they moved 200Gb worth of files from a file store into SharePoint how big would the SQL 2005 database be?

I found a TechNet post that links off to various articles around capacity planning. This one seems to be most relevant to content storage.

Database Management

Bill Bauer has a great post describing how he's managed some fairly advanced MOSS 2007 implementations database growth by moving, repartitioning etc.

Testing Capacity

Joel Olsen also has a nice post on this and links to a CodePlex project to setup mock sites to test capacity. He also wrote this back in March too.

Performance Whitepaper

I've also seen this one before, but it covers performance based on the size of the SharePoint install. This basically highlights that to get the best performance you need to use a folder structure within a document library if you're going to have a lot of files in there.

Why use SharePoint Document Libraries?

Whilst searching I found a great article from Joel Olsen (I don't think I've ever read an non-ground breaking post from him!) about pros and cons of using Document Libraries over traditional File Systems.

Published: 9/25/2007  5:13 AM | 1  Comment | 0  Links to this post

Sep 252007

SharePoint for development revisited

Well the discussions go further from the two big guns (Andrew Connell and Joel Olsen). The key takeaway was "not to reinvent the wheel". The SharePoint platform does a lot of things out of the box that traditionally you'd spend days writing, for example, CRUD data access layers and database schemas that can now be implemented using SharePoint Lists and the SharePoint API.  The other key areas are direct integration with back-end systems such as Active Directory ,BDC, Excel Services and Form Services.

Interestingly he does mention that if it is storing more than 5000 records a day that he would recommend it being stored in a separate database. Even with this, you can still use the SharePoint platform to be the presentation layer and take advantage of the deployment of the solution as a series of web parts etc. and all the underlying security model, navigation and everything else that is inherited from .Net 2.0 and ASP.NET Frameworks. Further on this, Digital Wave recommend that you don't let the native support dictate application requirements.

Joel does make a good point about just jumping on this and starting using it. There is a learning curve on developing in a team on SharePoint platform in terms of creating Solutions and Deployment packages. These things are becoming easier as tools are coming out for Visual Studio to bundle these things up in a more automated way such as the wsp builder.

Joel also mentions about keeping changes to Master Pages and Layout Pages in source control (externally to SharePoint) with the rest of the Feature code. Another practice I would extremely recommend to baseline a solution in one place. Andrew also highlights that there is no big deal in keeping all this in version control and having unit testing running on this.

I found some slams against it from an article on SharePoint Buzz in terms of it not being able to use XP/Vista as a development platform due to Windows Server 2003 requirements. Jeffrey Palermo I'm guessing made this statement and sees this as a friction against developing using SharePoint. I see his point terms of being careful with not just using SharePoint for every application you write especially if you really aren't going to leverage the main functionality of the platform because people will raise havoc in terms of setup times etc.

At the end of the day, SharePoint is just another platform on top of the .NET Framework with some very powerful tools that can save you lots of time in the right scenario!

Published: 9/25/2007  5:11 AM | 0  Comments | 0  Links to this post

Sep 252007

HP SharePoint Sizing and Configuration tool

HP have released a new sizing and configuration tool for SharePoint. I've run through my initial thoughts on this. Their microsoft product page is here with further details.

image

Business Profile

Interestingly the quoted SMB as up to 1,000 users, Mid-market to 1,000 - 20,000 users (peak usage of 3:1) and Enterprise as anything bigger than that.

image

User Requests Per Day

The problem I see with the estimations is that it's kind of chicken in the egg. It really does depend on how much they roll out in SharePoint on how many average user requests per day. Even looking at data from existing Intranets is not a good basis as these are typically static and managed by a select user base. Rolling out SharePoint then opens up this management to the entire organisation which therefore encourages more use and therefore affects statistics.

image

 

Solution Component

This page tries to break down how the product is going to be used, interestingly it doesn't really cover off Business Intelligence as a separate functional area which could potentially be quite an overhead on a server (I'm assuming this is covered in the Web part classification). The issue here is there are so many variables in terms of whether there are complex workflows involved in document submissions etc. that it does really make it hard to narrow this down.

image 

 

Usage Characteristics

These Usage Characteristics are basically geared in favour of HP selling more kit and are probably a bit top heavy for a standard SharePoint roll out. The high availability option is the key explosion to the farm topology on this screen and reading a few articles on this is probably a good way forward as this will greatly affect the number of servers you require.

image

Interestingly, even though I ticked I didn't anticipate frequent indexing, it still put in a separate indexing server because of the 'high availability' option I'm guessing.  It does seem a bit excessive in terms of 3 blade servers for the front end for a 15,000 max user SharePoint site. Joel Olsen goes into this in detail.

image

Published: 9/25/2007  5:09 AM | 0  Comments | 0  Links to this post

Sep 242007

Using Incoming email with Exchange on one server

Thanks to Tom Molenhouse for sending me an email after reading my article the other day (I love the SharePoint community). The below instructions were found via a cached Google page here:

This script provides incoming email functionality when using WSS 3.0 on a Small Business Server, or on an Exchange Server.

We offer no guarantees that this script will work for you, and we are unable to offer free support.

Instructions

  1. Download the script here
  2. Save the script on your server
  3. Set variables in the script as required
  4. Create drop directory as you have specified in the script
  5. Configure WSS at Central Administration > Operations > Incoming E-Mail Settings
    - Enable sites on this server to receive e-mail? YES
    - Settings mode: ADVANCED
    - Use the SharePoint Directory Management Service to create distribution groups and contacts? NO
    - E-mail server display address: Enter your email domain name, e.g. yourdomain.com
    - E-mail drop folder: As specified in steps 3 and 4
    - Click OK!
  6. Create an email enabled list on your WSS site (see below)
  7. Test the script works by running it manually. Check application event log for errors.
  8. If all works, then create a scheduled task to run the script as desired. (Start | Control Panel | Scheduled Tasks | Add Scheduled Task).

For step 6. Just go to any SharePoint list e.g. a Shared Documents Document Library and go to Settings. Click on the Incoming e-mail settings link.

image

You'll see this screen, this is a sample setup.

image

Naming Standards for Incoming e-mail addresses

On thinking about this they'd have to be some form of naming standards for the incoming list address. So basically you need to create an Active Directory account with an Exchange Mail box for each Incoming E-mail list you require.

image

How the Script works 

The script basically opens the designated Exchange Inbox you map to and for each email there, spins through and writes each one to the drop folder. So you need one of these scripts running for each Inbox you listen to so it's not going to scale that far, but for demonstration purposes is fine.

SharePoint has a watch on this folder as set up in Central Administration in step 5 and it does the magic from here. I'm guessing it must look at the .eml contents and map the to: field to the designated Incoming e-mail settings.

If you use Scheduled Tasks you can only have this running every day, so you'll have to do some smoke and mirrors in the demo or write a cuter app to run this.

These guys have thought of "everything"!

I wonder what happens if you give two SharePoint Lists the same incoming email address?....

image

...so they thought of this already! Good work! ;-)

Published: 9/24/2007  6:25 AM | 4  Comments | 0  Links to this post

Sep 242007

SharePoint Records Management Virtual Lab

Microsoft have posted up a virtual lab to showcase the Records Management capabilities. The lab basically took you through:

  • creating a new records center
  • creating some Document Libraries for Financial Reports, Contracts, and Product Development Files. All with some custom metadata, retention policies and audit policies.
  • creating record routing for each Content Type.
  • configuring Central Administration to map a SharePoint instance to the Records Center
  • applying a Document Library to a newly created Content Type e.g. Financial Reports
  • submitting a Document to the Records Center

The problem I had with the Virtual Lab is that although it does demonstrate the features of the Record Center. It doesn't particularly explain a scenario that an Enterprise would go through and the purpose of the Records Center. The Records Center paradigm is not the same as how most Records Managers think and if I demonstrated this to one of them they'd eat me alive!

The problem I am having is trying to compare this to other Records Management products out there and how SharePoint will compete against them in Tender Responses and Presentations.

I also found a web cast that walks you through creating a Records Center.

I have summarised the Records Center functionality here.

Record Policies

For those of you that haven't even looked at the Records capabilities these are the Policy options you have out of the box:

Auditing

auditing

Labeling

labelling

Expiration

From this interface you can basically get it to expire based on a simple metadata datetime field. This does have it's limitations, but you can code around this. You may have a business rule that not only checks expiration, but also checks whether the document has been printed for example (weird requirement granted). I'm sure under the hood this are just Events hooked up to the library that constantly spin through each item to check for expiry and then trigger the actions or workflows you assign. Again, this can all be extended very heavily, but out of the box this is what you can do. I expect Partners to extend on these things very soon to cater for meeting standards.

image 

Barcodes

barcodes

Record Routing

Record Routing controls what happens to the Records when they enter the Records Center. This is how you configure what Document Libraries they get put into. Records can be received via email, Web Services and from the SharePoint interface. With Web Services, that basically means that third party applications can also send records to the the Records Center.

image

Create new Record

I was looking at the Record Routing create screen and noticed that the Library mandatory field is a single line text field...as apposed to a drop down of all the Document Libraries within the Records Center. I'm not quite sure what the advantage is of this and could lead to some ugly errors and troubleshooting hours with typos. I remember reading somewhere about someone putting an extra space in this box at the end of the name of the Document Library and spending hours to find this out!

image

Saving Documents into a Library

It also highlights a key feature of SharePoint where you can force Document Libraries to be managed by Content Types. So that when Users save documents in the Document Library it prompts them to declare what Document Type it is.

image

It shows how by configuring in the Central Administration a link to the Records Center form the SharePoint instance you get options to Send To Records Center on items in a Document Library.

image

What was nice, was that as the Record Routing was configured to go to the Records Center | Contracts Document Library, it prompted the User to enter the Final Effective Date for the Record as this column was set as mandatory. This is how SharePoint is trying to enforce a File Plan strategy.

image

image

When I clicked view properties on the new Contract Record I couldn't see the expiry date that is mentioned in the Virtual Lab.

image

Published: 9/24/2007  6:20 AM | 1  Comment | 0  Links to this post

 Next >>