Showing posts with label sharepoint. Show all posts
Showing posts with label sharepoint. 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.


Microsoft MVP Virtual Conference

Join Microsoft MVPs from the Americas’ region as they share their knowledge and real-world expertise during a free event, the MVP Virtual Conference.

The MVP Virtual Conference will showcase 95 sessions of content for IT Pros, Developers and Consumer experts designed to help you navigate life in a mobile-first, cloud-first world. Microsoft’s Corporate Vice President of Developer Platform, Steve Guggenheimer, will be on hand to deliver the opening Keynote Address. Why attend MVP V-Conf? The conference will have 5 tracks, IT Pro English, Dev English, Consumer English, Portuguese mixed sessions & Spanish mixed sessions, there is something for everyone! Come learn from the best and brightest in the tech world today. All of the sessions will all be delivered by the Americas’ Region Microsoft MVPs. These MVPs are experts who present at premiere conferences, independent community events and local user groups all over the globe.

This is a technical conference focused on helping attendees to learn and develop skills for everything from everyday technical work to wackier weekend projects. Whether it is on the IT Pro, Dev or Consumer side of things, you can bet that the content of MVP V-Conf will be cutting edge, exciting and relevant.

Be sure to register quickly to hold your spot and tell your friends & colleagues. The conference will be widely covered on social media, you can join the conversation by following @MVPAward and using the hashtag #MVPvConf.

Register now and feel the power of community! http://mvp.microsoft.com/en-us/virtualconference.aspx

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!

Monday, July 11, 2011

SharePoint 2007 Search Quirk–Hit Highlighting on Integers

While working on a SharePoint 2007 custom search project we found an interesting little quirk in the search engine.

We were using the XML iFilter rather than the regular html iFilter due to a requirement to tightly constrain some date metadata as type datetime (with the OOTB filter SharePoint was returning these as text and not allowing proper date range filtering).

While searching for numbers contained within text, if the number was on its own line of text and not preceded by anything else, the result would return correctly but hit-highlighting was not applied.

However, if we put any text at all in front of the numbers, the hit-highlighting applies perfectly.

Therefore the workaround was simply to alter the text that was being displayed to include at least one letter or word before the integers in the line.

Sunday, June 13, 2010

MOSS 2007 Service Pack 2 Backup May Lock and Remove Site Actions Options

We had a very strange error suddenly appear on a client’s site last week – we got the following email:

Anyone know what's happening with site actions menu on the top level site of [the website]? I have limited menu options - i.e. there is no site actions, edit page, create page, create site, etc.

Our support team looked into this and figured out the following:

The issue appeared on the top-level site collection due it being set to “Read-Only” after a backup locked the site and then failed to release it. Changing it to “Not locked” immediately restored the menus.

This is what our guys had to say:

In SP2, Microsoft added a feature to STSADM to automatically lock the site collection during a backup:

http://technet.microsoft.com/en-us/library/cc287967(office.12).aspx

“In Service Pack 2 for SharePoint Products and Technologies, site collections are automatically locked as read-only before a backup process occurs. Therefore, there is no need to use the Setsitelock: Stsadm operation (Windows SharePoint Services) operation. If you do not want site collections to be locked as read-only, you must specify the nositelock parameter that is available in Windows SharePoint Services 3.0 with Service Pack 2 (SP2).”

It is likely that some kind of error or exception interrupted the scheduled backup, and as a result the lock was not removed.

Here is the page link: http://[your address]/_admin/sitequota.aspx.

Hope that helps others out!

Monday, October 19, 2009

Things To Get Excited About In SharePoint 2010

Now that Microsoft’s lifted the TAP NDA and is presenting SharePoint 2010 publicly at the SharePoint Conference in Las Vegas, there will be a spurt of queued up blog posts on the net :)

Here are some things I’ve been very excited about, in no particular order. They are fairly developer-centric.

  • Ability to develop against the SharePoint dlls on a developer desktop! ‘Nuff said.
  • Developer Dashboard – makes it easy to see tracing information and web server details when you are working on a SharePoint site.
  • LINQ to SharePoint – this is some nice syntactic sugar that helps replace CAML a little bit. You can created strongly typed SharePoint entities using a utility called SPMetal and then query and manipulate the data in them using standard LINQ syntax. I was hopefully predicting this in another post.
  • Visual Studio 2010 integration – VS2010 will have a lot more tools to make SP2010 development a snap. SharePoint Project and Item Templates, Feature Designer, and Project Packaging, will hide most of the messy details of creating, packaging, and deploying a SharePoint solution from the developers.
  • Business Connectivity Services – the next level of the Business Data Catalogue. BCS uses External Content Types which look a bit like Content Types, and are defined in the new SharePoint Designer or in Visual Studio and then added to SharePoint using a definition file (a bit like the BDC currently works). Users can then create External Lists in their sites, which pull in the data from these external sources.
  • Client Object Model – an abstraction layer that allows developers to write code that will work in client .NET applications, Javascript (for AJAX type operations), and Silverlight. Basically this is a disconnected, batch-style API that will operate on the existing SharePoint web services and handle requests and responses using XML and JSON.
  • SharePoint 2010 Designer – Whereas SPD 2007 was a warmed-over FrontPage, the new version has been rebuilt with a focus purely on SharePoint. The new navigation panel is great because it shows you a list of SharePoint objects, such as Entities, Lists, Master Pages, and Workflows. What’s great about this is it keeps you thinking about what you are trying to do in SharePoint, rather than where that command used hidden in SPD. Another big win is you can export your SPD changes as a .WSP file straight into Visual Studio for further customization.
  • The Office Ribbon makes it into SharePoint. The Ribbon kind of grew on me in Office 2007. I think it was a clever paradigm to surface many commands that used to be buried. Now the many SharePoint menus and Site Action dropdowns will coalesce into the Ribbon. I think this will make training and support a little easier. The big weakness of the Ribbon is that you often have to remember which tab the commands belong in. I found that was the case with the new SharePoint Ribbon but after a little while you get used to it, and it becomes faster to modify SharePoint pages.
  • STSADM is dead, long live PowerShell! Leveraging the great new scripting environment is a huge win for SharePoint. The ability to write .NET code to manipulate the command pipeline means we will start to see some very powerful “no-touch” deployment and management options for SharePoint
  • More events – now you can find out when your web or list was created or deleted. This may sound like a small feature but this enables some provisioning and discovery scenarios that in SP2007 were not even possible!
  • Enterprise Metadata Manager. I’ve blogged a lot about the important of governance and centralizing metadata. The new Enterprise Metadata Manager makes it easy to import and manage term sets, keyword and tags.
  • Service Application Architecture – the Shared Service Provider was a good idea but it was a bit hard to use in practice. Under the new architecture, you can create Service Applications for things like Excel Services, Forms Services, Business Connectivity Services, and other services that you build or buy, and you can mix and match these in your farms as you like. The services get consumed by web front ends via a standard interface. This should allow a lot of plug-and-play customization of farms. I’m even wondering if there is an opportunity for vendors here…create some services and expose them to clients from the cloud.

There are some other big changes like Claims Based Authentication and Solution sandboxing which are intriguing to me. The Solution sandboxing feature gives me this sneaking suspicion we will one day soon see a Microsoft SharePoint App Store where we can buy, download and run SharePoint solutions in our farms.

Anyway, there’s a lot of exciting new stuff in SharePoint and I think SharePoint development is about to become really fun!

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!

Monday, May 04, 2009

Sharing Knowledge With Creative Commons

Over time I’ve written lots of user guides, installation documents, governance papers, roadmaps for various companies…and I can’t use any of them ever again.

This is because the standard consulting or employment contract contains lots of legal text stating that the employer owns all the copyright to the employee’s work. This naturally includes software documentation. This seems like a good idea on the surface – the company pays for the time I take to write the document, so it’s their property.

However, there are hidden downsides.

To begin with, software project requirements tend to be fairly standard. Most projects require a project plan, a specification document of some kind, server topology diagrams, installation scripts, standards and best practices recommendations, help and support docs.

The details of these may vary a bit, but the definitions, explanations, and recommendations usually won’t. Even the details may be similar – one 3-server SharePoint farm will have to address the same issues any other 3-server farm will. This could be boilerplate text.

Reinventing the Wheel

If companies claim ownership of all software documentation IP – which is their default stance - they may not realize that they are paying their employees or consultants to reinvent the wheel. If they claim ownership of everything they generate, no one else can benefit. Conversely, no-one has an incentive to share.

It might be better for a company to leverage documentation created somewhere else, and modify it to suit their own needs – then they are saving time and money.

As a consultant, it’s been suggested to me that if I bill by the hour I shouldn’t mind writing the same stuff over again. But I find that boring – having figured out a way to describe something once, why would I want to come up with new words to say the same thing again and again?

Also – I would rather spend my budgeted documentation time improving existing content. If I’m spending my allotted time rewriting from scratch, that won’t happen.

Finally, we programmers are lazy - in a good way! We’d rather move on to new,  interesting problems than rehash the old ones again and again. So, proprietary IP ownership goes against most programmers’ core mindset.

I’m not saying a company should never claim software documentation IP – there can be valid business reasons for this.

If the company wants to own the IP because it is a business differentiator, and they will maintain and improve the documentation, that is a compelling reason for them to want to own, and not share, their IP.

Also, if the documentation contains lots of very sensitive information, or is very unique, that could be another good reason to hold on to the IP tightly.

I just think they should examine the alternatives first.

Why Bother Picking a Sharing License?

Why bother picking a license in the first place – why not just post the information somewhere and not worry about  it?

Often information shows up on people’s blogs, in user groups, or in online tutorials. In most cases the authors want people to be able to use the information, but they don’t explicitly specify a license. They probably assume that other people can take the code or text and use it as they like.

However, most organizations are (rightly) nervous about copyright issues. If they can’t tell what license the information is released under, then rather than spend time requesting the rights to the content, and tracking the request, they may avoid using it at all. So, specifying the license makes the information easy to adopt, and provides legal protection for companies using it.

A Business Case for Creative Commons

Wikipedia is probably the best example of the power of sharing information on the web. It currently uses the GNU Free Documentation License, but will use Creative Commons Attribution-ShareAlike in the near future. Jimmy Wales, Wikipedia’s creator, says he would have used Creative Commons if it had existed at the time he founded Wikipedia.

There are other license types that allow sharing. Public Domain seems to allow freedom to do anything you like, but my understanding is the concept of Public Domain doesn’t exist in all countries, so it may be a legal impediment for companies wanting to share work. Creative Commons makes an effort to “port” the license terms to different jurisdictions so it is more likely to be valid elsewhere.

I’m primarily using Creative Commons Attribution-ShareAlike licensing because it fits my business model:

1) It’s transparent. People can easily understand what it means, because it’s in plain English and also in Legalese. Even the name is self-explanatory: “Share Alike” and “Attribution” makes it clear what somebody using it can do, and how. Having spent the last three months examining various software and documentation licenses, I’ve come to the conclusion that clarity is one of the most important qualities of a license. Also, I want my three months back!

2) It encourages sharing, even for commercial use. Information Technology is so complicated because we combine many different systems and technologies together and expect them all to work. No wonder software breaks all the time. If we don’t share, there are a lot of things we’ll never figure out on our own. Any licensing that encourages the spread of knowledge is a net gain for everyone.

3) It requires attribution. Attribution is a tiny barrier to adoption, because people are used to adding copyright notices to text they reference. I like the idea that if I do good work, people will find out about it. I consider it viral advertising.

4) It’s low maintenance. I don’t have to get a law degree to figure out the licensing. I would rather copyright law stayed the heck out of my way while I focused on my work. CC-SA allows that.

5) Sharing is good karma :)

Free Online Content on our Extranet

So, is 100% of my content shared under this license? No, and it never will be, because licensing is a business decision that always depends on the specific context. However, my default stance is to share what I write.

The content on this blog is now licensed under CC-SA.

As part of my contracts now I usually negotiate to own the IP I generate, with the promise of licensing it under CC-SA so everybody can benefit. This is working well so far.

To put my money where my mouth is, I’ve started to publish some content on our extranet at https://extranet.griffonsolutions.com/clients/allclients. You can log in with the username “guestuser” and the password “guestus3r”. There is a shared document library with the documents grouped by license type.

I welcome feedback on the documents – what works or doesn’t work, what can be improved and how. I’ll keep the docs up-to-date. Please email feedback to me at nick@griffonsolutions.com.

Feel free to browse, mix, and share!

Friday, February 20, 2009

Using LDAP Authentication With A SharePoint Intranet Is A Very Bad Idea

A couple of years ago I wrote an article explaining step-by-step how to integrate Novell e-Directory with SharePoint. At the time it was pretty much the only available information on the web. Since then I have frequently been asked for tips on integrating LDAP with SharePoint intranets, most recently last week. So I thought I would provide some updated advice:

Run away! Run far, far away.

  1. Get one of your colleagues to distract your boss.
  2. Climb out of your office window.
  3. Head for the nearest bus, train station, or airport.
  4. Change your name.

If somehow your boss or client finds you and demands that you integrate LDAP with the SharePoint intranet, explain why it's a very bad idea.

Why is it a Very Bad Idea?

 

From a technical perspective LDAP integration is really just Forms Based Authentication (FBA) - you are passing in a username and password to SharePoint, and these happen to be authenticated via LDAP calls to an identity store somewhere.

Using LDAP, logging into your SharePoint portal will look like this:

LDAP Signin - Additional Zone

Doing this is a big mistake!

Reason #1: Time Spent Tinkering

Now in order to do this, there are a variety of technical steps you need to take. If you run into problems anywhere along the way, you will spend your valuable time trying to figure out if the problem is in your Role and Membership provider settings, in your various web.configs, your LDAP query, or something else you have to enable in SharePoint.

This means you are spending your effort (and your client or employer's money) struggling to implement something that with Active Directory would "just work".

Some might argue that this isn't a great reason - after all plenty of time and effort goes into modifying SharePoint to accomplish other requirements. But any effort you expend making SharePoint work without AD is time you could be spending modifying SharePoint to address problems the business actually cares about. The business does not care that its credentials are currently stored in Novell eDirectory and SharePoint prefers them in AD.

Reason #2: Your SharePoint Intranet Won't Work The Way You Expect

Portal users expect seamless integration and functionality when they are using SharePoint for the intranet, because that's what all the marketing materials teach them to expect.

Building an intranet without Active Directory can lead to some surprising and annoying side effects. Out of the box web parts or controls like the Organizational Hierarchy don't work very well without Active Directory. You can make them
work with ADAM or by exploring 3rd party replacements but you'll have to test any portal functionality you think you are likely to use.

Also, the user experience with Microsoft Office integration can become a problem. Open up Word or Excel when logged in using LDAP credentials and you might see this:

LDAP Word Integration Problem

It's fun explaining that to an end user!

SharePoint Designer is also tricky - it wants to automatically authenticate you using windows credentials, and throws errors when it runs into forms based authentication.

I'm not claiming that these issues are insurmountable, but collectively they introduce new bugs, development, testing, and management issues, increase cost and risk, and potentially annoy your users. Is it really worth it?

How Is that Different from Internet or Extranet Environments?

Many extranet and internet environments use Forms Based Authentication without problems. Administrators or installers have to modify SharePoint to work in these zones using Role and Membership providers...So why is it ok for those environments to use FBA but not the Intranet?

Again, it's a question of user expectations. When a user logs on to an extranet or internet site, they don't expect seamless Office integration and automatic access to file shares using their desktop credentials. When they use SharePoint intranets, they do expect these conveniences.

All the literature and sales material tells them that they should be able to interact directly with SharePoint intranets via Outlook, Word, and Excel - without annoying popup boxes and workarounds. They expect to be able to use all of the out of the box controls and web parts like the Organizational Hierarchy, and don't want to hear excuses like "that works best with Active Directory so we can't use that now".

So What Should You Do?

I recommend synchronizing your e-Directory identity information into an Active Directory domain and building SharePoint on top of that.

There are a variety of ways to do this but one way you can investigate is via Novell's IDM which can synchronize between e-Directory and Active Directory.  Your e-Directory is still the master identity store, but any e-Directory changes get automatically sync' ed to the child Active Directory. Here's a link that might help: http://www.novell.com/coolsolutions/appnote/18349.html

You can definitely make SharePoint use multiple identity providers - but the reality is your SharePoint portal becomes much more flaky and expensive to manage. These days there are many ways to populate Active Directory from some other identity store - I always recommend that since it is less effort and risk down the road, and (probably) less cost as well.

SharePoint is complicated enough without adding to the challenges.

Of course your mileage might vary. If you have attempted (or succeeded) in integrating a SharePoint intranet with LDAP what were your experiences? Besides IDM, are there other good ways to synchronize Active Directory with a master identity store?

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

Saturday, January 17, 2009

Hello, New York!

Next week I'll be exhibiting echoTechnology's latest version of echo for SharePoint in New York City, at the SharePoint IMAGINE 2009 conference.

The conference is billed as "SharePoint in the Real World". Its focus is on how businesses use SharePoint to solve their specific real world needs, and how SharePoint impacts their bottom line.

It's organized by Impact Management and is taking place at the Microsoft NY Center at 1290 Avenue of the Americas on Wednesday Jan 21 from 9 to 4. Attendance is free so if you are in the area you should definitely sign up...you can do that here.

I'll be in NYC from Tuesday evening to Thursday afternoon, attending the conference and meeting with a variety of echoTechnology partners - so my itinerary is very tight. Still, it's a great opportunity to return to NYC, where I lived for a short while.

Good Times...

I moved home right after the awful 9/11 and the Dot Com bubble burst, and this is my first chance to go back. Although I was only living in New York for a year, it left an indelible impression on me - as it would on anyone.

My first professional programming job was in 2000/2001 as a Java programmer. I took New Jersey-based IT training company SetFocus' intense but great 3-month Java Master Track, and was then placed with an online education company in New York City.

We were developing a web-based learning system using JSP and servlets, in a cramped little office downtown on the corner of Church and Warren.

At first I lived in West Orange New Jersey with a small gang of roommates, and then we all moved to a small building in Astoria Queens. This was inhabited by a porn star, an aspiring model, an unkillable cockroach (we learned to live and let live), and a foul-mouthed talking parrot named Sammy (not necessarily in the same apartment).

Some of my favourite memories are: exploring the parks and trails on the edge of Battery Park City; bar crawling with my roommates and friends; celebrity spotting; conniving my way into an amazing hidden club called Light, marked only by bouncers and a lit white window and way too cool for me; eating lunches on the steps of Federal Hall in Wall Street and exploring Manhattan on foot during lunch hours; and wandering the streets of Brooklyn Heights.

...Followed By Taxes

Living there was also an exercise in paperwork. Due to my particular circumstances I paid 7 levels of taxes at various times that year:

  1. New Jersey state income tax
  2. New York state income tax
  3. Connecticut state income tax
  4. New York city sales tax (anytime I bought something)
  5. US Federal income tax
  6. Canadian Federal income tax (although I was out of country, as a Canadian even death can't cut short your obligation to pay taxes); and
  7. Ontario provincial income tax

To this day the state of Connecticut faithfully sends me an annual update on my pension plan, which currently sits at 13 cents a year. I'm sure just mailing me costs more than that! Luckily they report that they are investing great time and attention to increase the yield, so when I retire in 30 years, my pension will be at 14 cents and I can finally buy that tropical island.

Anyway, if you're in the area and want to say hi, drop me a line!

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 :)

Tuesday, September 23, 2008

SharePoint Best Practices Conference: Keynote Speech by Tom Rizzo

Tom Rizzo, Microsoft's Director of SharePoint, kicked off the SharePoint Best Practices conference with a funny and insightful keynote speech. He provided a view into SharePoint's current and future development, and reminded us of the various releases and support that are currently available for the platform.

Past, Present, and Future

Tom talked about SharePoint's humble origins in the Tahoe days, when it was teamed with Exchange. Now it's one of Microsoft's fastest growing server products ever. He joked that they are still trying to come up with a three-word description of it, given that as a platform and product it is  "floor wax and dessert topping at the same time".

He also touched on the future of SharePoint. Key directions for the next version will include investing in the "mobile experience", making the phone "a key client for SharePoint moving forward".

Another major investment is already occurring in the area of online hosting. Microsoft is trying to leverage its online SharePoint hosting experience, which I've blogged about before, and make it easier in the next version for clients to decide between on-premises and dedicated or multi-tenanted hosting in the cloud.

He described how SharePoint currently relates to the x2008 versions of Microsoft's products. SP1 with slipstream install allows SharePoint to work on Windows Server 2008. It provides security enhancements (like a reduced attack surface by switching off non-critical services), performance gains, and full support for virtualization.

I'll mention that last point again - starting with SharePoint 2007 SP1 Microsoft now provides full support to SharePoint servers using VMWare! This is very important - every solution definition doc I ever wrote had to explain to clients that if anything went wrong with their VMWare SharePoint instances, Microsoft would only provide "best effort" support. This is very good news. Here's the official announcement.

SQL Server 2008 adds transparent data encryption if you want to completely lock down your data - even if someone gains access to your SharePoint database server, they can't get at your data without the encryption key. It also provides performance benefits, including a nifty little feature called File Streams that allow SQL to manage and "serve' large files (BLOBs) from a file system - basically a nice compromise between the advantages of file system storage vs database BLOB storage.

Finally, Visual Studio 2008 makes it much easier to build (and debug) Workflow Foundation workflows for SharePoint.

Tom's Top 10 Best Practices

  1. Capacity Planning isn't a suggestion! (Also, move to 64 bit because SharePoint vNext will be all 64bit)
  2. Know Thy User
  3. Know Thy Data
  4. Know Thy Developer  - use asynchronous calls, watch out for web part connector blocking, inefficient code, do lots of stress testing
  5. To thine own self be true  [Unfortunately I don't remember what he meant by this]
  6. Scale up or out > actually do both! Plan your architecture to keep these options open
  7. SharePoint is an Enterprise app - don't let the WYSIWYG and wizards fool you - this takes investment of time, people, and money
  8. Support boundaries protect you and us [meaning Microsoft] - only use OOB or make customizations knowing they may not be supported going forward
  9. Weeding and pruning makes a beautiful deployment - constantly manage your farm and its content
  10. We all love code but.... Out of Box is good!

Questions and Answers

Q: What is Microsoft's commitment to cross-browser rendering?

A: Tom mentioned enhanced Firefox and Opera support in SharePoint 2007, as well as decreased use of ActiveX controls. This trend will continue . Mentioned browser on mobile phones is an increased priority. Partnership with Telerik makes Rich Text Editor more accessible / cross browser.

Q: What about Dynamics CR support with MOSS, without using the BDC?

A: Dynamics CRM was released after SharePoint so SharePoint couldn't integrate fully with it [Although the reverse must have been possible?]. Going forward better coupling between Dynamics CRM and SharePoint vNext will occur.

Q: What about Accessibility Standards?

A: Improvements will be made in the product going forward. Tom cited the work with HiSoft on the Accessibility Kit as an example. [Personal comment - I don't believe this is going to ever be fully resolved as long as maximum UI "functionality" is a priority- case in point the increased use of Silverlight and Ajax will likely make this a non-starter. I believe this can only be achieved with an MVC-style architecture that would service multiple clients, and this will likely represent a massive rearchitecture which I doubt will happen. For the current state of play see my previous post on accessibility in SharePoint.]

Q: What's going to happen with the Knowledge Network add-on? [Which automatically provided enhanced skill and people information in SharePoint based on email conversations]?

A: We liked the Knowledge Network so much we want to include it as a core feature in SharePoint vNext.

Wednesday, September 17, 2008

No More Metadata Migraines: Easily Manage Your Centralized Taxonomy

Well, I just finished my preso, which seemed to go very well (luckily!).

Basically my session covered best practices for taxonomy in SharePoint, including things you need to do (or not do) to make your lives easier when managing your portal's content.

It also covered ways you can leverage your metadata using Content Query Web Parts, property searches, and advanced searches.

Mindsharp will probably be making the presentation available on their SharePoint Best Practices website shortly. In the meantime I've uploaded the presentation in PDF format here: 

http://www.echotechnology.com/Events/Documents/No%20More%20Metadata%20Migraines%20-%20echoTechnology%20-%20SharePoint%20Best%20Practices%20Conference.pdf

As always I'd love to hear back from you about what your best practices are. My email's in the PDF, you can contact me via LinkedIn (http://www.linkedin.com/in/nicholaskellett) or you can comment on the blog.

The conference is over today, and we've really enjoyed it. We had lots of great conversations in seminar rooms, around the lunch table, and around the bar. It was neat to meet so many people who are enthusiastic about SharePoint, trying to do the right things with it, and willing to share their knowledge. I'll be blogging a bit more in the next few days, to try to transmit what I've learned.

Finally, congratulations to Mark Elgersma, Ben Curry, Bill English, and all the other Mindsharp folks who worked so hard to pull this off!

Friday, September 12, 2008

On The Road Again

I'm off to the SharePoint Best Practices Conference tomorrow, and can't wait. Specifically I am looking forward to:

  1. Speaking with a group of SharePoint adopters who I think will be very enthusiastic about the technology, and keen to share their knowledge and hard-won experiences
  2. Discussing best practices from lots of MVPs and presenters
  3. Visiting Washington (I've only been there once, about 16 years ago)
  4. Presenting on Wednesday - the topic is called "No More Metadata Migraines: Easily Manage Your Centralized Taxonomy" and I will discuss content migration, management, and metadata best practices, and then provide a short demonstration of echo for SharePoint

I don't know if other platforms have dedicated "Best Practices" conferences, but I'm sure glad there's one for SharePoint! I imagine the more open-ended a software platform is, the more important these kinds of freeform discussions become. Anybody know if Salesforce, IBM (for Websphere), Amazon, or Google do this kind of thing? Do they even need to?