Wednesday, 23 November 2011

Publishing Features for ALL Site Collections

Problem: The "SharePoint Server Publishing Infrastructure" is only available to Site collections on farms that run "SharePoint 2010 Enterprise or Standard" editions. The publishing feature (SharePoint Server Publishing Infrastructure) adds functionality such as menus for navigation, changing page layout, publishing web pages & swapping master pages.

Initial Hypothesis: If you have SharePoint 2010 Foundation or have not enabled the "SharePoint Server Publishing Infrastructure" you do not have the UI to work with key functionality for your site collection such as swapping the master page or editing the navigation.  Some of this functionality is available through the UI it is just hidden from the site settings page.
For example:
Master pages can be swapped at: http:///_layouts/ChangeSiteMasterPage.aspx
Resolution:  If you want some publishing features you could look at

Saturday, 19 November 2011

Product Evaluation - Knowledge Base from Bamboo Solutions

Problem: I need a Knowledge Base (KB) solution and the OOTB tweeking is OK but needs improvement.  So my options are find a 3rd party product or build my own.

Initial Hypothesis: Using 3rd party solutions is my prefered approach, I don't want to recreate the wheel but the product need to add value and be configurable to meet my requirements.  I have used Bamboo web parts in the past and liek their web parts, so I found Knowledge Base Solution Accelerator.

My Resolution:
I have only tried this on a developer standalone VM but I'm hugely impressed, the UI is good, the functionality is what I'm looking for which makes sense as KB are pretty universal. 

The setup was easy and configuration is good for different requirements so it is a good start.  The cost is $4K per server so very reasonable for the functionality.  The webparts such as the Data View Web Part is usable in other sites.

Definately recommend this solution.

Sunday, 13 November 2011

Web Templates and Site Provisioning

The age old debate on how to provision sites in SharePoint was well and truly answered in my mind, use Site Definitions with feature stapling to provision your sites.  In MOSS I even have xml driven config files to create sites using this technique en masse.  It just irritates me when people mention site templates (the old .stp files).  In SP2010 site templates are .wsp files and have improved from my minor experience however, due to the upgrade issues in MOSS and just how flaky I found site templates in MOSS I recommend avoiding them like the plague.  and I see no reason why Site Templates are better than Site Definitions, some guy always pops up with speed of creation and how flexible they are but I don't want the headaches all over the environment.

Note: Saving as a site template and including content has some restrictions, I believe 50MB of content is the max and I have had issues with content type columns being saved and restored.

Anders Rask did a session on Web Templates and I'm sold.  The question should now be Site Definitions or Web Templates?  Webv templates look great, fairly straight forward and reproducible as they are created in Visual Studio (VS).

These are you options for site provisioning as laid out by Anders as I scribbled them down:
  • Site Templates
  • Site Definition
  • Feature Stapling
  • Provisioning Providers (I've never used)
  • Web Templates (I've never used)
Web Templates Summary:
  1. VS created
  2. Custom ONET is injected
  3. Scoped at sandbox or farm level
  4. Does not support site variations
  5. No content publishing sites
And the answer is ....   read Vesa "vesku" Juvonen post on web templates well provisioning sites.  It's awesome and I have nothing more to add.

More info:

SharePoint Saturday UK Summary

This was my 1st SharePoint Saturday UK, it was terrific.  If you are involved in SharePoint I can't recommend it highly enough.  I amazed more people don't go to it.  I believe there is a good chance the next 1 will be in London.  I think the take up will be huge, well huger! 

Highlights: great sessions, meeting old friends, putting faces to people who help out the SharePoint community, the interest in our new community book (The SharePoint 2010 Handbook), talking SharePoint - people volunteer such great info that would take weeks to find o the Internet; they filter what they are amazed at and tell you in their own words.

Lowlights: 6 hours of driving & I did not prepare for the day, it's hard finding sessions with 2 minutes notice.

No lights:  I won a prize RRV £1500 for 25 user software.  Not sure what is does and what use it is, I could of used an iPad2 or a Idera duck.

Spot lightsTodd Klindt (@ToddKlindt) nice fella and good in both sessions, presents the way it should be done, simple and to the point while being engaging.
Anders Rask session(@AndersRask) : Developing with Custom Web Templates was out the top draw. Definately for me thinking of using Web Templates instead of Site definitions with feature stapling.
Paul Grimley - Deploying SharePoint 2010 Globally – The options, good session relevant to me at the moment.
Brian Culver - Did FAST Search.  Brian did this over loud speaker.  I've done a FAST project so it was not to useful to me but it was a very good place to be if you don't know F4SP (FAST).
Got to mention the guys that setup SharePoint Saturday Nottingham: Mark Macrae (@m_macrae), Anthony Pounder (Tony) & Brett Lonsdale.

Other people thoughts (starlights is the best I can come up with)
Nigel Price
Giles Hamson (Contributor to The SharePoint 2010 Handbook)

Thursday, 10 November 2011

Licencing for SharePoint Developers

I was looking at licencing around development machines.  I thought I was pretty comfortable in understanding it and then I saw this statement "Visual Studio 2010 Professional with MSDN does not include Exchange Server or SharePoint Server.".

Now it doesn't affect my client but I know it affects a lot of Microsoft partners.  I have been under the assumption that MSDN Professional included SharePoint Server standard and enterprise.  You have to have the premium or ultimate editions.

Each test that access your non-production (covered by MSDN) would need I guess the ultimate edition as well.  Perhaps the testing licence covers this.

But pretty expensive, as an example if you had 3 devs, 2 testers, 1 architect and 3 BA's and a PM (They all access the SharePoint test sites covered by MSDN).  This would require 10 premium or ultimate MSDN licences.  In the UK assuming these are new MSDN premium subscriptions (+- £3500 each) this comes in at a wopping £35K; for a small project and this is the dev licencing, it seems very high.   I really dislike the complexity in Microsoft licencing. 

It would actually be cheaper to by 6 MSDN licences for the devs, testers & architect and pay for the SharePoint 2010 standard server licences (£2000/VM), buy OS and buy a coupls of CAL's.

Honestly, why doesn't Microsoft make licencing simpler.  Additionally charging a Project Manager and end users for MSDN for looking at non-production sites £3500 is crazy.

John Stover has explained licencing for SharePoint pretty well in his series of posts on licencing SharePoint.

More info on SharePoint Licencing

Monday, 7 November 2011

Determining the Size of a Site Collection

Problem: You may need to determine the size of a site collection.  In my case I need to move a SP2007 site collection that is a content database with multiple other site collections.  I need to know where to put the site collection data on my SP2010 test environment. 

PowerShell for SP2010 sizing:
$used = (Get-SPSiteAdministration -Identity ).DiskUsed
Move the site collection using Move-SPSite -DestinationDatabase

Stsadm cmd for MOSS Site collection size:
stsadm -o enumsites -url http://url 
More Info:

Sunday, 6 November 2011

The SharePoint 2010 Handbook - Proof copies arrived

Publishing a book has been a real learning experience.  It has been extremely intesting and a lot more work than we originally envisaged.  Below is a photo of the printed manual.  Hoping to publish in the next few days once the lastest proof has been accepted.

We are hoping to hand out a few copies from Suzanne George at the Austin User Group Meeting later this week. 

Wednesday, 2 November 2011

SharePoint Center or Excellence

Overview: What is a SharePoint Centre of Excellence (CoE)?  I suppose that all CoE's share the maxim of "Realising the potential of SharePoint".  There are a lot of consulting firms and large organisations claiming to have CoE's.  I have come across different meaning for a SP CoE, ranging from a group of developers that are assigned out on projects; to CoE's providing guidance on development, customisations, infrastructure, processes, governance and advising on IT pro tasks/administration.  I'm far more in the advisory/governance camp for your CoE to add the most value.

Sonny Mian describes a SharePoint CoE as "In its simplest form a SharePoint CoE is a team of SharePoint experts which promotes collaboration and best practices around SharePoint in order to assist business adoption of SharePoint solutions by establishing and governing information architecture, defining platform strategy, addressing challenges and evolving SharePoint practice/development to economize delivery of SharePoint solutions while mitigating ever increasing security, privacy, regulatory and compliance risks.
The purpose of a successful SharePoint CoE is then to ensure that it remains closely aligned with business strategy by managing Cost, Risk and Adoption of SharePoint."

My Answer: I guess it all comes down to what you need for your CoE, I see it as predominately a solutions mapping advisory service that maps solutions based on your Infrastructure.  Customers bring an application in for review/suitability on SharePoint, the project/solution is verified for it's suitablility to SharePoint (on-premise or SharePoint 365), I get the high level requirements and map each of these to a Work Breakdown Structure (WBS) and lastly do solution mapping.  The solution mapping allows me to choose a suitable way to achieve the requirement.  This allows me then to estimate the time for each piece of the solution mapping.  It works well for both creating your high level design and estimating efforts/cost on a project.  An added bonus is that external agencies/consultancies don't go out and over engineer coded solutions that SharePoint can easily achieve. 

For me CoE is for guidance, making sure all development and usage fits in with the SharePoint Governance document.  This keeps the farm stable, reduces delivery time, improves service to the business ... the list goes on.

SharePoint governance should focus on the implementation of standards, roles and responsibilities, and processes to extract value from SharePoint data while managing risks, dealing with compliance requirements and keeping people and entity information secure.

CoE needs to be tied closely to your platform providers i.e. infrastructure.  You need to know what is available on your farms, capacity considerations, patches, service running, this allows me to map solutions that are appropriate given our capability while maintaining the integrity of the farms.

Another nice benefit is all code and architecture needs to be reviewed and meet our CoE development standards.  So we minimise risk as the architecture developed has to be approved, code is checked, and it is pushed through the correct environments and testing is required to move the application to the next environment. 

The CoE should also speak to infrastructure to highlight missing features, potential changes to the service and review the architecture with the Infrastructure team.  In my experience Infrastructure can get useful information from the CoE about forthcoming requirements that they need to respond to.

The CoE should also provide core coding library's for code that is shared across custom developed applications.  The best example of this is a common logging block.  In my CoE we used Microsoft's SharePoint logging block and customised it for simplicity and to ensure uniform use.  We also have a developer standards document that we require all development to adhere to.  Another core block is a configuration list that is used at a site collection level.  This is like a property bag but can be edited using SharePoint as it goes to a SharePoint list.  The list values are cached for 2 minutes to ensue optimum resource usage.

In large enterprises, the various business units benefit as the CoE provides concise advice as generally it has been seen before.  The SME working on spefic rojects are aware of similar or re-usable code.  The CoE can also assist with vendor selection and building relationships with partners.  This centralised pool of expertise also allows for providing expertise in more specific areas of SharEPoint such as search, workflows or BI are good examples.

What Does the CoE SME need to know
  • Farm(s) architecture
  • Governance - What service is offered and how is it offered via SharePoint
  • Experience in building a wide range of technical solutions using OOTB features, SPD, InfoPath, PowerShell, Visual Studio, 3rd party software such as Ninetex and web parts.   This includes consulting, implementation
  • Experience in integrating SharePoint with various technologies to build business solutions.
  • Migration experience such as SP2007 upgrades, moving sites and content databases, migration tools such as Metalogix, Quest, AvePoint, the list goes on...
  • Upgrading solutions - How to upgrading deployed solutions, how to install patch and service packs safely, change control in your DTAP environments.
  • Good communication skills.
This list really does go on and it's hard to find the right candidates for a CoE but I think they key takeaway is you need good communicators to interact with each other, the business service divisions and the clients (projects requested).
Other opinions:
Sonny Mian - has written a series of posts on CoE for SharePoint - Part 1.

ShareFest session on Coe for Shire

Also See:

Tuesday, 1 November 2011

Routing Email within a Document Library Overview

Overview: The Content Organizer feature (configurable at the site level) allows you to move a file to a specific document library or a folder within a document library. Content Organizer Rules allows you to create routing rules for your documents. Any rules created here are used to route individual documents based on metadata attributes that you choose

The Content Organizer feature only works on document content types.

"Emails can be treated as records and routed just like any other document"

More Info:

So useful for files but not useful for email routing.