Making Sense of the SharePoint World

Nov-272009

FeedBurner Under Control

MCBD07000_0000[1]The Fix is In, Thanks to Tom Resing

I have great news, thanks to fellow SharePointer Tom Resing. In my previous post I mentioned the problems the Community Kit for SharePoint:Enhanced Blog Edition has with the new link tracking parameters FeedBurner just started adding to their links.

In that post, I talked about the trials and tribulations of trying to get CKS:EBE working by installing an updated version. It turns out there was another approach to the problem. Although Google made the change to FeedBurner effective by default, Tom pointed out that they do offer an option to turn it off.

The Quick Fix

So, for those of you using both FeedBurner and CKS:EBE, here's the scoop. On the left menu in your FeedBurner Feed Stats Dashboard, in the Services section, is an option called "Configure Stats":

image

When you select Configure Stats, you have a section called "Reach", which has several options. You need to uncheck the box for "Track Clicks as a traffic source in Google Analytics":

image

That's all there is to it! Save the settings, and everything should be back to "normal".

Of course, it would have been nice if Google had posted a more conspicuous notice that they were making this change, and where it could be configured. It would have been even nicer if they had made the change "opt in" instead of "opt out".

Nevertheless, what's done is done. You should now be able to click through from my RSS feed directly to the articles you are interested in.

I apologize for any inconvenience.


Nov-252009

Burned by FeedBurner

MCj04314980000[1]At Least They Didn't Burn the Turkey

Just a quick note before I run off for the Thanksgiving holiday (USA). If you have been a subscriber to my RSS feed, you may have noticed a problem clicking through to my blog posts lately. This is because of a change that FeedBurner made a few weeks ago. They added extra parameter information to the connection string of links back to the blog.

This is theoretically a good thing, as it allows site logging to better determine where visitors are coming from. However, this blog uses the Community Kit for SharePoint: Enhanced Blogging Edition (CKS:EBE). The way CKS:EBE handles URLs doesn't allow it to correctly interpret these additional parameters. This resulted in broken page displays. You can still eventually navigate back to the right page, but it isn't as convenient as it should be.

I have just tested a patched version of CKS:EBE to resolve that problem. While the patch for the FeedBurner problem seems to work correctly, there are significant issues with other changes to the patched build of CKS:EBE. I noticed that my tag cloud was no longer resizing the keyword links to their proportions, for example, and there were major authentication problems. These glitches are bad enough that I decided to retract the update.

I apologize for the inconvenience. Rest assured, I'll continue working on getting links from FeedBurner working (without breaking everything else).

In the mean time, Have a Happy Turkey Day!


Nov-122009

SharePoint Virtualization

MCj04115480000[1]All of Your Eggs in One Basket?

Every time a new version of a virtualization tool comes out, people get all excited about the possibility of reducing the costs of running their data centers. Most of them are thinking in terms of hardware consolidation, but virtualized environments also allow for new ways of handling resilience and recovery as well.

This is all well and good, but then you run into what I call "the new hammer syndrome". The idea is, after you buy a new hammer, everything starts to look like a nail. You keep thinking of ways to apply this new tool. Some of them are great. Others, not so much.

Virtualization and SharePoint

SharePoint, in particular, frequently seems like a ripe target for virtualization. It has a multitude of roles, which can be (and often are) distributed among many servers. Data center managers see all of this hardware and envision collapsing it onto a single box. And, SharePoint is officially supported in virtualized environments. It seems like a match made in heaven, doesn't it?

But, not so fast! Take a step back and think about what I just said. You are taking all of these SharePoint roles, and spreading them out among multiple servers. Now you want to take all of these servers and virtualize them back onto a single piece of hardware? Where is the sense in that?

Why did you build out that many servers in the first place?

Pausing while people try to gather back the pieces of their exploded heads from that bit of circular logic...

Profound, isn't it? Almost like a Zen koan.

On Over-Engineering a Solution

SharePoint will very happily run all of its roles on a single server (physical or virtual), if you want it to. So, why would you want to split the roles at all? There are really only two reasons (good ones, anyway) - performance, and resilience. (No, I don't consider being able to point at a monitoring station covering a half-dozen or more servers and saying "Look at all of the systems I manage in my SharePoint farm" a good reason.)

From a performance standpoint, some SharePoint roles are real resource hogs. The two big ones would be SQL Server and Search Indexing/Crawling. SQL Server, though not technically part of SharePoint, is hit pretty much constantly by nearly every SharePoint component, and so is almost always set aside on separate hardware. The search crawl process, though intense, is "peaky." In other words, it goes through cycles of short bursts of intense activity, followed by periods of near idleness. In comparison, the web front-end functionality is a cake-walk. A single WFE server can handle potentially many thousands of users without breaking a sweat.

In fact, a big, modern server can probably handle hundreds, if not thousands, of users even with everything except SQL Server running on it. (Naturally, this depends upon just what those users are doing.) So performance is rarely the real reason for splitting off most of SharePoint's functions, except in very large environments.

That leaves resilience. Resilience is the ability of a system to keep on going, even if a piece of it fails. By splitting the SharePoint roles onto several servers, and having multiple instances of the roles that face your users, you can create a system which can tolerate a failure of any one component with minimal short-term impact. It is possible to take this too far, however. It isn't a case of "if two are good, three must be better, and five are better still."

What good is having three or more web front end servers, when they all sit practically idle at singe-digit percent utilization - even during peak periods? Not very good at all. At a minimum, it is not a very efficient use of resources. This is the kind of thing that makes virtualization look really attractive.

Balance

So, is virtualization really the answer? Maybe. Or maybe not. Let's get back to that biggest of little questions - "Why?"

Why did you build out your farm onto multiple servers?

Did you build out this big farm because your usage is so heavy, you were stressing out anything less? Then you are almost certainly not a good candidate for virtualization. In this case, you've got your hardware optimized to its load. Virtualization is just going to add another layer, and if you're already fully loading your systems, you won't get any benefit from host sharing with other virtual servers. The only reason you might justify going virtual is to be able to quickly replicate a failed system from an image, or shift a running image onto another host. But can you handle the extra overhead?

Did you build out your farm for resilience? The minimum "fully" resilient SharePoint farm is a configuration I call "2.1+". That's two servers running as WFE and Query servers (along with Excel Services in Enterprise Edition), one application server running the Index role (of which there can be only one per SSP) and optionally running other duplicated roles as well, "plus" a properly specified SQL cluster. This configuration can handle thousands of users, even with modest (by today's standards) hardware. In fact, from a performance standpoint it is probably still overkill for most organizations. Here, you might find some room to virtualize. But be careful - you split these roles out in the first place to avoid having a single point of failure. Virtualizing them and simply placing all of the VM's on a single host eliminates that benefit.

And What About SQL Server?

I decided to write about virtualization because I've been approached several times in the last week or so with folks asking about virtualizing the SQL Server side of SharePoint. Up until now, even when virtualization has been appropriate for some SharePoint components, I've always advised against making SQL virtual. But VMWare has just introduced a new version for which their marketing message is claiming that SQL virtualization is now a good thing.

Frankly, I'm not convinced. My main concern is that SharePoint is a very heavy user of SQL Server. Again it boils down to your utilization. Are your SQL Servers already CPU or disk I/O bound? If so, virtualization isn't going to help matters. If not, then you might be OK. Even if you decide to virtualize computation, I would still avoid virtualizing the data storage without first doing extensive load testing.

Going Forward

Ultimately, all computer configuration involves trade-offs. Cost, performance, and resilience are three corners of one of those "pick any two" engineering triangle conundrums. Virtualization doesn't eliminate the trade-off, but it can shift the balance toward the lower-cost corner. Whether or not it is appropriate in your case will depend upon your server load and tolerance for risk. In the case of SharePoint, you can achieve many of the same results as virtualization by simply re-consolidating the roles that were originally split off.

Mark Twain once said: "Keep all of your eggs in one basket - then watch that basket!" If you do decide to virtualize, make sure you take appropriate precautions. The Microsoft Consulting Services UK SharePoint Team has written an excellent series of articles on SharePoint virtualization. I suggest checking that out for more technical details.


Oct-272009

SharePoint 2010 Hits the Jackpot

MCj02345130000[1]

SharePoint Conference 2009 Wrap-up

The show is over, but the adventure is only beginning. As stated before, SPC09 in Las Vegas was the coming out party for SharePoint 2010. While we will still have to wait a few weeks for stable bits to play with, over 7000 attendees came away with a treasure trove of knowledge and documentation.

In my previous installments, I talked about the venue, the atmosphere, and the keynotes. I've also touched on some of the new Office integration story.

Of course, the star of the show was SharePoint 2010 itself. So, I'm going to dedicate the rest of this post to a punch-list of changes/improvements. I know I've missed a few (or more than a few) new elements, or misunderstood a detail or two, but even so the list is impressive. You'll see that the SharePoint team at Microsoft have not been resting on their laurels during the three years we've been waiting. Over the next few months, I'll fill in more details on the individual features, correct what I got wrong, or update you on the inevitable feature changes as things get closer to release.

The Basics

It seems Microsoft can't release a new version of SharePoint without tweaking the names a bit. Just as "SharePoint Portal Server" and "SharePoint Team Services" became "Microsoft Office SharePoint Server (MOSS)" and "Windows SharePoint Services (WSS)" in the 2007/3.0 wave, For 2010/4.0, they're simply called "SharePoint Server" and "SharePoint Foundation" respectively.

The Public Beta of SharePoint 2010 is to be released in November 2009.

The actual product release is planned for the first half of 2010.

It is still "SharePoint". Although many weaknesses have been addressed, core functionality remains essentially similar, with lists, libraries, site model, etc... Since "form follows function", many of the visual elements will be very familiar.

Infrastructure and Administration

  • Requires 64bit throughout the stack
  • Windows Server 2008 as a baseline OS
  • Complete redesign of Central Admin
  • Shared Services: No more monolithic "Shared Services Provider". Instead things formerly grouped under an SSP are individual Shared Service Applications.
  • Search architecture changes: index role can be spread across multiple servers
  • "Normal" SharePoint search now scale-tested to around 100 million items.
  • Business Data Catalog transformed into Business Connectivity Services, and becomes part of SharePoint Foundation (no more enterprise CAL required).
  • BCS info becomes available throughout the Office 2010 suite, not just SharePoint, and offers read/write capability.
  • FAST Search is available as an add-on for Enterprise CAL users at per-server pricing.
  • Enterprise-wide metadata support
  • Lists are more scalable, and can be "external" to the SharePoint content database. Admin can set maximum returned items to prevent bogging the system down.
  • Servers can be upgraded without enabling the new UI by default. Site owners can then switch over when their members are ready for the change.
  • AD Group Policies can prevent installation of SharePoint on unapproved systems.
  • Even more databases.
  • Better auditing and reporting in-box.
  • "License" logging to see which features are used.
  • Allowed to read log/report database to build custom reports.

Client Facing

  • UI: No IE6 support for collaboration/team sites. Can still make IE6 friendly publishing sites.
  • Firefox 3.x is a Level 1 browser.
  • "Accessible" CSS-based layouts, and XSLT-based list views.
  • Table-based layouts are gone
  • Cleaner, modernized themes.
  • Ribbons are primary control mechanism, just like Office.
  • There is no longer a separate basic "Wiki" site type in SharePoint Foundation. (However, there is now a publishing-based "Enterprise Wiki" site in SharePoint Server.)
  • All team sites can have wiki functionality enabled, and made the default.
  • Theme colors can be imported from PowerPoint themes for compliance with corporate standards.
  • The GroupBoard template is available out of the box.
  • List lookups can pull multiple fields
  • List lookups support referential integrity (blocking/cascading deletes)
  • Field validation

Social

  • Major overhaul of profiles and My Sites.
  • Includes "status" functionality (i.e. FaceBook/Twitter style updates)
  • Unique org-chart presentation
  • "Folksonomy" to support user-created shared tags in addition to Enterprise "Taxonomy" metadata.
  • Can tag non-SharePoint content

Search (Standard)

  • Improved handling of metadata
  • Faceting (now called "refinement") is built-in
  • Social input to ranking

Search (FAST)

  • All standard SP Search features
  • Deep refinement (polls entire result set to get actual counts)
  • Concept metadata from unstructured content
  • User-role tailored result sets.
  • Massive scalability
  • Superset of standard SP Search API
  • Managed through the same admin UI

SharePoint Designer 2010

  • Complete UI redesign, based on SharePoint "artifacts" rather than file structure.
  • SPD 2010 tied to SP 2010. Will not work on older versions or non-SharePoint sites, and old SPD won’t work against SP 2010 sites.
  • Much better Visual Studio integration – exports Solutions that can be imported into VS for both site designs and workflows.
  • SPD Workflows can be independent of specific lists.
  • SPD Workflows can easily be exported into either Visio 2010 or Visual Studio 2010
  • Finer administrative control over what SPD users can do.
  • Page model is the same, but many changes based on new CSS layouts and Theme engine.

Development

  • The "platform" aspect of SharePoint receives a lot of emphasis with this version
  • Use Visual Studio 2010 for full visual web part design and other SharePoint integration points
  • Can install SharePoint on a client OS (Vista or Windows 7, 64-bit) for dev sandbox.
  • Much better developer documentation out of the gate
  • Client Side object model to make Silverlight controls and web parts easier to develop.
  • REST, ATOM, and other web service interfaces fully supported.

Conclusion

In his keynote and his write-up from a couple weeks ago, Jeff Teper pointed out that the vision and purpose of SharePoint hasn't really changed much from the original 1-page proposal over 10 years ago. Yet the implementation of that vision has grown by leaps and bounds over the succeeding versions. I hope I have shown you that SharePoint 2010 will continue in that tradition. As I said earlier, I'm sure I've missed things. These were just the elements that stuck out as I was going through sessions and reading material. But I have to admit, I'm excited.