Archive for the ‘Uncategorized’ Category

I know you’re looking for The Sanity Point, my SharePoint blog. Unfortunately, it is taking a bit longer for me to get my new hosting set up than I would like, therefore I’m temporarily shifting my feed to this site. It may be a bit mature, but some of the content here is still useful, so Enjoy!

Advertisements

Looking Back on 2009

Posted: December 28, 2009 in Uncategorized

New Year TimeThe Obligatory Year-end Report

Note: This is cross-posted from my new server, and all article links point to there.

It is now the last week of December, and you know what that means. Lying in wait among the crumpled wrapping paper, danced-out sugarplums, and pine needles (not to mention the feathers and other "presents" from all those birds your true love gave to you) you’ll find year-end wrap-ups from every corner imaginable.

This is mine. 🙂 I’ll get to the more general stuff in a moment, but there was one personal SharePoint-related thing that stood out for me in 2009, and that happened the very first day.

I Became a Published Author

While I (along with Asif and Bryan) did all of the work in 2008, my book Professional Microsoft Office SharePoint Designer 2007 was officially released by Wrox Press on January 1st of 2009 (December 31st, 2008 in some markets). I’m honored by the very positive reviews, and want to thank everyone who has purchased it.

Ironically, its importance is going to continue on into 2010, and possibly beyond. While SharePoint 2010 is top-of-mind for many people right now, the fact is that SharePoint 2007 is going to be around for a long time to come. But, SharePoint Designer 2010 cannot work with SharePoint 2007 sites, so SPD 2007 will still be needed if you want to customize older SharePoint sites. Since SPD is now a free download, there isn’t much in the way of printed documentation, other than (you guessed it) third party books – like mine.

The Year of the "Community Conference"

One amazing thing that stood out about 2009 was the popularity of independent SharePoint-related conferences and seminars. I personally presented at two – the "Best Practices SharePoint Conference" in San Diego, and the "SharePoint Technology Conference" in Boston.

But the big trend was the emergence of the "SharePoint Saturday" mini-conferences. These are one-day, free to attend conferences, that are held all over the world. Here you will find breakout sessions by the very same experts that present at the larger venues, like Tech-Ed and the official Microsoft SharePoint Conference. Check out the SPS site, and plan to attend one of these events near you!

And, of course, no mention of the "Community Conference" would be complete without mentioning the "Conference Community" on Twitter. This is a bit less formal, but essentially you will find a play-by-play for almost every conference being happily tweeted by the attendees with hash tags like #SPC09, or #SPSINDY.

SharePoint 2010

Of course, the big news was the announcement of Office and SharePoint 2010, and the availability of the public beta. The official release is currently set for the "first half" of calendar 2010. As many articles have pointed out already, much has changed. There will probably still be some significant changes between now and the final release, though what they might be, nobody can say.

Other Significant Events

Some of the other SharePoint things that happened to me in 2009

  • I became Michael Gannotti’s very first "Backseat Driver"
  • I was once again awarded as a Microsoft MVP for SharePoint Server
  • I autographed and gave away almost 500 copies of my book while working the Microsoft Technical Learning Center booth at Tech-Ed in Los Angeles

SharePoint, the Target

No post about SharePoint in 2009 would be complete without some mention of another buzzphrase that started appearing in 2009 – "SharePoint Killer". Almost every new application that had the slightest thing to do with collaboration or content management seemed to earn headlines of "Is X the Next SharePoint?" or "Y will make SharePoint Obsolete". From Google Sites to Google Wave. From Drupal, to Alfresco, to the classic DotNetNuke. Yet while each may have one area where it shines, none of them really has the versatility or power to match SharePoint, assuming they are even truly comparable.

Blog Highlights

For those of you new to my blog, here are some of the articles I wrote this year that you might find particularly interesting:

Looking Ahead

With the planned official release of SharePoint 2010, 2010 the year looks like it will be just as exciting as 2009. One thing that is very clear is that Microsoft is putting a lot more effort into the supporting infrastructure for SharePoint. From native support in Visual Studio, to online documentation, to partner training.

While people may have been shocked by SharePoint’s meteoric rise, nobody is going to be surprised by its continuing momentum.

MCj04346750000[1]What a Week! – A Tech-Ed Wrap-up

Microsoft Tech-Ed North America 2009 is over, and despite the economy, it was another great show. I spent most of my time in the Technical Learning Center, or TLC, answering questions about SharePoint.

Most days I also, along with co-author Asif Rehmani, gave away and autographed dozens of copies of our book, Professional Microsoft Office SharePoint Designer 2007. All together, we (well, Microsoft) gave away almost 450 books. I want to take this opportunity to thank everyone who stood in the long lines, braving attacks by the flying monkeys, for their support and interest.

Speaking of flying monkeys, these were probably one of the most popular SWAG items at the show…

 When Monkeys Fly

They came with three costume colors, Red, Black, and Blue. But their main claim to fame was that their arms are elastic, and when stretched and released, not only do the monkeys "fly", they also scream (don’t worry, I’m a fan of the "silent" web – no sound effects will disturb your office here!)

The Big Announcements

Though you may have seen these before, no show report would be complete without the big Tech-Ed announcements:

  • It is official – Microsoft SharePoint Server 2010 (no "Portal" or "Office" in sight) will be 64-bit only all the way through the stack. You will need to be running 64-bit Windows Server 2008 or Windows Server 2008 R2 in order to install it (no 2003 allowed). In addition, you will need 64-bit SQL Server (2005 or 2008) as well.
  • All TechEd attendees will be included in a (semi?) private Technical Preview of the Office 2010 client applications.
  • There will be a SQL Server 2008 R2
  • Windows Server 2008 R2 is also 64-bit Only.
  • The Groove 2010 client has been renamed SharePoint WorkSpace 2010. I’m not sure whether it is an attempt to pick up on the glow of the SharePoint brand, or there is some seriously tightened integration coming, but I’m looking forward to finding out!

So the watchword is, no more SharePoint installs on Windows Server 2003 or using 32-bits. Stop Now. Do it right, and save yourself the grief when the new version comes along.

MCj03002750000[1]

Discovering the Setup User Account – A SharePoint "Whodunit?"

It was a dark and stormy night. There were SharePoint problems in The City. Lots of them. And it was my job to track ’em all down. I’m a consultant. No problem is too big or too small. It’s what I do.

This is the story of one of those problems…

I was hard at work at my desk when the phone rang. Even before he told me, I could tell from the sound of the caller’s voice that he had a big problem. His name was Steve. Not the problem – the caller. Turns out Steve’s SharePoint guy, Ben, was on the lamb. Ben ran into some Girl Trouble, you see, and he wasn’t coming back. Now all Steve had was a SharePoint farm, a scrap of paper, and some half-linked wiki pages.

While I couldn’t do anything about filling out his content, at least he used a SharePoint wiki, so his users could pick up the slack there.

I turned my attention to the only clue – that scrap of paper. Turns out, it had a hand full of account ID’s written down. It didn’t take a genius to figure out that these were the accounts he used when setting up his farm. There were more than three of them, and it was good. Unfortunately, these were all code-name accounts like s23365, and k45321. No way to tell which account was which. That was bad. For all we knew, Ben had used the same account for all three of the major functions (Setup User, Server Farm, and Content Access). Or maybe they were all individual service accounts, and he had been logged in with his own account when he set up SharePoint.

The Big Deal

Why is this so important, you ask? Well, if you’ve read "Taking Accounts into Account", you’ll know that the Setup User has special status – essentially this ID has full control over the SharePoint installation, even if you take it out of the administrator groups. Generally, it is also a good idea to use this same ID when update time rolls around.

The problem is, there is no way to tell directly which account was the Setup User. Sure, you can tell what accounts are used for the services, and Default Content Access is particularly easy, just go to the Search Administration page. But although you can see the accounts in the Farm Administrators group, as noted above these can be changed, so that doesn’t necessarily tell you who did the setup.

It was time for the thinking cap. Brainwaves are generated by caffeine and sugar, so I sent Steve for some coffee and donuts while I hashed things out. Since SharePoint wasn’t going to help me here, I had to go outside the box. Or rather, straight to the box. I harkened back to my Windows admin days, and thought about what is actually happening when you install software. Registry changes, folders created, files copied, etc…

Chasing a Wild Goose

Half a cup of Columbian and a French cruller later, I thought had it. Files! Folders! When you install a program – especially one as big and powerful as SharePoint, you are creating files left and right. When you put a file into Windows, loads of information about it gets stored – its name, when it was created, and who has access to it. But more than that – Windows "knows" who created the folders and put the files in them.

I started looking in the same place you look for almost anything related to SharePoint configuration. An infamous little hangout called the 12 hive. So I started Exploring. I followed a sort of convoluted path – "C:program filescommon filesmicrosoft sharedweb server extensions", but in the end, I found what I needed. And there was my witness – an unsuspecting little folder, called simply "12". Sure, she was cute, but I knew under that simple yellow exterior bubbled a mass of information.

I decided to be gentle at first. I gave the folder a little right-click and whispered "Properties" in her ear. She was compliant, and engaged in a simple dialog. I changed the subject to security:

image

I knew I was getting warm when she let slip that she knew the Creator/Owner. But she wouldn’t tell who it was. I applied a bit of "Advanced" pressure, and finally got her to fess up. She showed me the owners, and there was… the Administrators group. A dead end. I had high hopes for this one.

image

You see, the creator of the file or folder automatically gets ownership-level rights. This means that they can do anything to it an administrator can. This is also one reason the Setup User in SharePoint gets so much power. Since they are the creators of the files that make up SharePoint, they can always access them, no matter what SharePoint’s internal permissions say. Unfortunately, Windows Server automatically assigns Ownership to the Administrators.

The Light at the End of the Tunnel

Then I had another thought. The other thin the Setup User does is creates the Central Administration web site. Like I said before, you can’t just check the Farm Administrators group. But there is another way to check for "special" users. The STSADM command has a way to list users who have been assigned direct permissions to a site collection. Central Administration needs someone to access it before all of the groups are built, so I thought, why not see if the Setup User was hiding there.

I opened up a command prompt. Central administration is configured on a random port at setup, so first thing I did was look up the port that was in use with the command:

stsadm -o getadminport

Once I had that, I used  the "enumusers" operation. Since the name of the server with Central Administration on it was "canon", the command (including the port found above) was:

stsadm -o enumusers -url http://canon:8585

And there it was – a user explicitly granted permissions. It even had a reasonable id: "SPAdmin".

image

I gave Steve the good news – the Setup User wasn’t one of the accounts on the scrap, nor was it Ben’s own account. Fortunately, Ben hadn’t used it for any of the services. He had used an easy-to-remember name, SPAdmin. I suggested that Steve change the password, but otherwise he shouldn’t have any trouble.

Elementary? Not Really, My Dear Watson…

While the story you have just read is fictional and somewhat tongue-in-cheek, all of the technical elements are true. The Setup User is a very powerful account. It should not be assigned to any of the SharePoint services, and shouldn’t be anyone’s "day to day" account. And, as you have seen here, there is no way to determine with certainty what account was used to set up SharePoint after the fact.

What we did here was look for ways to infer the account name. I have tested this method on several different SharePoint installations, and it has been accurate on the systems I had available. While there may be other ways beyond the one I used, none of them (even this one) are particularly robust. For example, although it is almost never done, you can explicitly assign rights on Central Administration to other users, or remove the Setup User’s default explicit permissions grant (Note, as described in the story, this is NOT in the Farm Administrators group, and does not actually remove the Setup User’s power). This will change what users are returned by the enumusers operation.

The moral of the story is that you need to keep a log of the accounts you use in your SharePoint configuration.

MCj02330810000[1]Although I’m normally holed up in a little cabin in the wilderness of northern Indiana (well OK, Silver Lake isn’t exactly the wilderness…), I do get out of the house from time to time. For those who are interested, I’ll be appearing at a couple of conferences in the next few months.

You probably know by now, I’m doing a couple sessions at the SharePoint Technology Conference in Boston.

But now, I can also let you know that I’ll be at the Microsoft TechED 2009 conference in Los Angeles next month. (May 11-16). Although I won’t be presenting any sessions, I’ll be working several shifts at the TLC (Technical Learning Center). And that’s not all – Microsoft will be giving away copies of my book – Professional Microsoft Office SharePoint Designer 2007. We’ll be set up for autographs, both from me, and from my co-author, Asif Rehmani.

Here are the details:

Professional Microsoft® Office SharePoint® Designer 2007 – Free Books and Signing by Authors:  Woody Windischman & Asif Rehmani

Where:  Microsoft TechEd 2009 – Los Angeles Convention Center, Level 1

South Hall G&H, Technical Learning Center (TLC) Yellow Area – OFC (Office & SharePoint)

Monday, May 11, 2009 – 3:30-4:30PM
Tuesday, May 12, 2009 – 1:30-2:30pm
Wednesday, May 13, 2009 – 1:30-2:30pm
Thursday, May 14, 2009 – 1:30-2:30pm

Note:  One book per person

gems

A Hidden Gem – the Preview Pane View in SharePoint

Toward the end of my wiki article last week, I showed a web part added to a SharePoint wiki page. While people liked the idea of adding web parts to a wiki, what got even more reaction was the web part itself.

The web part, shown below, contains a list of the pages in my wiki. That’s nothing new, but what got folks excited was the ability to roll-over the titles, and see a preview of the contents of that page. People are looking all over the place for the "Preview Pane" web part, and asking me where to find it.

image

Well, I have a confession to make – there is no "preview pane web part". Per se.

But wait – don’t run away! I wouldn’t be here very long if I went around faking up web pages to make a point. That view is very much a part of SharePoint – even WSS. I just said it wasn’t a web part. And that’s why people can’t find it.

So how do you get a preview pane? Here’s the secret – although the preview pane isn’t itself a "web part", it is available as a style in almost any list view!

How to do it

The example in the other article was a wiki, but it didn’t need to be. You can use a custom list as well. To show how this works, I’ll start with a site’s home page.

image

I select Edit Page from the Site Actions menu, and click Add a web part. I’m going to select the Songs list. This is just a custom list that has some content in it on my site. It could have been a wiki, Announcements, or any other list. This list just happens to have some useful content.

image

Notice that this is starts as simply a standard view of the list.

image

Now the fun begins! Select Modify Shared Web Part from the web part’s menu:

image

In the task pane, select "Edit the current view." (Note: I also changed my toolbar type to summary, to make it smaller.)

image

On the Edit View page, scroll down towards the bottom, and expand the section entitled "Style". There you will see a number of display formats. One of them will be the "Preview pane":

image

Select it, and Click OK. Click OK in the task pane, and your view will be updated with the rollover and preview!

image

Other Aspects

Since this is just a view style, you can use it on almost any list or library. In addition, you don’t need to create a web part first. You can just add this as a view on your list’s settings page.

When you create the view, make sure you choose the "Standard" view as the base format:

image

Once you do that, you will see the same view settings screen described earlier.

Conclusion

SharePoint offers a lot of different ways to look at the information in your sites. One of the most interesting is the Preview Pane view. Although it doesn’t show up as a web part on its own, you can use it in almost any list or library simply by modifying the view settings.

I hope this article has encouraged you to explore this, as well as some of the other view formats available to you!

MCj02337790000[1]Wiki-in-the-Box – Is SharePoint Wiki Really that Bad?

Today I’m going to get off the SharePoint Designer shtick, and go back to SharePoint basics. In particular, I want to take a closer look at SharePoint’s built-in wiki functionality.

SharePoint’s wiki has taken a lot of grief online lately. Some people look at various dedicated wiki systems, then at SharePoint, and come to the conclusion that SharePoint’s wiki just doesn’t measure up to the "best of breed". There is a big difference, however, between "not the best" and "totally inadequate".

The Real Question

If you use SharePoint in your company, and are considering whether to purchase a third-party wiki replacement, the question you really need to ask isn’t, "Is SharePoint’s wiki the best there is?", but rather "Will SharePoint’s wiki do the job I need done?"

To help you answer that question, we’ll take a look at what a wiki is, what you might want it to do, and what SharePoint’s Wiki offers "in the box" to answer those needs. I’ll also check out what simple enhancements are available (both within SharePoint, and via add-ons) to extend that built-in functionality.

Just What is a Wiki, Anyway?

Creating pages for the web has historically been a complicated process. It required page creation and editing on a client computer (usually with a specialized tool), and then uploading the finished pages to the web site. Linking required knowing where the target pages were going be relative to the current page.

Wiki-wiki is Hawaiian for "quick". The first wiki was designed to make it quick and easy to create and edit web pages, as well as the links between them. Rather than force users to understand HTML markup, and site structure, a wiki lets them create a link, and if the target page doesn’t exist, it will be created automatically when the link is clicked for the first time. Combined with in-place editing, this effectively makes a wiki a form online content management system.

As noted earlier, a user doesn’t need knowledge of HTML markup to use a wiki. However, because wikis historically have used plain text boxes for entering content, over time conventions have developed for a "wiki markup" for such things as bold and italic text, intra-page section headings, etc… I’ll talk about this in more detail in the next section.

Note: WikiWikiWeb, the software created by Ward Cunningham for that first wiki, used a different syntax from most modern wikis when it comes to links. WikiWikiWeb used compressed text (i.e. Leading-cap words with no spaces between) to indicate text was a link. Current wiki markup convention calls for intra-site links (also known as wiki links) to be defined with [[double square brackets]].

In addition to being quick and simple, there is another, non-technical, aspect to a wiki – something of a "wiki philosophy". This philosophy holds that a wiki should be open to modification by anyone who has something to contribute – even anonymously. Most public wikis hold to this philosophy, however it is not without its problems. For example, while the desired benefit – people with actual knowledge of a subject contributing and correcting inaccurate information – is clearly achieved, it is just as easy for others to post deliberately incorrect information, or even vandalize sites.

While such defacement is just as easily corrected, most modern wiki systems do incorporate certain safeguards – such as authentication, change logs, and approval processes – which can be implemented at need. Indeed, even WikiPedia, the most prominent wiki site on the internet, treats authenticated and anonymous contributions differently, and allows article (page) creators to prevent anonymous edits.

SharePoint Wiki – On the Surface

Now that you know basically what a wiki is, and how they were created to make it easy for non-technical users – and particularly subject matter experts (SMEs) – to create and manage web content, let’s take a look at a SharePoint wiki site.

Note: SharePoint has two things called "wiki". The Wiki Library, and the Wiki Site template. A Wiki Library can be created on almost any SharePoint site, and is accessed through quick-launch just like any other SharePoint list or library. When you create a Wiki Site, a Wiki Library is created in it automatically, the site is set to use the Wiki Library’s home page as its default, and a Wiki Pages section is created in the Quick Launch bar. The behavior of the Wiki Library itself is otherwise identical.

In most respects, a SharePoint Wiki is very similar to any other SharePoint site, as shown below. However, when you look a little closer, you start to see some differences:

image

  1. Wiki Toolbar – The wiki toolbar gives you direct, 1-click access to editing a page, viewing its change history, or discovering what other pages in the wiki link to it.
  2. Quick Launch Bar – Notice the Wiki Pages section. This is created in a Wiki Site only. Other "normal" sections (e.g. Lists, Discussions, etc…) are generated as needed if you add them to the site. On non-wiki sites to which a Wiki Library is added, this section is not created automatically.
  3. Recent Changes Bar – The Recent Changes bar lists the last five pages that have been updated.

Whether stand-alone, or part of a wiki site, two pages are created by default in a SharePoint wiki library – the Home page (shown above), and "How to use this Wiki" (the text varies slightly to reflect the library or site context). While wikis, by definition, are very easy to use, a quick glance through the "How to" page can still be very helpful. It provides quick tips on the two elements of a SharePoint wiki that are not "obvious", especially to new users – the [[double bracket]] wiki link syntax, and how to create new pages.

To help prevent the creation of orphan pages (those with no incoming links), users are encouraged to grow the site organically, by editing an existing page and adding wiki links. Recall that, if you create a wiki link to a page that doesn’t exist, a new page will be created when that link is first clicked.

Getting Started

The first thing you will probably want to do, is edit the home page to reflect your purpose in creating the wiki site, and create some "seed" links to get your users started.

image

Notice how I have "set the stage" for my users. I haven’t actually entered any information yet, but by creating these links and a description, I have let people know the purpose of this site. Now, anyone with write permission can click on one of the links with dashed underlines, and they will be able to create content.

Which brings us to the first area of concern in many environments – if "anyone" can go in and modify these pages, what if someone totally messes things up? This is where the page history comes into play. By clicking the History button in the wiki toolbar, I can easily see what changes have been made over time. For example, in the screenshot below, you can easily see the changes I have made to the home page from the default, with added and deleted text highlighted in different colors from that which was unchanged:

image 

Because in most environments SharePoint is used with authentication, you will know not only what changes were made, and when, but by whom.

The Editing Experience

One of the complaints often leveled against SharePoint’s wiki is its lack of support for "wiki markup" beyond intra-site page links. While this is true as far as it goes, it doesn’t consider what that markup is designed to do – compensate for the plain-text editing features of most wiki systems. For example, to make italic text in many wiki systems, you enclose the text in ”double apostrophes”. Yet while there are some conventions, there is no true "wiki markup" standard.

Here is an example of the page editing experience in a SharePoint wiki:

image

Notice that SharePoint’s wiki actually provides a full rich-text editor, with direct toolbar-based access to text formatting, external hyperlinking, etc… The results from these tools are stored as standard HTML markup. This strongly mitigates the need for specialized wiki markup beyond the already included internal linking.

Note: Out of the box, the rich-text editing experience is only provided for users of Internet Explorer. If you have many non-IE users, I strongly suggest that you download and install Telerik’s RadEditor Light. This is a free tool, the use of which is fully supported by Microsoft. I have provided a detailed write-up of it in an earlier blog post. Even if you do use IE, RadEditor Lite provides many other features that are particularly useful in a wiki environment.

Digging Deeper

So, looking at the "wiki" features of SharePoint’s wiki, we see a very easy to use system, which, while it may not offer everything a competitor’s wiki has, isn’t too bad. But the story doesn’t stop there. The other side of the "SharePoint Wiki" equation is SharePoint itself. As a part of SharePoint, the wiki library comes with a number of very useful capabilities, especially around site management.

Much of the "SharePointiness" of the wiki library is suppressed from the default page views. Nevertheless, it is in there, just below the surface. The easiest way to access it is to click the "View All Pages" link in the Recent Changes bar. This brings up a standard SharePoint view of your wiki library:

image

From here, you have access to all sorts of abilities:

  • Setting Alerts to be notified of changes
  • Setting the permissions of the library, or even individual pages
  • Adding metadata fields – for example, subject tags, or even links to supporting documents
  • RSS feeds
  • Requiring approval and document check-out for changes.
  • Creating different views of the information

In addition, because wiki pages are considered individual files by SharePoint, they have individual URLs, making it easy to provide "friendly" links to users, as well as get detailed usage reports.

Because a wiki page is a "page" in SharePoint, you have a second editing option, under the Site Actions menu. This edits the SharePoint, rather than Wiki aspects of the page, and allows you to add web parts to a page in your wiki. These parts will only appear on that specific page, but can be used for virtually any purpose. For example, here I’ve added a web part that is a view of the wiki library which displays a page preview when you roll over a title:

image

Content in a SharePoint wiki is also automatically included in SharePoint searches, making it easy to find information even if you don’t know exactly where in the wiki it is.

Conclusion

SharePoint’s wiki features are a bit like Rodney Dangerfield – they "don’t get no respect". Yet, while on their own they may not be best-of-breed in the wiki world, they are still quite useful. In addition, they do something no other wiki system does, they bring the rest of SharePoint, with all of its power and flexibility, along for the ride.

If you are considering deploying a wiki in your company, and you are already using SharePoint, look beyond what a wiki purist might see as perfection, and consider your actual needs. You will probably find that SharePoint’s wiki will fulfill them.