Showing posts with label best practices. Show all posts
Showing posts with label best practices. Show all posts

Sunday, April 19, 2015

"It's Alive!": My Upcoming Presentation at Ottawa SharePoint Meetup Group on April 30



Please join me at the Ottawa SharePoint Meetup Group's April 30th meetup, where I will be presenting "It's Alive!".

You've got to get a million small details right when launching a project, and the pressure is enormous. I will present a list of tips and tricks to assist you with project Go Live, whether you are just starting your project planning, or up against a scary deadline!

We meet at Patty Boland's pub at 101 Clarence in the Ottawa Byward Market where you can enjoy the presentation with good food, drink, and company! If you are planning to attend, please RSVP here so we can arrange enough seats.


Thursday, February 13, 2014

SharePoint 2013 Migration: Stress Free! (SharePoint Federal User Group in Ottawa presentation)

I gave this presentation at the SharePoint Federal User Group in Ottawa recently - based on some recent project work we have been doing I tried to distill the migration tips down into real world tips and tricks. It led to an interesting discussion since lots of people were interested in the topic and had approaches they had tried or wanted to ask about. Here's the presentation on SlideShare:

Monday, July 15, 2013

Webinar: Out-of-the-Box Content, Document, and Workflow Management with SmartDocs, MS Word and SharePoint

Back by popular demand, my colleague Ryan Merpaw is holding another webinar with ThirtySixSoftware, which produces SmartDocs product. This is a great product to help manage content reuse for collaboration and publishing scenarios. All the approved reusable content is hosted within SharePoint team sites and injected into Word when users are writing or reviewing content. We are using it at StoneShare to assist us with generating reusable templates and it is highly effective at that. Learn how it’s done!

This free webinar covers Out-of-the-Box Content, Document, and Workflow Management with SmartDocs, MS Word and SharePoint http://thirtysix.net/events/partner-webinars.aspx

Register Here:
Wednesday, July 17, 2013 12:00 PM - 1:00 PM EDT

https://www3.gotomeeting.com/register/269575158

Wednesday, June 26, 2013

Webinar: Enhanced Productivity with SmartDocs, MS Word and SharePoint for Content Reuse

My colleague Ryan Merpaw is holding a webinar with ThirtySixSoftware, which produces SmartDocs product. This is a great product to help manage content reuse for collaboration and publishing scenarios. All the approved reusable content is hosted within SharePoint team sites and injected into Word when users are writing or reviewing content.

This free webinar covers Out-of-the-Box Content, Document, and Workflow Management with SmartDocs, MS Word and SharePoint http://thirtysix.net/events/partner-webinars.aspx

Register Here:
Thurs. June 27 @12:00 noon EDT: https://www3.gotomeeting.com/register/529239118
Wed. July 17 @12:00 noon EDT: https://www3.gotomeeting.com/register/269575158

Wednesday, June 05, 2013

Choosing and Using Cloud Services with SharePoint

Here’s a copy of my presentation for the SharePoint Summit 2013 in Toronto. I spoke about tips and tricks for evaluating and managing cloud services with SharePoint, including some common gotchas and considerations.

Because it was such a wide-ranging topic I tried to anchor it with the story of StoneShare’s own journey to the cloud. I like to keep my presentations “real world” Smile

I hope this is of value to someone – please feel free to contact me on LinkedIn if you have any questions about it.

Thursday, April 25, 2013

SharePoint Summit Toronto 2013

I’ll be speaking at the Toronto SharePoint Summit 2013 again this year. My topic is “A No-Hype Approach to Choosing and Using Cloud Services with SharePoint”.

I’ll be doing a really-practical deep-dive into SharePoint and related cloud services. I’ll talk about best practices, issues, opportunities and risks for using cloud-hosted business and infrastructure services such as Office 365, Dynamics CRM, Yammer, CloudShare, and other popular offerings, with SharePoint. I am putting together a lot of real-world examples and facts that we have found at StoneShare. It’s going to be wide-ranging and cover compliance issues, branding and user experience, popular service offerings, integration and platform decisions, up-front and hidden costs, and business and IT benefits. Phew!

The good folks at Toronto SharePoint Summit also want to get the word out – so if you are interested in attending the conference, come to SharePoint Summit 2013 – Toronto.

Here’s a blurb on the event:

This year in Toronto, there is an exceptional speaker lineup with some of the top industry known SharePoint influencers and MVPs including Andrew Connell as the keynote speaker.

Benefits for your organization include:

- Learning about the SharePoint 2013 platform and its new features

- Understanding the power and potential of SharePoint

- Discovering and exploring the options for deploying SharePoint in the Cloud

- Improving your understanding of information architecture

- Understanding key SharePoint modules and how they can support solving your business problems

- Cases studies of companies that have implemented SharePoint solutions

- Discovering the best development approaches when dealing with SharePoint

You can register here. Hope to see you there!

Wednesday, October 05, 2011

SharePoint Conference 2011: How eBay Successfully Upgraded their Intranet to SharePoint 2010

These are my rough notes of the presentation by Ramin Mobasseri and Chris Givens of eBay. The Hub is pretty impressive for the way it organizes information for its users and the lengths it goes to in order to default metadata for improved searching.

Agenda

  • Why upgrade?
  • Methodology
  • About the Upgrade (Technical)
  • About the Upgrade (Tactical)
  • About the Upgrade (Functional)
  • Q&A

Why Upgrade

On MOSS 2007.

Got more complex requirements from business users who didn’t want to write code.

Better search.

Enterprise Social Networking

Better device and browser compatibility.

Demo: The Hub – the core eBay site. ESN is Enterprise Social Networking. Proud of combining managed metadata store with FAST search.

Extensively branded (yellow, large icons for the main menu items.

Global Nav

  • Who We Are
  • News
  • My HR
  • Teams
  • Workplace
  • Our Businesses

Have people search and all sites search at the top of each master page.1 click people search using FAST and typeahead

People results

Contact Info, Department info

Search Best Bets

People look for 3 scopes of things at eBay

1. Business Unit

2. Location.

3. Organization

Managed Metadata filters on the left to allow those scopes. DIfficult to tag pre-existing sites with managed metadata

Upon creation of a site you get Best Bets added automatically

Visio Services

Used by IT Tools team – wanted way to watch health of their servers at all times. Didn’t want to spend money. Took 45 minutes to draw visio diagram and connect to backend systems. Can filter by Production and DR environments or by Dev environments.

Why Upgrade

Social Media at work – did pilots – decided on Yammer, Chatter, Newsgator, and other social networkings. Decision to not dictate technologies on end users, but recommend tools they feel are best.

1st Attempt – try to integrate these tools. If it doesn’t succeed, we aggregate.

List of social networking services under My Social link

End users can make a post and it sends to multiple networks.

Expertise locator tag cloud

Expertise Search

Better Browser and Device Compatibility

Built feature grid – against all browsers. And put a level of support from 0 to 4.

Better performance: Increased performance by 29% (for global users) since servers are based in Denver.

Upgrade Methodology

Upgrade took 3 months.

Agilistic Scrum over the Spiral Waterfalls!

Blend of project methodologies. Started in Agile mode. Had MS Architects vet the scrums to make sure everything was in place. Meanwhile business analysts could create waterfall project plan.

Communication Plan: Write to end users, team site owners, don’t surprise them. They used a grid:

Subject | Type | Target Users | Description | Date Sent.

Governance Plan: Your blueprint. Over 345 new features – yes or no answers with each team and work with IT Operations to get their blessing. If “Yes” how is it configured and who can do what?

Feature Matrix for each set of features.

About the Upgrade (Technical)

Had access to MS Architects to ensure everything was possible.

Project Requirements:

  • 3 month timeline, multiple solutions to be upgraded.
  • Data  Mining/ Farm Documentation
  • Detailed Analysis of existing farm
  • 3rd party solutions audit.

Ran a source code comparer to diff the SharePoint files in 12 hive against the OOTB files.

Biggest challenge was 3rd party solutions. Had to build whole mockup of 2007 environment and then try migrations into 2010 to see what broke.

You need business users who can test this to see if it works or not.

Environment:

Large server farm. 14 servers, 20,000 users world-wide, 12,000 sites and 33,000 My Sites. 20+ content databases.

Disaster Recovery. Redundant Data Centers for failover.

eBay has full failover – 4 hour failover time window.

$1.5 M of hardware.

Hardware and Performance Topics

Farm Configuration: Had to figure out capacity planning, how many servers, what the SLA’s are and tolerance for risk. For Disaster Recovery you might have to double the costs.

Microsoft offered access to MS Data Centers to test performance. Problem: eBay required other systems to be connected so that didn’t really work. Microsoft provided Architecture review.

IOPS are VERY important – FAST requires high Input Output for disks

SANs – very expensive, work with SQL Server. Everything else is Direct Attached drives for WFE and App servers.

Capacity Planning -  how many users concurrently – what will the transaction mix be? Plan for growth.

VS Ultimate Test Tools – allows for performance testing of your applications.

Performance Optimizations: Page weights, global network.

High latency network can cause end user dis-satisfaction. Top 3 HTTP request types tend to be: CSS, Images, JS

How to minimize the page weights?

  • Minimize the CSS (remove un-used CSS classes)
  • Compress the CSS
  • Make images 1px wide
  • Minify the JS files

Got page weights down to 67k. Users were happier in global locations

Caching:

  • IIS Output Cache – causes weird page weight issue with browser
  • ASP.NET Caching
  • BlobCache -
  • ProxyServers
  • CDNs

About the Upgrade: Tactical

Provisioning a site – a  custom form. Long running process within a webpart. Anyone can create a site, IT gets a notification.

You specify a Business Unit, Organization, and Office Location default values using Managed Metadata. So when they search it will automatically filter from those sites with those values, they don’t have to do anything. They can find their site using their keywords. This took the longest time.

Rich Proifles: Encourage the end users to modify their user profiles

Offer them incentives.

Get rid of unwanted unused sites (clean your house)

Start your brownbag series early

Build an Upgrade Community to get feedback

Have weekly status meetings with the stakeholders

Make sure you have a Technical PM on the team

Watch out for the phrases: “That’s taken care of” or “That’s finished” – you have to test.

Test test test test

Productivity Hub

Power User Training

About the Upgrade: Functional

Master Pages – colliding requirements between functional groups

Editorial Issues: Did you use Word to edit in MOSS

Watch out for DIV and SPAN tags

Rich Text Editors and Content Editor webparts

The Ribbon: You will see some resistance. Users will settle after training

3 sets of users: Pioneers, Settlers, Stay-Behinds

Managed Metadata Services - Brilliant for search. Allow time for Information Taxanomy, do not rush! Planning to add them to lists and libraries (auto-tagging)? Watch out for Datasheet views.

Service Packs – don’t do SP for 6 months. But plan for it early

Questions

How many people were on the project? 3 devs, 3 IT Pros, 2 PMs (9 or 10 people for 3 months)

Physical or virtual? FAST and Admin was virtual, otherwise it was all physical (due to internal eBay policies)

Training: 20,000 user base – have trained 150 users so far. Train the trainer – Productivity Hub is 3rd most visited hub in the last few months so this is helping with training

Methodology – what do they recommend? Use whatever works. eBay recommends Scrum in Dev and get branding requirements via traditional models. Dev moved ahead while waiting for requirements (had a general idea)

Did you have to change any functionality? Had to rename thousands of host header name changes. InfoPath data connections were statically set – big issue.

Did you have constructive feedback on the intranet? Yes – put up a blog on the issues – have weekly call with Microsoft on post-upgrade lessons learned keeping Microsoft informed

Migration Approach? Was Database Attach in new farm. All database fail – that’s a given. The amount of time it takes to upgrade is directly related to the number of sites – so delete all the empty ones.

Saturday, September 24, 2011

SharePoint Data Governance: Achieve Consistent & Automated Security Webinar Invite

Next Friday September 30 I will be co-presenting a live webinar on SharePoint Data Governance with Microsoft and our partners Titus. I will be speaking to some real world examples of handling SharePoint security and regulatory compliance challenges using SharePoint and Titus Metadata Security.

The amount of data - and sensitive data - is growing within SharePoint environments every day, but is your organization set up to keep it all secure?

Date: September 30, 2011
Time: 12:00pm EST
Speakers:
Dr. Soheil Saadat
Principal Program Manager
Microsoft


Nick Kellett
Microsoft MVP & CTO
StoneShare


Antonio Maio
Senior Product Manager
TITUS

Register Now!

You can find out more information on our StoneShare.com website here:

http://www.stoneshare.com/news/Pages/TitusLabsWebinar.aspx

Friday, July 15, 2011

Microsoft: Submit your story on SharePoint and Get Showcased!

Microsoft has posted the following contest – a great way of sharing SharePoint success stories with the world. Read on for details:

There are so many fantastic success stories on SharePoint 2010 that are just waiting to be told and shared. Now’s your chance to get your story heard!
You’re invited to share your unique story on SharePoint 2010 to win the chance of being professionally filmed and showcased on the Canadian site for Microsoft SharePoint. Winners also get a complimentary conference pass to attend the Microsoft SharePoint Conference 2011 in Anaheim, California from October 3-6 2011 (a $1,199 value.)

1st prize

Your story professional filmed, plus a pass to the Microsoft SharePoint conference 2011

2nd prize

One pass to the Microsoft SharePoint Conference 2011

Contest Categories
SharePoint 2010 is a versatile solution and can address many different business challenges. Choose a submission category from the following list on how you used SharePoint to address the following business priorities:

  • Increase productivity
  • Reduce cost
  • Rapidly respond to business needs

Please note that you can submit to multiple categories, provided each submission is a unique and different SharePoint 2010 solution (i.e., one solution per category).

Don’t miss this great chance to be rewarded for all your hard work. Your journey with SharePoint is important and it needs to be heard!
All submissions must be received by August 22nd, 2011.

Good luck!

clip_image002

Friday, April 22, 2011

Managed Metadata Term Set Tools

One of the great new features of SharePoint 2010 is the new Managed Metadata service, which allows you to centrally manage your metadata. You can setup hierarchical terms in a variety of languages, and delegate the administration responsibility to end users such as Information Management staff or Records Managers.

Although it is easy enough to add individual terms, there are a variety of great tools that make it easy to create and upload entire term sets (the largest we have migrated so far is Medical Subject or MeSH data with about 16,000 hierarchical medical terms).

Here are some of the tools we use at StoneShare:

Excel Template with Macro

Wictor Wilen has created an Excel Template with a Macro to make it easy to populate SharePoint 2010 Term Sets.

I have uploaded the file to the Agora Development site under Shared Documents > Development Tools: https://agora.stoneshare.com/dev/Shared%20Documents/Development%20Tools/TermStoreCreator.xltm

The instructions are located here:

http://www.wictorwilen.se/Post/Create-SharePoint-2010-Managed-Metadata-with-Excel-2010.aspx

Term Set Importer / Exporter

When uploading large term sets (such as the MeSH one we used for a client) you might get timeouts in Central Administration – this is because the out-of-the-box import tool uses a web interface). There is a great (FREE!) tool on CodePlex which uses a little desktop utility, and hence does not time out:

http://termsetimporter.codeplex.com/ 

Pre-Built Term Sets for Sale

Rather than going to the trouble of creating your own term sets, you can also purchase existing term sets from Data Facet. I haven’t yet used these so I can’t speak for them but this could be a good way to quick-start your managed metadata for a particular industry.

http://www.datafacet.com/sharepoint.aspx

One advantage of this approach (apart from the time saved recreating these) is that you will be using the identical term set as other organizations, which may help with data portability. Whether this is your business requirement or not is an open question.

I hope these tools help!

Thursday, April 21, 2011

There is a great SharePoint maturity model created by Sadie Van Buren we use to help educate our clients and anticipate their growing use of our products and solutions.

It's easy to use - just examine the particular section you are considering, and depending on the answers to the statements in the section you can determined where the organization fits. Generally organizations have different maturity in different areas of SharePoint.

SharePoint Maturity Model

Thursday, March 18, 2010

Tuesday, March 16, 2010

SharePoint 2010 Migration Seminar

In my new role as Chief Technical Officer at StoneShare Inc., a Canadian SharePoint solutions firm, I am currently working on SharePoint 2010 migration options, and will be presenting a seminar on migration at several different events over the next month.

This topic will be focused on administrators and business users who want to understand migration paths and how best to prepare for a 2010 move.

I will do a live demo of an in-place SharePoint 2010 Upgrade - not for the faint of heart :) - and discuss the various options, useful tools, what sort of planning is required, and actual technical steps to get a great migration result.

I’ll be publishing my slides once the seminar is complete. Here’s an overview of the demonstration:

Migrate to SharePoint 2010 - Stress Free!

Considering migrating your current SharePoint environment to SharePoint 2010?  Worried about what’s involved and how to manage it?  Don’t let it become a headache!  This presentation will discuss some common sense business and technical approaches to take away the pain, and help you deliver your SharePoint 2010 migration project on time and on budget.

Topics Covered:

  • A little history: The SharePoint 2003 to 2007 Migration experience
  • Common Migration Pains
  • SharePoint 2010 Technical Changes
  • Governance
  • Migration Options
  • Migration tools and utilities
  • The Migration Process
  • Recommendations

I will be presenting at the following events:

SetFocus SharePoint 2010 Seminar

This is part of a four-part series of seminars on SharePoint 2010 that SetFocus is putting on.

When: Thursday, March 18 at 1 – 4 PM PST

Where: Online webinar. You can register for free here:http://www.setfocus.net/marketing/spseminarseries.aspx 

 

Microsoft Ottawa Federal SharePoint User’s Group

This is the monthly SharePoint user group – it is definitely open for more than just Federal SharePoint Users to attend!

When: Tuesday, March 30 at 5 – 7 PM PST

Where: Ottawa at the Microsoft Office on 100 Queen Street

SharePoint 2010 Summit

When: April 12 to 14

Where: Centre Mont-Royale, Montreal

Register online now for this great SharePoint conference in one of the world’s great cities.

http://www.sharepointsummit2010.com/index_e.htm

 

There’s really a lot to discuss and I’m looking forward to the seminars. I’m also crossing my fingers the live upgrade goes as planned each time :)

Sunday, November 01, 2009

Introducing Clockwork Web Framework for .NET

In 2003, I read a book, “Making Space Happen”, by Paula Berinstein. It’s about the efforts of entrepreneurs to open up space to the public. It’s the kind of thing that gets my propeller-head spinning, and after reading it I resolved to create the best website on space travel on the internet.

So, I sat down in a park and within two hours I had covered several sheets of paper with scribbles and scrawls of what my website needed. I had notes on authentication, web components, search boxes, themes, dynamic images, language toggles, and all kinds of stuff.

Being a good little programmer, the more I designed, the more intricate the design became, and pretty soon I was knee-deep in code. Flash forward six years later, and I have yet to write a single page of that space website!

But I do have a web framework :)

What It Is

Clockwork makes it easy to build powerful .NET web sites. It’s completely free, open source (under the Apache 2 license) and you can use it in proprietary or open source projects, as you like.

Some of the ways it makes web development easy:

  • Database-agnostic data access
  • Dynamically displays content in different languages
  • Leverages the .NET 3.5 framework, including the Provider Model, generics, LINQ, automatic properties, and more
  • Integrates with popular web services such as those provided by UserVoice, LinkedIn, Google and Yahoo!
  • Makes it really easy to use object-oriented programming standards like Dependency Injection / Inversion of Control, Repositories, and Specifications

Under the hood I use many popular components, including NHibernate for database access, Castle Windsor for Dependency Injection, and log4Net for logging.

Although today marks the official public release, the framework is currently at version 3.x because I’ve been using earlier versions of it in production websites since 2004.

I’ve built Clockwork using as many web standards as I can find, as many of the latest .NET elements as possible, software best practices, and a lot of love and stubbornness.

What It Will Become

Well, it’s obviously too early to say. But I am committed to continuing to develop it, I have a long list of things I plan to add, and I’m hopeful a community of .NET developers will adopt it and push it into areas I can’t even imagine today.

Please take a minute to visit the website and learn more about it. I hope you find it helpful.

Many thanks,

Nick

Monday, October 12, 2009

SharePoint: A Product and a Platform

SetFocus just published another of my articles for their Technical Articles section. This one is called “SharePoint: A Product and a Platform”, and discusses the implications of SharePoint as a software platform.

My conclusions are that the platform provides significant capabilities including a unified development environment, reduced maintenance, development, support, and training costs, and may increase the risk of vendor lock-in.

I’ve written for SetFocus before because I have a long association with them, dating back a decade. I had my Java certification training and first job placement through them. For the past year I’ve been developing and teaching parts of their SharePoint programming classes for the SharePoint Master’s Program (I’m instructing evening classes again starting this Saturday).

You can read more at http://www.setfocus.com/TechnicalArticles/Articles/sharepointproductandplatform.aspx. I hope you enjoy it and welcome your feedback!

P.S. The article is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License which means you can modify it and share it around!

Wednesday, August 19, 2009

NHibernate Performance Profiling with NHProf

NHibernate

I’ve been using NHibernate a lot recently. It’s an Object Relational Mapping software that makes it easy to “map” between SQL database syntax and standard C# object models. The goal is to talk to databases, by writing code like this:


var query = session.CreateQuery("from WebPage p where p.VirtualPath like :path")
.SetString("path", "%pages%")
IList<WebPage> list = query.List<WebPage>();

Now behind the scenes, there’s a relational database somewhere – and transactions, and validation, and syntax parsing, and query analyzing, and all of that standard relational database stuff – but as a programmer I just need to know about my object model and it will return me a list of WebPage objects and I can easily use them in my code, update them, and delete them. Shiny!

NHibernate is a straight port of Hibernate, from the Java world where it originally evolved many years ago. So the concepts behind it have been field-tested for in both Java and (now) .NET shops. This makes it a very robust ORM tool. Did I mention it is completely FREE?

While it’s amazing software, it comes with a big learning curve. There isn’t much documentation out there – and most of it is on blogs and wikis. I’ve bought Manning’s NHibernate In Action and that helps a bit. However, there isn’t much information on common performance and configuration traps.

Learning and Analyzing With NHProf

So I was glad to find out about NHProf, a profiling and analyzing tool for NHibernate created by one of NHibernate’s main developers (Oren Eini aka Ayende Rahien). His colleagues are Christopher Bennage and Rob Eisenberg.

Essentially the profiler is a slick-looking Windows Presentation  Foundation executable that “records” your application as it writes statistical data to the NHibernate log file, then provides a graphical view of the various things that are going on under the hood.

The interface is well thought out, with only a few tabs and windows, so the information is easy to sort through. Here’s a screenshot of the main interface:

NHProf Main Interface

What I Like About It

Now to the things I really like about this software:

First, you can see the exact SQL query that NHibernate is generating. Straightforward, but critical. There is a related Stack Trace which allows you to jump to the part of your code where you executed this statement.

As well, you can view the rows that are returned by any query. This makes it easy to see exactly what data you are getting back – a much-needed sanity check at times :)

 NHProf View Results

Each NHibernate action is evaluated against known best practices (or bad practices) and you get “Alerts” that can provide more information on what to do (or not do).

For example, while running some recent queries, I received the following alert: “Too many cache calls per session”.

NHProf Alerts - Small 

This leads me to the final element that I LOVE – the “read more” and “NHibernate Guidance” features. Software is so complicated that I just want to get it working most of the time – but I know that if I really understood it, I would avoid a lot of bugs and future issues.

So what makes this software shine for me is the care that has gone into helping people learn NHibernate. By clicking “read more”  you go straight to a web page that teaches you about that particular error and ways to avoid it – including code samples!

 NHProf Alerts - Learn More

As well, there is a “Guidance” option that you can always access to learn about general NHibernate performance issues such as “Select N+1” or “Unbounded Result Set”. I’ve already applied the lessons from “Unbounded Result Set” and “Do Not Use Implicit Transactions” to my code and the result is much better performance and stability.NHProf NHibernate Guidance

One thing I would like is the ability to hover over an alert in the statement in the main window, and actually see a tooltip of the alert message. At the moment you can see the icon showing the alert, but then have to click on the statement and then click on the “Alerts” tab at the bottom to see what it’s for.

NHProf is still in final beta but I have been using it for about a month and have found it to be very stable. I just bought my copy – there is a discount right now before it hits RTM and I think it has already been worth the money.

I would recommend this to anybody using NHibernate.

Monday, February 09, 2009

SharePoint Best Practices - Another Great Year

P1010386

P1010434

We enjoyed another great year of Mindsharp's SharePoint Best Practices Conference in San Diego. Thanks to Mark Elgersma, Ben Curry, and Bill English as the chief organizers, although I know there are lots of other Mindsharp folks who worked hard to pull this off.

UPDATE: Just heard back from Ben - the primary conference organizers were Bill English, Paul Stork, Paul Schaeflein, Todd Bleeker, Steve Buchannan, Pamela James, Brian Alderman, Ben Curry, and Mark Elgersma. Thanks again guys!

Given the grim economy it was noticeable how many people showed up - over 350 attendees I believe in addition to all the vendors and organizers.

I attended with echoTechnology's Director of Sales, Sean O'Reilly. He's a real hoot - a bit of a legend on the conference circuit. We arrived on the Sunday. Since Sean and I are now using demo laptops and have the exhibit booth process nailed down after numerous conferences, it only took us about 15 minutes to setup the booth before we could unwind.

P1010402

That night the BPC kicked off unofficially with a Super Bowl party in Ben Curry's suite. It was great to watch the game with various attendees and exhibitors.

Joel Oleson gave a funny keynote on Monday morning, talking about the 10 steps to success.  He argued that SharePoint is plastic and so just because you can do something with it, doesn't mean you should. Some of his analogies included Robot Barbie and headless chickens. Also there was a disapproving mother ("IT") and finger-painting baby who got paint all over the wall ("the business").

One quote he mentioned from Gartner says that by 2010 less than 35% of WSS sites will put effective governance in place!

Programming Best Practices

In between exhibit hours and meetings, I was able to attend only one seminar, given by Francis Cheung of Microsoft's Patterns and Practices Group. This was a really neat explanation of best practices for programming against SharePoint.

What was interesting was Francis showed how object oriented patterns like the Repository pattern could be used to abstract out SharePoint-specific resources like list names, loggers, and so on. Francis also pointed out the need to create strongly typed business entities for SharePoint, rather than straight calls against SP objects.

This provides an additional layer of abstraction that allows mocking and unit testing. The idea is that for code testing purposes you should be able to swap in mock interfaces without relying on SharePoint being available. For instance you should be able to run unit tests against SharePoint code without the SQL database even being available.

These entities also make it easier to work with presenters/controllers without worrying about looking up Site or List GUIDs, or provide an easy way to do CRUD operations.

Microsoft currently has a patterns and practices guidance available at www.microsoft.com/spg. From the guidance doc:

This guidance discusses the following:

  • Architectural decisions about patterns, feature factoring, and packaging.
  • Design tradeoffs for common decisions many developers encounter, such as when to use SharePoint lists or a database to store information.
  • Implementation examples that are demonstrated in the Training Management application and in the QuickStarts.
  • How to design for testability, create unit tests, and run continuous integration.
  • How to set up different environments including the development, build, test, staging, and production environments.
  • How to manage the application life cycle through development, test, deployment, and upgrading.
  • Team-based intranet application development.

This approach is actually a standard approach to custom code development but SharePoint has tended to blur the lines a little bit. What is very interesting is that more and more of the BPC seminars were about programming and unit testing. People were even talking about Test Driven Development (TDD) against SharePoint!

What this indicates is that organizations are starting to treat SharePoint seriously as a development platform. This has always held potential but required a steep learning curve. For example, at the Best Practices Conference last year there was very little on these sorts of developer-centric practices. This year it was all about programming against SharePoint in the traditional way - using unit tests, mocking, web smoke tests, and OO patterns.

There hasn't been a killer app for SharePoint yet but it's coming.

Best Practices For Centrally Governing Your Portal and Governance

On Wednesday morning I gave a presentation on helpful tips for centrally managing a portal. I showed a governance site collection I have been working on and talked about how it can be used to make it intuitive and easy to run a portal.

I'm including my powerpoint presentation here.

There are no screenshots of the governance site collection yet although I am uploading a couple as part of this post.

Governance Site Home Page

Governance Site Taxonomy 

Hope this helps!

Saturday, January 31, 2009

SharePoint Best Practices Conference 2009

Tomorrow I'm heading off to San Diego for the Best Practices Conference. I thought the last one was fantastic and I hope this will be just as good.

Last year's BPC had a great mix of people with all kinds of good tips and advice on SharePoint, ranging from really in-depth IT operations-style tricks to more end-user focused adoption and support techniques. There was a real buzz of enthusiasm for SharePoint that you don't often see at conferences.

This year Joel Oleson will be making the keynote and I'm looking forward to hearing his speech. As well, there are over 40 speakers (including many MVPs), 27 sponsors, and hundreds of attendees.

Last year I presented some ideas on how to centrally manage metadata in a farm. Once again I'll have a chance to speak on a similar topic. This time my presentation is called "Best Practices For Centrally Governing Your Portal and Taxonomy" - pretty straightforward title I know :) It'll expand on last year's work - I've got a demonstration of an actual governance site collection and ideas on how to manage things centrally including key SharePoint items like content types and lookup lists. I'll post the slides in various places after the event.

On a side note, I've been on the road a lot recently and my blog postings have been less frequent. With a bit of luck I'll be able to attend some sessions and blog on the speakers this week. Either way I hope to have some more "meaty" SharePoint posts in the near future. I don't want this blog to look like a travel diary!

Thanks for reading as always,

Nick

Tuesday, October 28, 2008

SharePoint Governance Site Advice

While preparing for my SharePoint Best Practices Conference presentation on centralized taxonomy, I made a sample governance site to help with my demonstrations. Afterwards I received feedback from people asking for concrete examples on how to do this. So here goes:

Steps to Creating the Governance Site

I'm calling this the Governance Site because it's less confusing for the end users, but in SharePoint terms it's really a site collection. Here are some suggestions on how to set it up:

1. Use a dedicated site collection. By making a dedicated site collection you retain maximum flexibility. You can lock down the site collection security for sensitive governance documentation or make most content publicly available. You can deploy custom content types, site templates, and list templates, as well as manage features separately from the rest of your portal. You can manage Information Management policies and retention policies more easily. You also retain the ability to move the governance portal to other content databases, and can make complete backups of all your governance content.

2. Create a new managed path for the governance site in Central Administration. Under Managed Paths, create an explicit inclusion for the keyword "Governance".

2. Now create the governance site collection. With the Managed Path you just created, users will probably navigate to it using the URL http://[your portal address]/governance . The Site Template that you will probably use when creating this site collection is either the Blank Template,  the Team Template, the Document Center, or (probably best of all) the Collaborative Portal - because this will give you news and a site directory right out of the box.

3. Add a new global navigation link on your governance portal, pointing to the home portal. This allows your users to navigate back to the home portal from the governance site collection.

4. Add a new global navigation link on your home portal, pointing to the new governance site. This allows your users to navigate to the governance site right from the home portal.

Sydney - Governance Link

5. Ensure your Shared Service Provider search settings will crawl the governance site collection, although this should be happening by default.

6. Modify the governance site collection to suit your business. See below for tips on what to include / layout.

7. Keep your content types, custom site columns, workflows, Master Pages, and other SharePoint resources in this governance site. Centralizing them here effectively means they become your "Gold Standard" for any portal modifications. Your administrators should refer to them when making changes elsewhere. Your challenge is to ensure that work done elsewhere is consistent with the governance site.

Governance Site Layout

I'm including screenshots of the work I did. This is intended to help as a guideline.

The Home Page

Obviously this first page has to make it crystal clear to users what the governance site is for, and how to use it.

News and Announcements are important to indicate progress on the portal. A little introduction by way of a content editor web part would be useful to. Whatever you do, make sure this stuff is up-to-date - if you don't keep the governance site content fresh and useful, users will wonder what hope there is for the real portal.

I suggest putting a Roadmap on the front of it to show them where SharePoint has come from and where it is going in your organization. That way they understand this is a process and successes have already been achieved.

I like Roadmaps because people get very excited about the SharePoint possibilities. Having a Roadmap allows the governance team to take requests and good ideas from the business, organize them into little projects, and slot them into a proposed timeline. This encourages the business to see the SharePoint portal as an evolving, enabling process that they are involved in. It also acknowledges the reality of limited technical resources, time, and budget, and the need to make hard decisions about what will be done, and when. Best of all, it's quite transparent!

Governance Site Home Page

This road map is simply a Project Tasks List called "Portal roadmap", created on the root of the site collection. Then I added the task list as a web part in Gantt view.

Subsites

I would suggest including at least 5 subsites. These are:

1. Communication

2. Policies and Procedures

3. Support

4. Training

5. Taxonomy

These are the five main things your governance team will probably be working with. You can use any template you like, although in this case I used Team Sites. The Fantastic 40 might be useful for some of these sites - especially the Support or Training sites.

Communication

The Communication site is simply a central place to spread the word about the SharePoint portal. It could be very top-down, push communication via news items or updated content. More collaborative communication would probably involve wikis, blogs, or discussion threads. If you have an existing communication process or software you could link to it from here. Tying the SharePoint portal into your existing processes and content is an important way to make SharePoint seem less threatening, more empowering, and more inevitable :)

Not shown here is a feedback mechanism. This could be a discussion thread or embedded poll that asks users to comment on the governance site and suggest ways to improve it.

Policies and Procedures

The Policies and Procedures could be a Document Center. It is simply a central place for users to find all governance documents. You should store them here and then link to them from all the other sites, using the Link To A Document content type that is available from SharePoint out of the box. This will cut down on redundancy.

Support

The Support site should have a support matrix, showing users what levels of support are available for various sites, applications, and problems. This could range from self-help to IT support. There should be contact information for help desks and IT staff if available.

This is a good place to store videos and cheat sheets for users to help themselves. SharePoint add-ons such as the SharePoint Learning Kit could go well here. Effort place here will cut down dramatically on support costs!

Training

Training could also use the SharePoint Learning Kit, and could be a good place to identify what courses are available (internally and externally) and request training. I worked with a financial client who would not let users onto the SharePoint portal until they'd passed a small online course. Each manager had a KPI and was responsible for ensuring their staff took the course, passed it, and followed its teachings when using the portal. This helped lower support costs, the staff were very satisfied with the portal, and they used it more.

Taxonomy

The Taxonomy site is a place to document the metadata and site structure you will be using to organize the home portal. This site will be more technical but is an important resource for your administrators, developers, and content authors.

Document your content types and site columns, when and where they should be used, and explain how SharePoint uses them (advanced search, property searches, content query web parts).

If you have an organization Thesaurus, document or link to it here.

This is what it could look like:

Governance Site Taxonomy 

Governance Site Functionality

There's a lot of native SharePoint functionality that you might wish to use on your governance site collection.

Auditing on the site collection: You may want to know who is looking at what.

Workflow: The Governance site is an excellent candidate for light-weight Out-of-Box or custom workflow. Workflow can help triage support and training requests, and handle publishing approval for governance policies and procedures.

Search Scopes and Best Bets: If ever there was a place to serve up highly targeted search results, the governance site is it!

Search use metrics. You have to turn this on in your Shared Service Provider(s). Pay very close attention to what people are searching for and finding (or not finding) on the governance site and use this to modify your governance approach.

Audience Targeting: Consider audience targeting content on the governance site to prevent information overload. Broadly speaking your governance site audiences might include:

1) Governance Team members

2) IT Operations, Farm Administrators and /or Site Collection Administrators

4) Site Owners (Probably business owners and power users)

5) Content Authors and Champions

6) Everyone Else

Key Performance Indicators - if you have the Enterprise license of MOSS then Key Performance Indicator functionality can be useful to give people a heads up of roughly how portal adoption is going. One thing you can do is create a custom list with some tracking metrics and then put a KPI on that list. You can update the list manually each week to show the latest usage trends.

Metrics are very important as they can indicate whether your governance effort is leading to success.

Information Management Policies - especially if you are applying records management practices to the governance content.

A Starting Point

I really hope that helps. If you do create a governance site, try to keep it up-to-date and make it the central place for people to visit. I would love to hear your comments on what you did, what works for you, what tips you have and what add-ons you found to help you manage your SharePoint portals.

Good luck in your governance efforts - it will definitely be time well spent!

P.S.: Sorry this post is a couple of weeks late, Julie :)