Skip to main content
Trans Am

Todd Klindt's SharePoint Admin Blog

Go Search
Home
Blog
Netcast homepage
SharePoint Terminology Wiki
  
Todd Klindt's home page > Todd Klindt's SharePoint Admin Blog > Posts  

Posts

Modify settings and columns
Use the Posts list for posts in this blog.
  
View: 
Category
EditBodyFilter
New Video UpUse SHIFT+ENTER to open the menu (new window).New
Todd O. Klindt7/1/2009 2:13 PM0 

While I was out at SPTechCon Laura Rogers and Mark Miller of EndUserSharePoint did a quick interview of me. They were really bored that day. It's a pretty short watch, about 6:30.

MP3 version

WMV version

iPod version

I also got the word today that I was reawarded the MVP award from Microsoft. It's been a great ride and I'm very grateful to have been given the opportunities I've been given. Congratulations to all the other MVPs that have gotten the nod today.

tk

Netcast #14 – Not Dead YetUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/29/2009 3:14 PM0 

In this episode I talk about the topics that came up at SPTechCon and announce some sessions at the SharePoint conference. I also discuss the physics behind why a watched pot never boils. The video is jerky, it's not just you. (Unless you're listening to the MP3 version, then the video is great and I might be more handsome than ever)

MP3 version

WMV version

iPod version

tk

Post Conference Session at SharePoint ConferenceUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/26/2009 10:11 AM2 

In last week's netcast I hinted that I'd be at the Microsoft SharePoint Conference and had something to announce. The story broke earlier this week. Shane and I will be doing a post conference workshop on Friday October 23rd. We will be covering, in excruciating detail, SharePoint 2010 installation and upgrading to SharePoint 2010 from SharePoint 2007. There will be lecture as well as a couple of hands on labs. If we have time we may even cover how to stick Teflon to a pan when nothing sticks to Teflon. Here's the abstract we submitted:

Prepare yourself for the upcoming SharePoint Server 2010 Public Beta! Come and spend a full day with SharePoint IT Pros and Microsoft MVPs Todd Klindt and Shane Young as they cover install of SharePoint Server 2010 as well as upgrade scenarios from Office SharePoint Server 2007. They'll cover the gotchas of the install as well as potential pain points you might encounter when upgrading in your organization. After this session you'll have all the information you need to wow your boss and coworkers as well as get SharePoint Server 2010 beta up and running in your organization.

Space is limited to 150 people and the cost is only $400. If you've already signed up for SPC you should have gotten an email about this with instructions on how to sign up. If you haven't already signed up for the SPC this sounds like a perfect reason to do so. J If you're the developer type and are afraid to come into our session, don't worry, you'll have a blast and learn a lot. You may be the butt of a few jokes, but it will all be in good fun. If you still don't want to come there is another option. Andrew Connell and Ted Pattison are doing a Developer Deep Dive workshop at the same time. You can't go wrong with either one.

See you at SPC.

tk

Free Idera webinar staring ME!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/17/2009 9:52 PM3 

It just dawned on me that I have done almost nothing to let you folks know about the webinar I'm doing tomorrow for Idera. They have graciously allowed me to do another webinar on SharePoint and SQL for administrators as part of their Secrets of SharePoint series. It's 100% free. Just sign up and tune in tomorrow at noon Central time. I'll be talking about using SQL and doing stuff like mirroring, log shipping and how to move your SharePoint farm from one SQL instance to another. It should be a good time. Don't worry if you missed my last webinar, I'll recap the important stuff tomorrow.

I'll be augmenting the webinar by streaming live on Stickam. You won't be able to see the slides or demos there, but you'll be able to see my smiling face.

So please join us tomorrow.

Thanks,

tk

Netcast #13 – Site OutagesUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/15/2009 11:46 AM0 

Get it while you can, Netcast #13 is up. Get it while you can, who knows when this server is going to tank next. J

In this week's netcast I talk about recent changes to my website that have resulted in downtown. I cover the STSADM operation mergecontentdbs and I cover some community activities. I also explain where that lost sock goes.

MP3 File

WMV File

iPod File

You may have noticed I jumped from #11 right to #13. Many places skip 13, not me, I skip 12. Seriously with the site outages 12 was going to go up late, and then when I listened to it I realized the audio was horrible. Just terrible. And I'm not just referring to Shane's voice. I put them up anyway, but it won't hurt my feelings if you don't listen to them.

MP3 File

WMV File

Sorry about 12.

tk

Another trip, another site outageUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/12/2009 11:46 PMSharepoint0 
Once again I left my house and took my web site down. This  time it was my old nemesis, the maxAllowedContentLength setting. After last week's meltdown I had to rebuild my farm. That means new web.config files all around. Before I tried to upload Netcast #12 (it really does exist, honest) I changed that setting so I could upload the file. I was in a hurry because I needed to get on the road for SharePoint Saturday Chicago so I didn't get around to uploading the file. Apperently I did have time to break my site. Those of you that suffered through my first few webcasts remember the hijinks from when I had to enter it the first time. Well, everything old is new again. I put it in the wrong place and screwed up my web.config. Since you're reading this now, you know I got it working. I just removed it, so there's still a chance for me to screw it up again when I add it. Fun, fun.
 
The good news is that I made it to Chicago and I'm stoked about SPS tomorrow. I hope to see a few of you there. Please stop by and say Hi if you see me.
 
tk
I’m baaaaackUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/11/2009 2:17 PM0 

Some of you may have noticed that my site was down for a few days. I had a hardware failure that started about 30 seconds after I left the house for a trip to Seattle. I had my lovely wife do some troubleshooting for me and it turns out my SQL server blew a drive, the drive my databases are on of course, and it was stuck in Check Disk. I had her shut it down to hopefully reduce any damage that had been done. Practicing what I preach, I was mirroring my Content Databases to another SQL instance. I wasn't, however, mirroring my Config DB. That kept me from just setting up a SQL alias and bringing it all back up. When I got home yesterday I tried to recover my Config DB but it was dead. I rebuilt the farm and attached my Content DBs and I'm back up and going. I have the Netcast I recorded Monday morning, but I haven't edited it yet. Hopefully I'll get that online today.

Thanks for your patience everyone.

tk

Netcast #11 – The Two SilosUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/1/2009 2:13 PMSharepoint0 

In this week's netcast I talk about where different aspects of SharePoint content and configuration are stored. I talk about in the context of disaster recovery and what challenges can come up. I also cover why your keys are always in the last place you look.

As always, I welcome your comments. Next week I'll be recording the netcast at a different time. Stay tuned here for more details.

MP3 File

WMV File

iPod File

tk

Netcast #10 – The Hyper-V ConspiracyUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/26/2009 2:28 PMSharepoint; Netcast4 

In this netcast I cover some Hyper-V gotchas that may affect SharePoint. I also cover a dirty little secret of SharePoint 2007 SP2 while extolling the virtues of the April CU.

This is the blog post to comment on for the contest I mention at the end of the Netcast. Good luck

WMV File

MP3 File

iPod File

 

tk

Netcast #10 scheduleUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/23/2009 10:08 PMSharepoint; Netcast1 
Because of the Memorial Day holiday I won't be recording next week's netcast on Monday morning like I usually do. Instead I'll be recording it Tuesday morning instead. Same time, 8:45 AM Central Time. I will be doing some giveaways, so for an unfair advantage, watch the recording live at Stickam.
 
See you Tuesday, and happy Memorial Day.
 
tk
Small licensing problem with SP2Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/22/2009 8:44 AM0 

As you may have read on my blog, SP2 for SharePoint 2007 came out a month ago. The SharePoint Team Blog announced a teensy tiny little problem they've found with SP2. It seems that when you install SP2 on a SharePoint product that is licensed (MOSS, Forms Server, Project Server and Search Server) SP2 resets the license back to a trial license. Now, on the surface this might seem like a big deal, but I don't think it is. First, the trial is 180 days, so you have six months from the time you install SP2 to fix the issue. That's six months of everything working just fine. The other reason I don't think this is a big deal is because the fix is as simple as just reentering your non-trial license key. Overall, I don't think it's a big deal.

You can get the whole story on this at the SharePoint Team Blog. If you leave a comment, go easy on them. J

tk

Netcast #9 onlineUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/18/2009 2:55 PMSharepoint; Netcast0 
I've uploaded netcast #9 "TechEd 09 - We love L.A. (we love it)". In this episode I do a recap of TechEd 2009 in Los Angeles. I cover some of the topics covered. I also spend time talking about how to rescue yourself from a Basic Install, and how to break up Site Collections.
 
 
tk
TechEd 2009 – Day 2Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/13/2009 11:54 AM2 

Another fun filled day at TechEd. I had my first breakout session on Tuesday. Shane and I did a session on Disaster Recovery called "Saving one SharePoint installation at a time." The crowd was pretty lively and it went well, despite, or maybe because of me not having much voice. J Bribing them with books might have helped. Shane and I's TechEd Online video is now online. It's not too bad. I spent a few hours at the Office TLC and got to meet a lot of great people. If you're at TechEd I'll be back there today as well. Stop by and say hi.

tk

TechEd 2009 – Day 1Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/12/2009 1:00 AMSharepoint1 

Whew! Today was a big day here in Los Angeles. It started off with the keynote. A lot things were shown and talked about, but I'm not going to cover any of the non SharePoint content. The big news for us was the release of the software and hardware requirements for SharePoint 2010. This was also echoed on the SharePoint Team Blog by Rich Riley. It breaks down to this:

  1. SharePoint 2010 will be 64-bit only.
  2. SharePoint 2010 will require Windows 2008 or Windows 2008 R2
  3. SharePoint 2010 will require 64-bit SQL 2008 or 64-bit SQL 2005

We already knew #1, that's been on the street Since November of 2007. The last two points were new information. If you've gone to any sessions I've done in the last year you know I've been telling people to move to 64-bit now as well as Windows 2008. It's more important now than ever. You should up to speed on both of them now so that when the public betas of SharePoint 2010 come out you'll be ready to drop it into your environment and start playing with it. Don't forget your development and test environments will also be held to these requirements. If your developers are developing in virtual environments they'll need to be able to virtualize 64 bit guests to play with SharePoint 2010.

Rich also mentioned that Internet Explorer will not be supported in SharePoint 2010. The Tier 1 browsers will be IE 7, IE 8 and Firefox 3.x on Windows platforms. SharePoint 2010 will also support Firefox 3.x and Safari 3.x on non-Windows OSes. For those of you with large installations running IE 6, you'll need to start looking at upgrading your desktops as well.

Shane and I recorded a short video for TechEd Online. It should be up under TechTalks under the Office and SharePoint channel. Once it's published I'll try to get a direct link. In it we covered some common SharePoint installation problems we see and how to avoid them. It's good information for both the new and seasoned SharePoint administrator.

Some of you have probably noticed there's new netcast this week. Never fear, I haven't given up on them. Two things have gotten in the way. First, I've been pretty busy talking to attendees and vendors. Second, I'm losing my voice. L I've caught a bit of a cold and I can hardly talk. It wouldn't make for a very good netcast right now. Hopefully my voice will improve over the next couple of days. I apologize ahead of them to anyone sitting in on my sessions this week.

Finally, the folks at Idera sponsored a book signing tonight at their booth. It was a blast. Thanks to all the people that stopped by. It was great talking to everyone.

It's late and I need to get to sleep. I've got a big day ahead of me tomorrow. Hopefully my voice comes back. I'll try to post updates to Twitter. You can also search using the hashtag #teched.

tk

 

TechEd 2009 - Day 0Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/11/2009 1:27 AMSharepoint0 
Today was Shane and I's preconference session on Governance. We had a great crowd and we had a lot of good discussion. Thanks to all of you that put up with us all day. :)
 
You can download our slides here.
 
If you're at TechEd this week, swing by the TLC and say hi. I should be around all week.
 
tk
My TechEd 2009 ScheduleUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/8/2009 11:10 PMSharepoint1 

Tomorrow morning I hop on a plane for sunny Los Angeles California for TechEd 2009.I thought I'd post my schedule here. I'd love to hear from you if you're going to be at Teched.

Sunday 10:00 – 6:00 – PreConference Governance session

Sunday 7:00 – whenever - SharePint

Monday 11:00 – 11:30 – Tech Talk "SharePoint – What could possibly go wrong?"

Monday 7:30 – 8:00 – Book Signing at Idera vendor booth. They're giving away 40 copies of my book.

Tuesday 10:15 – 11:30 – OFC310 - Saving the World, One Microsoft Office SharePoint Server 2007 Deployment at a Time: Backup and Disaster Recovery (Room 502A)

Wednesday 1:00 – 2:15 - OFC404 - Exploring Proper Microsoft Office SharePoint Server 2007 Installation and Topologies (Room 150)

Thursday 8:30 – 9:45 - OFC409 - SharePoint Admins, the Reluctant DBAs (Room 152)

I'll probably be hanging out at the SharePoint Technical Learning Center (TLC) when I'm not up on stage. Feel free to swing by and say Hi. I'll also be recording my weekly netcast sometime Monday. Not 100% sure when that's going to happen.

tk

Netcast #8 onlineUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/4/2009 2:28 PMSharepoint; Netcast0 

Another week, another truly spectacular SharePoint netcast recorded. This week I cover SharePoint 2007 SP2. I cover what features have been added, like STSADM operations and FBA support as well as things that have been fixed and why we drive in a parkway and park in a driveway. I also introduce my new Intro in this episode, courtesy of Darvish Shadravan. Finally for each unique IP that downloads a copy before May 11th I will donate one item to a local food pantry. Tell your friends.

I have moved most of the netcast specific content to http://www.toddklindt.com/netcast. This is the last week the netcasts themselves will be stored here in /blog. Please update any subscriptions you have. I will continue to announce each new recording here though.

WMV File

MP3 File

iPod File

enjoy,

tk

P.S. Looks like a production problem. :) Taking offline to fix. Will update here when ready.

P.P.S. All fixed.

Top 6 new STSADM operations in SharePoint 2007 SP2Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/30/2009 5:30 PM2 

By now you've had a couple of days to play with SP2. Hopefully the install went well. There's some new stuff in it that I want to show you. In this post I'll tell you about the new STSADM operations that are introduced. I did an "STSADM" on a box running SP1 and the Infrastructure Update (build 12.0.0.6318) and on a box running the hot off the presses SP2 (12.0.0.6421). There are six STSADM operations in SP2 that aren't there before. To make it fun, I'm going to list them in order of how excited I am about them.

#6 – variationsfixuptool

This operation alerts you to problems you might have with any variations like orphaned pages. It'll also force a variations timer job to run. You can find out more about it in this article on TechNet. I don't use variations much, so this operation while much needed, doesn't really get my motor running.

#5 – exportipfsadminobjects

Do you use Infopath a lot? Then this operation might be for you. It stands for EXPORT InfoPath Form Server ADMIN OBJECTS. I'm not entirely sure what this does, but it appears to backup forms and configuration that is uploaded to your farm. Unfortunately there isn't an associated IMPORTipfsadminobjects operation, so I'm not sure what to do with it. It sounds cool though. I'm an admin, I like backing stuff up.

#4 and #3 – setqueryprocessoroptions and listqueryprocessoroptions

I couldn't really split these two up, so they share an entry. These two options let you list and set five parameters of your search environment. The following settings are exposed: (blatantly stolen from 'stsadm –help setqueryprocessoroptions)

securitytrimmingcachesize <security trimming cache size>

securitytrimmingmultiplier <security trimming overfetch multiplier>

nearduplicatemultiplier <duplicate removal overfetch multiplier>

joinmultiplier <join discard overfetch multiplier>

sdidjoinmultiplier <missing security descriptor overfetch multiplier>

These settings are per SSP. Use listqueryprocessoroptions to see what your current settings are and use setqueryprocessoroptions to change them. Now that search is heavily integrated in WSS as well as MOSS, this is really handy. Descriptions of the settings can be found on TechNet.

#2 – enumallwebs

This little number is pretty cool. We already have an "enumwebs" operation. Why in the world would we need an "enumALLwebs" function, you might ask? Well, I'll tell you why. Before SP2 came around if we wanted a list of webs for a particular parent all we had was the enumwebs operation. Its major failing was that it didn't recurse. It only showed you the webs directly under the URL you gave it. It would not show you the subwebs of those webs. You only got one level. Enumallwebs gives you ALL the webs a given site collection. Heck, it gives you all the webs in a given database. It also gives you tasty nuggests like SiteIDs and WebIDs, Language and Site Template. I can't count the number of times I've gotten the question "How can I tell what template was used for a site?" Now I can answer with confidence "stsadm –o enumallwebs." You can find out more from TechNet.

Drum roll please…

#1 – preupgradecheck

The one we admins have all been waiting for, preupgradecheck. The one is worth the price of admission alone. Like its predecessor, prescan.exe, this operation walks through your farm and databases and alerts you to any problems you might encounter when it comes time to upgrade to SharePoint 2010. It supports external rule files, so you can tell it about any 3rd party software you've installed. It comes with a default rule file, so all you need to do is run "stsadm –o preupgradecheck" to see what it does. I have been assured that it makes no changes to your databases, so it's completely safe to run. I've run it on several of my systems and haven't found any indication otherwise. The official TechNet article gives a little more information. Hopefully time will permit me to write a whole blog post on it. There's a lot of cool things to see.

That's it. Those are the six new STSADM operations in SharePoint 2007 SP2. I'll be talking a little more in depth about SP2 in 8th weekly netcast. Be sure to check it out.

tk

 

 

 

 

SharePoint 2007 SP2 available for downloadUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/28/2009 10:52 AMSharepoint3 

The day has finally come. You can download SP2 for SharePoint 2007. Here's a couple of links to get you started:

Download WSS SP2

Download MOSS SP2

SP2 is all inclusive. It will install on the non-SP1 RTM of SharePoint 2007 and all build numbers forward. If you have MOSS, remember you need to install the WSS SP2 first and then the MOSS SP2 or you'll have problems. I don't recommend you install this in production today, but I do recommend you get it into a test environment as soon as you can. I have a couple of blog posts in the works on changes that SP2 brings for the Administrator. Hopefully I'll have them out in the next couple of days.

tk

Netcast #7 onlineUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/27/2009 1:54 PMSharepoint; Netcast2 

This week I talk about using SQL with specific port numbers, editing the SharePoint ConfigDB, things you can do from STSADM but not Central Admin, noise word configuration, and why when a red sock gets into the laundry everything turns pink.

This is also the blog post you need to leave a comment for if you know the answer to the question to win a copy of SharePoint 2007 Disaster Recovery. There will only be one winner. Good luck to everyone.

There does seem to be some audio/video craziness around the 20 minute mark. I'm aware of it.

WMV File

MP3 File

Show Notes

tk

 

Netcast #6 readyUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/20/2009 11:29 AMNetcast; Sharepoint2 

My sixth netcast is now online for your enjoyment. I'm a little disappointed, all the files uploaded the first try and everything went smoothly. I did watch some of the video and it looks a little washed out. Looks like I have too much light. I'll work on that for next week. In this week's show I talk about using Migrateuser to fix deleted user permissions, all the new stuff there is to know about SharePoint 2007 SP2 and SharePoint 2010 and I explain how to stick Teflon to a pan, when nothing stick to Teflon.

As always I welcome your questions, comments and suggestions.

WMV File

MP3 File

Show notes

 

tk

Idera Webinar a huge successUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/17/2009 3:50 PM0 

And by "huge success" I mean they didn't cut me off 10 minutes in because of "technical difficulties." I imagined a huge digital hook like they used on the Gong Show pulling me offline after a few minutes. They very generously let me stay the whole time. I've gotten a few questions about getting a recorded version of the webinar. If you register here you can watch a recorded version of the webinar. I didn't get to all of the questions that were posted. I'm working through them now, so expect a post here in the next few days with the questions and some answers, correct or not.

More good news, the kind folks at Idera have agreed to let me do another webinar. Details are very tentative right now, so I won't go into them yet. Stay tuned here. Once it's all hashed out I'll make a big announcement.

For those of you interested in your free copy of SharePoint Designer, please look here for all the details.

tk

Last call for free webinarUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/14/2009 10:42 AMSharepoint4 
Tomorrow the folks at Idera are sponsoring a free webinar where I'll be talking about SharePoint and SQL. Along with the webinar itself I'll be trying to broadcast again on Stickam. To watch me while I deliver the webinar point your browser at my Stickam Profile page. I used Stickam yesterday when I recorded my weekly netcast and it pooped out part of the way through. I'm not sure what caused that. Just a warning if it does that again.
 
Hope to see you tomorrow.
 
tk
Netcast #5 is aliveUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/13/2009 5:16 PMSharepoint; Netcast1 
After much trouble uploading (again) netcast #5 is uploaded. This week I talk about incoming email, how to move databases, and why your reflection is only reversed side to side in a mirror.
 
 
 
 
Enjoy. And as always, if you have feedback, leave me a comment here.
 
tk
Netcast numero cuatroUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/6/2009 10:40 AMSharepoint; Netcast0 
To help cure your case of the Mondays, I've uploaded my fourth netcast. I cover SharePoint Designer, Conficker and making your competition disappear. Enjoy.
 
 
tk
Batten down the hatches, SharePoint Designer is free (as in beer)Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/2/2009 8:48 AM1 

All the rumors you've been reading on bathroom walls for the last couple of weeks are true. Microsoft has graciously agreed to make the current and next versions of SharePoint Designer (SPD) absolutely free. You can download it this link. The good news is that you can download SPD for free. The bad news is that everyone can download SPD for free, including the users you may support. I've never really bought into all the fear and hype of users using SharePoint Designer and screwing up SharePoint. I've always been for user empowerment. However, if your organizer does not share my free spirited views, this blog post talks about ways to restrict SDP use at different scopes in your organization. It's worth checking out. I would also verify your backup and restore operations are working. It is true that SPD can be used to cause problems in SharePoint, so it's a good idea to be confident in your ability to recover things, should you have to.

I hope you enjoy SPD and all the fun it brings to your farms. J

tk

3rd Netcast is onlineUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/30/2009 10:45 AMNetcast; Sharepoint0 

Destroying my previous record of two in a row, today I've uploaded my third weekly netcast. Get it while it's hot. I cover some recent SharePoint topics as well as my fun install Certificate Services on Windows 2008 for use with SharePoint. Tell all your friends. Show notes forthcoming.

tk

WMV File

MP3 File

Iowa SharePoint User Group meetingUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/28/2009 12:31 PMSharepoint0 
The Iowa SharePoint User Group is having a meeting on Wednesday. They're going to talk about how to use SharePoint with Social Networking. The best part, I'll be there! Meet me at DMACC in Ankeny Wednesday morning. You can get the full story and sign up Iowa SharePoint User Group web site.
 
tk
Put "mergecontentdb" on hiatus. Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/27/2009 4:00 PMSharepoint4 
In November of 2007 I published a blog post extoling the virtues of a new STSADM operation, mergecontentdb. At the time, it was the coolest thing ever. Now, after 16 months of use, it's come out that in some, very rare circumstances, mergecontentdb may fail and may result in data corruption. Because of that the SharePoint product team has suggested using it with extreme caution, or better yet, don't use it at all. Their blog has a method using Batch Site Manager to do the same thing, but without the pesky data corruption. I would imagine there's a fix in the works, so if you can hold off moving any site collections, I would recommend it.
 
tk
Watch my free webcastUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/24/2009 10:49 PMSharepoint2 
The fine folks at Idera are sponsoring a webcast where I'll be talking about SharePoint and its love/hate relationship with SQL Server. I'll cover some SQL server basics the SharePoint admins that are forced to work with SQL. I will also cover some of the ways SharePoint uses SQL and how you can keep that relationship as happy as possible.
 
Register now, before all the seats are taken. You'll want to experience this yourself instead of hearing about it from your friends/
 
 
Hope to see you there,
tk
2nd Netcast, can you believe it?Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/23/2009 9:52 PMTech Stuff; Netcast3 
Defying all odds, I recorded a second netcast. I know, I know, I'm as surprised as you are. Below are the links to the audio and video files. I haven't written the shownotes, but I'll get them put up tomorrow. Enjoy.
 
tk
 
 
How to calculate your churn rateUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/22/2009 9:06 PM3 

When I do my world famous SQL sessions I always warn people to autogrow their databases, to embrace whitespace. As a guideline I tell people to grow their databases to how large they will be in a year. In order to do that, you have to know what your churn rate is. By "churn rate" I mean how large your content grows over a period of time. That period of time may be days or months. As an admin it's a good idea to know your churn rate for a number of reasons. In this post I'll talk about a couple of ways to determine your churn rate and what to do with that information once you have it.

How to determine your churn rate

Before you can make any sizing decisions about your farm, you need to have a good idea how quickly it grows. There are a few ways to get that information. Being the cheapskate that I am, the two I demonstrate will be free with built in tools. These are by no means the only way to get this information.

Through SQL

Through SQL we can see the backups performed on each database, and how large they were. This gives us a great way to see how each database has grown. Remember, white space is not backed up, so your backups will reflect the actual amount of data you have, not the size of your MDF file. Run the following query against each of your content databases to see how they've grown over time:

select 

 BackupDate = convert(varchar(10),backup_start_date, 111) ,SizeInMBs=floor( backup_size/1024/1024) 

from msdb..backupset 

where 

 database_name = 'WSS_Content'

 and type = 'd'

order by 

 backup_start_date desc

 

Change the database_name in line #6 to run it against a different database. When you run this query you will get a list of all of the backups run against that database by date and size. It should look like this:

This shows my most recent backups of this database were 48 MB, while the ones before the 19th were all 22 MB or so. I uploaded 25 MB then ran a backup in Central Administration. Since Central Administration actually does a SQL backup it shows up in this list. Backups made from third parties that don't do database backups may not show up in that list. If you would like you can change the heading in line #3 to "sizeInGBs" and add another "/1024" to the backup_size if that makes more sense for the size of your database. "backup_size" is in Bytes, so you can modify it accordingly. That's one way to get your database growth rate.

Through SharePoint

You can also get your churn rate from the SharePoint object model. I like this method because it will also let you keep tabs on individual site collection growth, should you choose to. This lets you be proactive on site cllections that are growing out of control, before they come to you because they are out of space. For this method I use the output of "stsadm –o enumsites." Fortunately for us enumsites not only lists out the site collections in your farm, it also gives us a ton of information about them. One of those tidbits being how much space the site collection is using. We can add that all up to see how much space our farm is taking, and compare it. To make this work you have to run "stsadm –o enumsites" peridodically, and you have to massage the output a little. Don't worry, I'll spell it all out for you. J

First we need to run "stsadm –o enumsites" to get the output. Let's take a look at what it looks like on one of my test servers:

The URL parameter is the URL of your farm, not an individual site collection. You may recognize the format of the output. It looks suspiciously like XML. Because of that we can do all kinds of fun stuff with it. I highlighted the output from one site collection, http://stockholm. We have a lot of information there. For this blog post we are only really interested in the "StorageUsedMB" value. That is what we will add up to get our total usage. We can simply pipe that output to a file with something like "stsadm –o enumsites –url http://stockholm > usage.xml" Copying this file to a document library and rendering it in a browser is a good idea. Putting it in the document library allows us to keep many copies and lets us see the growth over any period of time, that also makes it easy to view in a browser. To aid in the display of the XML data, we will use an XLS transform. The XSLT allows us to format the data in the XML file, as well as do some simple things like create sums. In order to make things work more smoothly, we will prefix two lines to the XML file. These two lines define the type of XML file we have, and which XSLT file to use. We could do it without these two lines, but it would be more work to view. You couldn't just click the XML file you want to view and have everything just link up. Here are the two lines we added to every usage.xml file:

<?xml version="1.0"?>

<?xml:stylesheet type="text/xsl" href="usage.xsl" ?>

This tells your browser to use the file usage.xsl when trying to render the XML file when you click it. I've saved these two lines to a file called header.txt and I'll use the

copy
command to combine the header.txt file and the usage.xml file created by STSADM. Here's the first couple of lines in action:

stsadm -o enumsites -url http://stockholm > usage.tmp

copy header.txt /b + usage.tmp /b usage.xml /b

This gives us a file that looks like this:

<?xml version="1.0"?>

<?xml:stylesheet type="text/xsl" href="usage.xsl" ?>

<Sites Count="6">

  <Site Url="http://stockholm" Owner="STOCKHOLM\administrator" ContentDatabase="WSS_Content" StorageUsedMB="29.5" StorageWarningMB="480" StorageMaxMB="500" />

  <Site Url="http://stockholm/dupes/spdtest" Owner="STOCKHOLM\administrator" ContentDatabase="WSS_Content_JohnRoss" StorageUsedMB="0.5" StorageWarningMB="0" StorageMaxMB="0" />

  <Site Url="http://stockholm/lrcs" wner="STOCKHOLM\administrator" ContentDatabase="WSS_Content_JohnRoss" StorageUsedMB="15.5" StorageWarningMB="480" StorageMaxMB="500" />

  <Site Url="http://stockholm/sites/Search" Owner="STOCKHOLM\administrator" ContentDatabase="WSS_Content" StorageUsedMB="0.2" StorageWarningMB="5" StorageMaxMB="10" />

  <Site Url="http://stockholm/sites/spdtest" Owner="STOCKHOLM\administrator" ContentDatabase="WSS_Content_JohnRoss" StorageUsedMB="1" StorageWarningMB="0" StorageMaxMB="0" />

  <Site Url="http://stockholm/ssp/admin" Owner="STOCKHOLM\administrator" ContentDatabase="WSS_Content" StorageUsedMB="0.4" StorageWarningMB="0" StorageMaxMB="0" />

</Sites>

Next I make a copy of usage.xml. I name it usage-<today's date>.xml. This lets us always click usage.xml for the most up to date usage, but it also gives us a history to look back on. The command looks like this:

copy usage.xml usage-%date:~12,2%%date:~4,2%%date:~7,2%.xml

That creates a file with the name usage-090322.xml for March 22nd, 2009. I made the date in the format of YYMMDD so that they would sort well.

Next I copy the resulting files up to SharePoint. I use a tool called Davcopy to do that. Here are the two lines:

davcopy usage.xml http://stockholm/Shared%20Documents /o

davcopy usage-%date:~12,2%%date:~4,2%%date:~7,2%.xml http://stockholm/Shared%20Documents /o

Now that all of the files are up there, all we need to do is upload the XSLT so the XML files can be easy viewed. Here is the text of the XSLT file:

<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="html"/>

<xsl:template match="/">

<HTML>

<HEAD>

<TITLE>SharePoint Storage Usage Page</TITLE>

</HEAD>

<BODY>

<TABLE>

<TR>

<TH>URL</TH>

<TH>Content DB</TH>

<TH>Used space</TH>

</TR>

<xsl:for-each select="//Sites/Site">

  <tr>

      <td style="text-align:left">

        <xsl:value-of select="@Url"/>

      </td>

      <td style="text-align:left">

        <xsl:value-of select="@ContentDatabase"/>

      </td>

      <td style="text-align:right">

        <xsl:value-of select="@StorageUsedMB"/>

      </td>

   </tr>

</xsl:for-each>

          <tr>

            <td colspan="3" style="text-align:right;font-weight:bold">

              Total Space Used:

              <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

              <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

              <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

              <xsl:value-of select="sum(//@StorageUsedMB)"/>

            </td>

          </tr>

 

</TABLE>    

</BODY>

</HTML>

</xsl:template>

</xsl:stylesheet>

You can see that the XSLT creates HTML based on the XML file. The sum command at the end is what gives us our total at the end. Here's what the XML file looks like when it is rendered in a browser with the XSLT file:

That is pretty bland, but you can use XSL to make things look better, even apply color coding if you would like. One idea would be to have site collections that are over their quota warning level have a yellow background.

That is it. You can run these files manually, or use the Task Scheduler to have it run every evening. I have attached all of the files referenced here, so download them and take a look at them. That will probably help it make more sense.

What to do with this information

Regardless of how you get your information, you should be able to calculate your farm's churn rate. Once you have that you can start pregrowing your databases. Like I said above, try to give yourself one year's worth of growth in white space. This keeps your databases from having to resort to autogrowing. It also lets you know ahead of time how much drive space you'll need in a year. This is handy for budgeting purposes. You'll know ahead of time whether you'll need new hardware, and you'll have good numbers to back up any requests you make at budget time.

Have fun, let me know what you think.

tk

 

 

I made a netcast!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/16/2009 4:41 PMNetcast; Sharepoint3 

All the cool kids on the Internet have a netcast, so I thought I'd have one too. I decided the world really wanted to know about the fun tech stuff I've done in the last week. So I strapped on a cool Britney Spears style headset, turned on the microphone and made some history. Now, I think we all know the chances of this lasting, or there even being a second one, are pretty slim. So they way I see it, this episode is already a collector's idea. Get it while it's hot. With that introduction here are a couple of links to get you started:

Audio Netcast (MP3)

Video Netcast (WMV)

Netcast Shownotes

Those are links to the libraries where the files are stored. Right now there's only one episode in each. I put the library links in so you could subscribe via RSS. If I get serious about this I'll make the RSS links compatible with Podcast Receivers like Juice.

Let me know what you think. Too long? Too short? Don't quit my day job? Leave me a comment.

tk

February 2009 Cumulative Updates for SharePoint availableUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/9/2009 4:04 PMSharepoint1 
After much anticipation, the February CU for SharePoint is now available. Yes, I realize it's actually March. You can read the full story at the SharePoint team blog. Long story short, you should install the patches in this order (and don't leave any out)
  1. WSS 3.0 SP1
  2. MOSS 2007 SP1
  3. WSS 3.0 February CU
  4. MOSS 2007 February CU

Notice the Infrastructure update is not in that list. It is included in the CU. The other important thing to take away from this is that you need to install the WSS patches, even if you're running MOSS. Also, don't install these patches unless they address an issue you're experiencing, and if you do install them, do a good backup of your SharePoint boxes and your databases. These patches will bring you up to build 12.0.0.6341.

Enjoy,

tk

Edit: fixed URL

The SharePoint Podshow and meUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/9/2009 2:11 PM1 

It's sad, sad state of affairs when the SharePoint Podshow agrees to interview Shane and me, but that day has come. Hot off the presses is their latest Podcast "Administrating a SharePoint Farm." We sat down with Rob and Nick last week at the MVP Summit and tried to stay serious long enough for them to interview us. I believe we failed. Regardless it was a lot of fun and we did talk a lot about SharePoint and touched on a few Admin topics like mistakes we see, and how to get along with those damned developers. Plus you'll get to see if my voice is actually as sexy in person as it sounds in your head.

Grab a copy of the Podshow before they take it down due to complaints about how lame it is.

A big thanks go out to Nick and Rob for giving us the opportunity to be a part of the Podshow. It was a lot of fun.

tk

Using SharePoint instead of email attachmentsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/24/2009 11:27 PM1 

A couple of weeks ago I was reading through a magazine and I saw a review of site that let you upload files instead of sending them via email. Then the site sent your recipient an email and they downloaded it. You've heard the old saying about how when all you've got is a hammer, everything looks like a nail. Well, I'm a SharePoint guy, so every time I see something I think to myself, "How would I do that in SharePoint?" I'm not very smart, so most of the time I never figure out a way. Fortunately for me this was an easy one. J So here it is, how to use SharePoint as a replacement for email attachments.

For those of you that haven't just fallen off of the SharePoint turnip truck, what I described away is something that bares a striking resemblance to a workflow. I thought the same thing, so that's what I did. First, I created a standard Shared Document library. That's where the attachments will be uploaded. I added a few new columns that I needed to facilitate sending the email. The finished library looked like this:

As you can see I added columns for standard email fields; to, from, subject and a body. Not much to it.

The next step was to create the workflow. Since this isn't one of the out of the box workflows I had to create it in SharePoint Designer. I loaded up SPD and attached it to my site. I started by adding some SharePoint content to my list.

Then pick Blank Workflow

When you define your workflow you'll want to make sure it's triggered when new items are uploaded.

Now we need to define the workflow itself. There's not a lot to this. When starting the workflow we don't even need to define a condition, since adding the document triggers it. We just need to define some Actions. Obviously we want the "Send an Email" action.

I'm not going to show you as I added each and every field. The key to adding the fields is using the "Workflow Lookup…" item to get to the fields of the item. Here's how we define who the email is going to:

Then pick the "To email address" field

Repeat that for each of the fields you want to add. Certainly you can design your email however you'd like. Here's what I did:

That's it. Save it all out and you're finished. Now when you add a document to that library you'll be met with a page like this where you add the pertinent information about who will be getting the email for the attachment.

The resulting email looks like this (actually this was from a different document, but you get the idea)

 

Well, that's it. Pretty simple, isn't it. Now instead of emailing around large files, you can use this method to upload them to SharePoint and keep them out of your email quota. For extra credit you might find a way to get documents to be cleared out after two or three days.

Hope that helps, or maybe churns up an idea on how to use SharePoint for other less obvious things.

tk

 

 

No SharePoint 14 for you this yearUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/24/2009 4:04 PM0 

Steve Ballmer broke a lot of hearts today when he announced that Office 14 will not be released in 2009. In the SharePoint circles I travel in everyone is asking "When will the next version be out?" Well, we've got part of our answer now. That doesn't mean a beta won't be available this year, but the final product will not be out until 2010. This doesn't mean you shouldn't go to the SharePoint Conference in Las Vegas. You should. You'll be able to get ahead of the class when it comes to SharePoint 14, and hopefully you'll be able to see me there. J

tk

Can’t crawl web apps you KNOW you should be able to crawlUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/17/2009 11:56 AMSharepoint2 

This has come up so many times in the last couple of days I just HAVE to blog about it. I was originally going to call this post "the best registry setting ever" but I realize that would make it tough for search engines to point people here when they need it. Here's the general problem description, you've got a SharePoint environment and you're getting an "access denied" trying to access something you KNOW you should have access to. In the cases I've seen this has been trying to crawl a web app, or trying to create a My Site. In both cases the App Pool ID has the correct permissions, and in the case of search the default content account has been given "Read only" permission to the web app via a web app policy. I was getting this error in the context of the My Site problem. No one could create a My Site. A user couldn't. A Farm Admin couldn't. A Domain Administrator couldn't. This really kicked my butt for a couple of days. Yesterday a friend of mine contacted me. She had the search issue. I walked her through some stuff and she had it all configured correctly. Despite all that, when she ran a crawl, she got a permissions error. I bounced this off of my side-kick, and search aficionado Shane Young. He asked if I'd tried the "loopback fix." Before yesterday to me loopback was only a network thing. It was a 127 address, or it was a phony network adapter I added. He pointed me to my favorite KB ever (or at least since yesterday) and told me to try Method #1. Without further ado, here is the greatest KB article ever.

You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or IIS 6

Let's all take a moment to absorb the greatness.

Okay, now that we've got that out of our systems let's dig into this a little. While the KB references Windows 2003 all four of the issues I've fixed with it have been on Windows 2008, so don't let the "applies to" fool you. Both 2003 and 2008 have a security measure that disallows loopback communications in case your machine has any errant processes on it that are trying to attack it. That's good from a security standpoint, but it can break SharePoint if you have multiple things running on the same box. Using Method 1 in that KB and disabling the Loopback Check restores order to your SharePoint environment. Since I learned about it yesterday it has fixed problems in four different environments. Go KB 896861!

If you're getting weird permissions errors on your SharePoint farm this is worth trying. It's easily reversible if it doesn't fix your issue. If you have security folks in your environment you should probably run it past them too, just in case. J

tk

 

Best Practices slides & TechEd PresentationUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/13/2009 10:48 PM0 

It's been a week since I got back from the SharePoint Best Practices conference. It was a blast. I've gotten a couple of emails asking for the slides from my presentations. I think I've built up enough anticipation, so here they are.

IT320 Best Practices for Command Line Administration

This session covered using STSADM and its friends PSconfig and PowerShell to administrator SharePoint

 

IT324 Best Practices for SharePoint Admins, the Reluctant DBAs

This session covered some best practices on keeping your SQL servers happy.

Enjoy the slides. Leave a comment if you have any questions, or just want to tell me how cool they are. J

I also want to remind you all that I'll be presenting at TechEd this year. The most exciting session I'll be doing is the day long Governance session with my sidekick, Shane Young. Now, while Governance is a very hot topic these days, it can be a bland topic to hear about. Especially for a full day. Have no fear, Shane and I make Governance fun. If you go to this session I promise you'll learn a lot and there will not be a dull moment. Last year we gave away an Xbox and a Zune, as well as Shane making inappropriate comments about touching me. A good time was had by all.

You can find a full description of the session on the Seminars page of the TechEd site. We're Precon #15. It's not too late, so sign up today. If you sign up for the session and mention you saw it on my blog we'll give you a free hug from Shane.

tk

2nd day of SharePoint Best PracticesUse SHIFT+ENTER to open the menu (new window).
Todd Klindt2/3/2009 12:39 PMSharepoint6 
I just finished my second, and last solo, breakout session at the SharePoint Best Practices conference. It was a blast. I've released a whole army of SharePoint admins that are now SQL dbas. Databases beware! I'll be around for the next couple of days, and will be sitting in on at IT Pro panel. Please stop by and say Hi.
 
In other news, the SharePoint Conference has just been announced for 2009. It will be the first place to really get your hands on SharePoint 14. The date is October 19th through the 22nd at Mandalay Bay in Las Vegas. Hope to see you there.
 
tk
First day of SharePoint Best PracticesUse SHIFT+ENTER to open the menu (new window).
Todd Klindt2/2/2009 10:55 AMSharepoint0 
The keynote has just started at the SharePoint Best Practices conference. The conference looks really good. Lots of good vendors, lots of good speakers, lots of good attendees. I have an STSADM session at 4:00 and an SQL session tomorrow morning. If you're at SPBPC please stop by a session, or at least say hi in the hallway.
 
tk
San Francisco and funny TshirtsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt1/30/2009 7:39 PM0 

The SPTechCon wrapped up yesterday. It was a blast. I got to meet a lot of great people and had a really good time. I expect their Boston conference will be even better. One of the people I met was Tiffany Songvilay, the brains behind the hysterical SharePointShirts. She was kind enough to give Shane and I shirts to model.

Sorry for the crappy picture. Tiffany's got a few other funny SharePoint shirts. Check them out.

Now I have a couple of days to wait until the Best Practices conference in San Diego. Hopefully I'll see some of you there.

tk

New blog to watchUse SHIFT+ENTER to open the menu (new window).
Todd Klindt1/20/2009 8:32 PMSharepoint0 
Mike Watson, buddy of mine and former Microsoft employee, has decided to grace the Internet with a new blog. He's the SharePoint Mad Scientist. Mike worked on Microsoft's internal SharePoint deployment and has some great insight on what makes large SharePoint installatoins tick. If you're a SharePoint IT Pro you'll find lots of great stuff on his blog.
 
tk
How to use SharePoint Designer to display list data from subwebsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt1/19/2009 10:37 AM13 

Recently on Twitter someone was asking about displaying blog posts from a subweb on the parent. This is pretty easy to do with SharePoint Designer (SPD) and its unsung hero, the Data View Web Part (DVWP). Here is a quick set of directions to get someone started. Once the DVWP is created any number of great customizations can be made. I'll leave that up for someone smarter than me. I'm not that good with DVWPs or SPD.

The first step is to create a new web part page in the parent site. The easiest way is through the Web UI. Log in as someone that can add content. Click Site Actions > Create:

You want to create a new Web Part Page.

Give the page a name and choose a template. For this I'll choose Left Column. You also need to choose where to create this page. I'll choose the Shared Documents Document Library:

After the page has been created, open up the root site in SPD. If you don't already have it, download the free trial. If you're doing any kind of SharePoint work, you need SPD. After SPD is open, open your root site's Shared Documents library and open the blogs.aspx page. A web part page should open up for you. Click the web part zone where you want the DVWP to go to give it focus. In my example I'll be placing the web part in the Body Web Part Zone.

Now go to the menu bar and select Data View > Insert Data View…

On the right hand pane the Data Source Library will be opened up. By default this will show all of the data sources in the current web at the DVWP can consume. Since the data we want is in a different web, we need to add it to the library. To do that click Connect to another library on the bottom:

When the Manage Library dialog box comes up, click Add. Give the library a name that makes sense to you. In my case I named it Blog. Under location type the path to the subweb that has your content. If you have opened this web in SPD previously you can also use the Browse button to find it.

Click OK a couple of times to get back to the Data Source Library. Now at the bottom of the list is an entry for the library we just added. Click the plus sign to expand the library. Blog posts are in a list called "Posts" so expand SharePoint Lists and click Posts. You should see a screen like this:

When you click Show Data your screen will change and you'll see the content of that list. To create the DVWP, drag the "Row [1/x]" line over to the Web Part Zone where x is the number of posts in your Posts list.

SPD will churn a little as it creates the DVWP. Once it's created it should look something like this:

Right now it's not very useful. The HTML isn't rendered correctly because of security concerns. Fortunately it's easily fixed. Click the first body entry to give it focus. Then click the > on the right side. Change the "Format as:" setting to Rich Text:

You'll get a prompt warning of the security concerns. Click Yes to clear it. Now all your blog posts will be rendered correctly.

That's where I'll stop for now. You'll probably want to alter how the posts are displayed. The web part as nearly infinite customization options like paging, sorting, grouping, the list goes on. To access them click the > for the web part and see the options there. Once you've done that you can also edit the HyperLink for the Title column to link users directly to the blog post. If there's enough interest I may do a blog post on that.

Have fun,

tk

 

“The selected cells are read-only” when trying to delete Blog CommentsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt1/15/2009 5:32 PM1 

As a blogger I knew I had arrived, that my blog was hitting the big time once the spammers started hitting it. Here's how my Blogger experience has progressed in regards to spamming:

  1. I set up a blog on SharePoint and enabled comments so readers can leave feedback.
  2. Spammers find blog and start spamming comments. I don't want my readers to click the links, nor do I want to give the URLs any search weight so I go delete them as soon as they show up.
  3. Comment spam increases, so I turn on Content Approval. This way the spam comments aren't visible when they're submitted. Legitimate comments take a while to show up, but at least I can delete the spam at my convenience.
  4. Comment spam increases even more. Now deleting comment spam itself is a pain, so I put in steps to prevent comment spam. In my case I put in a date field, but some folks have gone so far as to put in Captcha or other methods. This is where I am now.

I was talking to a buddy today and he was only at step #3 and was trying to bulk delete a bunch of spam comments and was asking if there was an easy way. I told him there sure was, but it has a gotcha. Go to your blog and log in as administrator. Then go to the Manage Comments link. Alternately you can go directly to the Comment list. It will look something like this:

All of these insidious spam comments must go. Normally you're stuck clicking each spam comment, clicking the dropdown, then delete. It's quite a click intensive process. I've got a better way. Click Actions, then Edit in Datasheet.

Now you can select multiple comments. Use the Shift key to highlight a group or the Control key to select individual multiple lines. It looks like this:

We're almost there. You'd think it would be as easy as just hitting the delete key and leaning back and smiling. Unfortunately if you do that you're hit with this little gem:

Why would they be read-only? Well, if you look at the bottom of the list you'll see "This view is read-only." Why is it read-only? Once Content approval is turned on for a list (we did that in step #3 above) the All Items view is read-only. How do we get ourselves out of this funk so that we can delete these nasties? It's easy, choose another view. Go to "View" in the upper right hand corner and choose the "Approve/reject Items" view.

This will take you out of the datasheet mode, so after you get into the new view you'll have to go back to "Actions" and click "Edit in Datasheet." After all that you should be greeted with something that looks like this:

Now selected the offending comments and either hit the delete key or Right Click and "Delete Rows."

If you have the Recycle Bin enabled you'll get a warning about that. Once you say Ok, *poof*, all that spam is gone in one fell swoop.

I hope this helps anyone out there running their blogs on SharePoint.

 

tk

Reminder about speaking engagementsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt1/6/2009 10:20 PM2 

I've got a few speaking engagements coming up and I thought I'd mention them here so people can swing by if they're around. Here they are, in chronological order:

IADNUG meeting

The IA DotNet User Group is allowing me to talk to them again about SharePoint. This quarter I'll be talking about disaster recovery with SharePoint. Now that you've got all your important data in SharePoint, how do you keep it safe? That's what I'll be covering Wednesday January 14th. The meeting is in Des Moines. Find out more at the IADNUG web site.

The SharePoint Technology Conference 2009

The SP TechCon proves to be a great SharePoint conference. Along with two days of great sessions, Shane and I will be doing a day long workshop the day before the conference on SharePoint Administration. It will be informational and a whole lot of fun, with a few cow jokes thrown in for good measure. The SPTechCon is January 28th and 29th in San Francisco. You can sign up at the SPTechCon web site.

SharePoint Best Practices Conference

This conference s a little different than other conferences. This is less about how to do things and more about why you should do things. It's in San Diego February 2nd through the 4th. Find out more information on the Best Practices web site.

That's the immediate things I have going on. There are a few more events in the hopper. I'll post more about them as they come up.

tk

 

 

Site Collection Administrator can’t create websUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt12/16/2008 11:08 PM4 

Last week while we were in Tampa, Nicola Young had a problem creating webs in a Site Collection where she was an Administrator. She got the creation page and was able to go through the motions. When she hit OK she got an "Access Denied" message on a page. Seemed weird, considering she was an Administrator on the Site Collection. Shane and I finally figured it out. (I can't remember which of us actually figured it out, so I'll take credit). Nicola was a Site Collection Administrator, but there was a Site Directory web that had broken inheritance and she did not have permission. So she could create the web, but she didn't have permission to add it to the directory, which was mandatory. After further investigation we found the web was getting created, it just looked like it wasn't, and it wasn't being added to the Site Directory.

This was just one of those annoying things that I thought someone else might run into.

tk

Upcoming SharePoint ConferencesUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt12/16/2008 8:22 PMSharepoint2 

In Shane and I's class last week, we were asked what SharePoint conferences were upcoming and what we thought about them. Here's a list of a few conferences coming in 2009. I'll be presenting at most of them, with one exception. If a conference isn't here, it's not because I don't think it's good, it's just because I'm not associated with it, so I don't know much about it.

SP Tech Con

January 27th – 29h, 2009 (San Francisco)

Shane and I are doing a full day preconference session on SharePoint Administration. If you haven't seen the Shane and Todd show before, you're in for a treat. We throw in lots of lessons we've learned in the trenches and we try our damnedest to be funny. Sometimes it works, sometimes it doesn't. But we try. In addition to the preconference session, we'll both be doing several individual breakout sessions. It promises to be fun and informational.

Best Practices SharePoint Conference

Febrary 2nd – 4th, 2009 (San Diego)

This conference dares to be different. Instead of being about how you do things in SharePoint, if focuses on why you should do things in SharePoint. Writing my sessions for this conference has been very challenging and has really made me think about why I do things. I'll be doing a session on best practices administrating SharePoint on the command line. My second session involves SQL DBA best practices for SharePoint admins. Often SharePoint admins get reluctantly thrown in the DBA role without much training. This session gives us a fighting chance keeping SQL happy so we can focus on the important things, keeping SharePoint happy.

Microsoft TechEd

May 11th – 15th, 2009 (Los Angeles)

This is Microsoft's big enchilada. Four days of all things Microsoft. Shane and I will be doing a preconference session on SharePoint governance. Now, you might not think governance is a fun topic, and the thought of being in a room all day talking about nothing but governance might strike you as something that should be addressed in the Geneva Convention. I don't blame you. I can guarantee you this will be unlike any governance session you've been to. I promise you'll learn a lot, have lots of laughs and maybe win a prize or two. You don't want to miss it.

Microsoft SharePoint Conference

Unknown (Unknown)

The SharePoint conference is usually in the spring, so when word hadn't come out about anything I figured there wouldn't be one in 2009. Then, quietly, a small box showed up on the http://www.mssharepointconference.com site, "Keep me updated." It mentions a SharePoint Conference 2009. Hurray! As far as I know, they have not put out any requests for speakers, so I don't know if I'll be presenting at that one or not. I'm keeping my fingers crossed. I'll post here as I find out more about this event.

There are plenty of other great SharePoint conferences this year. Joel Oleson has a very comprehensive list of the other SharePoint events going on. Please check them out and support your local SharePoint organizations.

tk

 

 

Webcast on Live ID integrationUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/26/2008 10:50 AMSharepoint3 
I use Windows Live ID integration on this site and from time to time I get questions about it. Unfortunately I didn't write it, so I'm usually not much help. A buddy of mine, Eric Shupps, (who is much smarter than me) is doing a webcast on integrating Live ID with SharePoint. Those wanting to use Live ID with SharePoint should join in. I know I'll be there. It's December 16th. You can sign up from the link above.
 
tk
Iowa SharePoint User GroupUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/24/2008 5:38 PM2 
I'll be at this month's Iowa SharePoint User Group meeting. You should swing by. It's in Des Moines on the 3rd of December.  If the Inetium guys will let me, I'll be giving away a copy of my new book. Kirk Hofer will be talking about SharePoint development. It should be good.
 
See you there.
 
tk
Book winnersUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/19/2008 10:16 PMSharepoint0 

The books have been shipped so it's time to reveal the names of the big book winners. In no particular order they are:

Ryan McCutchen

JD Wade

Jeff Tincher

Josh Flory

Kasi Krishnamoorthy

Congratulations to them all. Don't be afraid to put a glowing review up on Amazon. J

tk

Book Giveaway UpdateUse SHIFT+ENTER to open the menu (new window).
Todd Klindt11/18/2008 6:33 PMSharepoint0 
Well folks, that went fast. I have my five winners. Thanks to everyone that emailed in. I appreciate it. :)
 
tk
Book GiveawayUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/18/2008 5:21 PMSharepoint0 

Today is a happy day at the Klindt household. I got my copies of the new book. Woo Hoo! That means it's a good day for my blog readers. As I mentioned before, I am giving away five copies of the book out to my blog readers. This the official giveaway post. I will send a free copy of my new book to the first five people that send an email to freebook@toddklindt.com with the subject line of "free book" and a link to the sender's favorite post on my blog. The email should look like this:

Emails without the correct subject line, or without a link to one of my blog posts will not be considered. This is also only open to people in the United States, sorry. I'm paying for the shipping myself, and shipping outside of the country is expensive. I will email the five winners back to get their shipping address. Sorry, I will not notify those that do not win. Winners also agree to let me at least mention their name on my blog when I announce the winners. After I receive five emails I will disable that email address. If your email bounces that means I already have my five winners. I have a couple of things going on tonight, so I will likely not get this blog updated immediately once the contest is closed.

Good luck everyone.

tk

Updated: I have my five winners. Thanks to everyone that emailed.

Creating a SharePoint list from an Excel spreadsheetUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/17/2008 9:35 PM8 

Last week a friend of mine asked a fairly innocent question, "Can I import a spreadsheet into SharePoint?" My answer to almost all SharePoint questions is, "Of course you can, and it'll rock!" Of course this is no exception. I thought I'd write up a quick blog post to show some of the ways it rocks.

I started out with this spreadsheet:

Pretty simple. Of course he could have just uploaded this spreadsheet to a document library, but then anyone that wanted to add vales would need to have Excel installed to open it. Plus there would be the added complexity of check in and check out to deal with, which aren't necessary for this. Instead, we're going to import this spreadsheet into a list in SharePoint. To do that go to the home page of the site where you want to create the list and click Site Actions > Create like below:

 

Under Custom Lists choose "Import Spreadsheet."

You'll get have to enter a list name and choose the XLSX file you want to import. This will fire up Excel and you'll get to choose which parts of your spreadsheet you want to import. In this example I lassoed the relevant information:

Click okay and let SharePoint work its magic. SharePoint generates a list like this:

SharePoint took pretty good care of this, and even used the header row for the column names. Pretty cool. But it made some general assumptions about the data. It added everything as a single line of text as shown here:

This doesn't work well. Fortunately you have a lot of flexibility. Let's go in and change the birthdate field to a date field. Go into the list settings and change the type.

These settings look appropriate for the data in the column. When I hit okay I got this dialog box:

Being the adventurous sort, I hit OK. Here's what was waiting for me:

Of course there was not a big pink question mark, but the Birthdate was missing for Harry. How come? If you look back to my original spreadsheet you'll notice the value for Harry's date was 12/31/174. Since it's not a valid date, SharePoint kicked it to the curb. Even though we lost a value, it was understandable and I considered it a success. I decided to try the Rank column and see what SharePoint could do. It made sense to make it a choice value. I opened of the list settings and changed the Rank column to a choice type. Look what SharePoint did for me:

It went ahead and populated the existing values into the dropdown choices. All that for no extra cost. Sweet.

Hopefully this blog will help if you want to move some spreadsheets into SharePoint lists.

tk

Slides and Screencasts from ICCUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/11/2008 10:38 AM0 

The Iowa Code Camp was a great success. I have made my slides available, as well as screencasts from my sessions. Let me know if you have any suggestions on how to make the screencasts better. I need to make the presentation better. I'll work on that for next time.

My new book should be out any day now. When I get my copies I will be giving 5 away for free. Make sure to subscribe to my blog to increase your chances of getting one of the free copies. Remember, don't email me about the free book until I release the post saying I have them. And again, the free books are only available to citizens of the US, since I'm paying for the shipping myself. Good luck to everyone.

tk

Reminder about Iowa Code CampUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/5/2008 2:22 PM2 

This Saturday, November 8th, is the second Iowa Code Camp. This is 100% free, and 100% for developers. I weaseled my way in and will be doing two SharePoint sessions. The first one is lovingly titled, "What is SharePoint and why should you care?" It's essentially an introduction to SharePoint for developers. My second session is "SharePoint 2007 with Windows 2008 and SQL 2008." It's an overview of Windows 2008 and SQL 2008 with a bit of a focus on SharePoint. After they pull me off of the stage, Todd Bleeker will be doing two sessions on actual SharePoint development. They are not to be missed. To round out the SharePoint content, Paul Schaeflein will be doing a session on integrating custom applications into SharePoint. Paul's session is so good they're letting him in, even though his name isn't Todd.

I had hoped to have some copies of my new book to give away, but they haven't been returned from the printers yet. L

I'll be around the code camp all day, so please swing by and say Hi if you're around.

tk

Existing Virtual PC additions prevent adding Hyper-V IntegrationUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/24/2008 3:15 PM2 

Like a good Microsoft fanboy, I use their virtualization software. Until recently that's meant Virtual PC 2007 for demos on my laptop and Virtual Server 2005 R2 for a couple of servers at home. Now that Hyper-V is out and getting lots of attention I thought I'd better look into it. I have a lot of virtual machines. A lot. My laptop alone has 12 registered with Virtual PC with several more waiting in the wings. Any time I have something I want to test I fire up a new VM to do so. Because of this, several years I created a base virtual hard disk image I could use to get things started quickly. It has Windows Server 2003 with the most recent patches, a few tweaks I like and some software installed. It's also got scripts defined to automatically install IIS and SharePoint, things like that. I've been updating that image over time as more patches come out and so on. It's worked out really well until a couple of days ago. I was moving a couple of my VMs over to Hyper-V. I won't go into all of the details, but Hyper-V has some management irritations to it. Paul Thurrott goes over some of them in this blog post. One being getting the Hyper-V Manager on one machine to manager Hyper-V on another. The Hyper-V server I was accessing was not in the same domain as my Vista workstation, and for the life of me I couldn't get the two to get along, Hyper-V deficiency #1. I moved to Plan B; RDPing into the Hyper-V server to user Hyper-V Manager that way. That worked to get the VM imported and running. However, if you don't have the Hyper-V Integration installed in a guest then you can't capture the mouse if you're RDPed into the Hyper-V server; Hyper-V deficiency #2. Fortunately in this case I had physical access to the Hyper-V server, but that wouldn't always be possible in which case this story would have had a much sadder ending. I logged into the Hyper-V server and tried to installed the Hyper-V Integration only be greeted by a friendly message telling me the Integration can't be installed because Virtual PC additions were installed and that I needed to uninstall them first. While that was annoying, it was understandable. That is a feat that would have been nearly impossible without a mouse, which is why this story wouldn't have ended as well had I not had physical access. I jumped into Control Panel to uninstall the Virtual Machine additions. While doing that I was greeted with another error message telling me that the installer needed the location of file 1. Yeah, just 1. No extension, nothing. Just 1. To the mortal man this might have seemed like the end of the story, after a fit of swearing. How do you search for the fix for an error when the file is "1?" Fortunately I had seen this before, last year at TechEd EMEA. Shane Young and I were working on a session and my VM wasn't resizing correctly. Shane suggested that I reinstall the Additions to get the video straightened out. I got the same error then. Shane and I were able to scour the Internet and find the fix. (funny how deadlines will do that) The problem pops up if the VM ever had the Virtual PC 2004 Additions (version 13.306 in Control Panel) on it. Which my VMs all did. When I created my base image years ago it was on Virtual PC 2004. Of course I had upgraded the VPC Additions to VPC 2007, but the installer doesn't update it correctly. To uninstall the VPC additions you have to do it with the VPC 2004 install, not the VPC 2007 one that everyone has handy. I chased down the VPC 2004 install and pointed Control Panel at the MSI for it, no dice. I tried running the MSI manually, nothing. Next I tried mounting the ISO file that has the VPC 2004 additions on it, the way VPC does when it installs them. That took off and looked like it was going to work. Then another friendly error message popped up. Seems the VPC 2004 additions won't install unless they're in a VPC. Hyper-V doesn't look virtual enough for it, so it bombs out. I can't really blame this on Hyper-V, but I'm going to anyway; Hyper-V deficiency #3. I moved the VM back to VPC 2007, mounted up the VPC 2004 additions ISO and was able to remove them. Then when I moved the VM over to Hyper-V the Integration installed and everything was happy in Toddville.

The story part is pretty long winded, so here's the Reader's Digest condensed version of how to fix this problem:

  1. Download Virtual PC 2004 SP1
  2. Unzip it
  3. Extract the files with msiexec /a Microsoft Virtual PC 2004 MSDN.msi
  4. Find VMAdditions.iso in Program Files\Microsoft Virtual PC\Virtual Machine Additions
  5. In Virtual PC 2007 (this will not work in Hyper-V) mount VMAdditions.iso and run the install
  6. Reboot your VM
  7. If you're going to run this VM in Hyper-V copy the files over to your Hyper-V server and import it. The Hyper-V Integration should install now
  8. If you're going to run this VM in Virtual PC 2007 or some other virtualization software, load the VM in it and install their tools

Hyper-V, I've got my eye on you. You'd better straighten up and fly right, or I'm going to install VirtualBox.

tk

TechEd is back to one week!Use SHIFT+ENTER to open the menu (new window).
Todd Klindt10/21/2008 10:00 PMTech Stuff; Sharepoint0 
Last year was the first time that TechEd US was two weeks, the same format Europe has had for a while. Everyone I talked to in the US didn't like the split format. We admins like to cross pollinate with our dev brethren. Even though we were told 2009 would be more of the same, Microsoft changed their minds. Today they announced that in 2009 TechEd US would go back to the one week format. You can read it in all of its wonderful glory here.
 
Start working on your bosses to budget the money now. I plan to be there, and I'd leave to see you there.
 
tk
Get a free copy of my bookUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/19/2008 3:47 PM6 

If you've been reading my blog you know I've got a new book coming out. I've decided to give some of my promotional copies away to readers of my blog. Here's how it's going to work: the book has been sent to the publisher. We should have them in two or three weeks. The day the box of books shows up on my doorstep, I'm going to post a blog post. The first five emails after that post (not this one) sent to freebook@toddklindt.com with the subject line "free book" and a link to the sender's favorite post on my blog get a copy of the book. The email should look like this:

I'm asking for this specific format to weed out spammers. Emails without the correct subject line, or without a link to one of my blog posts will not be considered. This is also only open to people in the United States, sorry. I'm paying for the shipping myself, and shipping outside of the country is expensive. I will email the five winners back to get their shipping address.

Now that we've got the rules out of the way, how can you improve your chances of winning? Subscribing to my blog is the best way. That way you'll get updated when I post new blog posts. To subscribe to the blog posts themselves use this link or click the RSS button in your web browser. You can subscribe to the comments made on my blog with this link.

Good luck to everyone.

tk

Using Log Parser with SharePointUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/19/2008 9:44 AM10 

A recent blog post of Joel Oleson's got me thinking about who visits my blog. I run my blog on my own server and I have access to all of the logs. SharePoint sits on top of IIS and I can get all the information I need from the IIS logs. In this blog post I'll cover how I tackled going through my IIS logs and getting some useful information out of them, all with free products.

Where to begin?

I knew I wanted to get some information about the visitors to my blog, but I needed to decide exactly what information I wanted. Initially I was just curious about the number of people that were subscribed to my blog, and the number of unique visitors I get per month (or year, or whatever). I knew that information was in my IIS logs, I just needed a way to get it out. I decided to go with Log Parser. It's a free tool from Microsoft that provides a way to get information from a variety of log types in Windows, IIS logs included. It is just as flexible about output file types as it is input types. It's a command line tool, so it lends itself well scripting. That's great if you want to run these reports daily or monthly. Because of its flexibility you'll be able to use it for other monitoring in your environment once you get used to how it works.

The downside of Log Parser is that it can be tough to get up to speed on. The learning curve can be a little steep, depending on your background. Fortunately, there is a pretty good free GUI front end for Log Parser called Log Parser Lizard (LPL). I used that to get started with my Log Parser queries. LPL comes with many queries built in, including IIS queries and even ones that do what I wanted to do. The best part is that any queries you generate in LPL you can copy right out into the command line LogParser.exe. This is a great way to get started.

What information do I want to get?

Like I mentioned before, I was mainly interested in the stats mentioned in Joel's blog post. Once I started playing with LPL though, I saw all kind of other great information I could get out of my logs. My eyes started getting big, so I added some more stats to the list I wanted to get. Here's the list I came up with:

  • Number of unique users
  • Number of subscribers
  • Top IP hits
  • What referrers were sending people to my site
  • Which pages were most popular
  • How much data out
  • Which HTTP status codes are being generated

To make things easy for this blog post I'll be getting all of these states for a one month period. I'll be getting the number of unique users per month, number of subscribers per month, etc. To change the interval you'd just change which log files you're interrogating. We'll cover that later.

How do I run these queries?

First I installed Log Parser and LPL on my SharePoint server. I could have installed it on a client and just copied the log files over. Either way works fine. To start I fired up LPL, here's what it looks like:

 


You can see there are a lot of log types that Log Parser can log and LPL provides samples for each. To keep my queries separate I created a new group for my SharePoint queries. I did this by clicking Queries in the toolbar and New Group from the popup.

Then I created a new query and called it Unique Users.

Then I saved the query. You'll notice there isn't any actual query yet. Since we are just doing IIS queries I looked at the examples in the IIS Logs group. Fortunately there is an example called Distinct Users that is almost exactly what I was looking for. It will just need a few tweaks. I brought the Distinct Users query up, copied it and pasted it into my new query.

Those of you that have done any SQL queries will recognize the format immediately. They are standard TSQL queries. This query works out of the box, but it needs some tweaking for my situation. First I needed to change what was being counted. The example looks for the number of distinct values in cs-username. Since this is a blog that is read anonymously, that column will always be empty. Instead, I'm using the c-ip column, which is the client IP address. If you're running these queries in a collaboration environment, using cs-username might make more sense.

Next, I need to alter the FROM portion. The phrase #IISW3C# is a constant that defines which web logs to query. Since I'm restricting my query to a single month of logs, I need to change my query to reflect that. I changed the FROM line to this:

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

This tells Log Parser to parse all the logs from September of 2008. If your IIS logs are in a different directory you'll have to adjust this line accordingly. I could have also changed the file name to ex08*.log to get all of the logs from this year. Next I needed to add a WHERE command to filter out all the logs from other parts of my web site that are not part of my blog. I don't want to pad my stats, after all. I added the following line to the bottom:

WHERE cs-uri-stem like '%/blog/%'

Cs-uri-stem is the column of the IIS log that contains the URL requested. TSQL queries use % as a wildcard variable. Now my whole query looks like this:

SELECT COUNT(DISTINCT c-ip) AS Users

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '%/blog/%'

To run it, I clicked Generate (you can also hit F5) in the toolbar. Here's what the results looked like:

The results show that in the month of September 11,264 distinct IP addresses accessed my blog. To expand the months included, alter the FROM command. If I wanted a list of IP address instead of the count, I could remove the COUNT() part of the query. I'll also through a command in to sort the IP addresses. The new query would look like this:

SELECT DISTINCT c-ip AS Users

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '%/blog/%'

ORDER by Users

Like I mentioned before, in a collaboration environment usernames are probably more important than IP addresses. To get a sorted list of users that have hit your site, replace c-ip with cs-username. This could be very useful to determine which users are hitting a site or even a specific document, like an HR document.

Let's look at some of the other queries I ran. The next was how many people are subscribed to my blog. This is just a modified version of my previous query. I simply added some WHERE clauses to pare down the results that are captured. To find the URL to filter on I clicked the RSS link on the front page of my blog. You'll see the URL points to /_layouts/listfeed.aspx followed by the list to watch. I simply altered my WHERE clause to include the listfeed.aspx page and added a filter for the query string. The query looks like this:

SELECT count(distinct c-ip) as Subscribers

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '/blog/_layouts/listfeed.aspx' and cs-uri-query like '%56f96349%'

When run it looks the results look like the following:

 

Next was which IPs were hitting my site the most. It's just a further extension of the stuff I had already done. I used the following query:

SELECT distinct c-ip AS IP, COUNT(*) AS [Total Hits]

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '/blog/%'

GROUP BY IP

ORDER BY [Total Hits] DESC

 

I got the following results:

No real surprises, the IP addresses I get the most hits from are search engines and aggregators. As a corollary I wanted to see what the sites that referred others to me were. This query gave me that information:

SELECT distinct cs(referer), COUNT(*) AS [Total Hits]

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '/blog/%'

GROUP BY cs(referer)

ORDER BY [Total Hits] DESC

For my blog the main referrers were other posts in my blog, and a few posts from other people's blogs.

Another related query is which URLs are hit the most on my site. Altering my query a little I came up with this:

SELECT distinct cs-uri-stem as Pages, COUNT(*) AS [Total Hits]

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '/blog/%'

GROUP BY Pages

ORDER BY [Total Hits] DESC

My next question was how much data have I served up? LPL has a canned Total Bytes Sent query, so I just modified it for my needs and I tweaked the output a little. Here's what I used:

SELECT DIV (SUM(sc-bytes) , 1048576) AS TotalMegaBytesSent, Count(*) as TotalHits

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '%/blog/%'

I changed the FROM command and added a WHERE clause. I also adjusted the SELECT statement. The IIS logs saves the sc-bytes data as bytes. That's really not much help to me, so I divided it by 1024 twice to go from bytes to kilobytes to megabytes. The results looked like this:

Looks like I've sent out roughly 5 GB in the month of September.

My final query was HTTP Status Codes. This was mainly just to see if there 404s. Again LPL came to the rescue. It had a query I could already use. I modified it to the following:

SELECT     STRCAT(TO_STRING(sc-status), STRCAT('.', TO_STRING(sc-substatus))) AS Status,

    COUNT(*) AS Total

FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log

WHERE cs-uri-stem like '%/blog/%'

GROUP BY Status

ORDER BY Total DESC

Here were the results.

Not a lot of 404s. That's good sign.

Those were all of the queries I wanted. Now I just need to work on my procedures a little. I saved each of my queries in LPL. The good news is that they work as is with the LogParser.exe. If you want to save the output you will need to specify an output file type. Here is the previous query run with LogParser.exe, specifying XML output to a file out.xml.

C:\Program Files\Log Parser 2.2>LogParser.exe -o:XML "SELECT STRCAT(TO_STRING(sc-status), STRCAT('.', TO_STRING(sc-substatus))) AS Status, COUNT(*) AS Total INTO out.xml FROM C:\WINDOWS\system32\LogFiles\W3SVC579986181\ex0809*.log WHERE cs-uri-stem like '%/blog/%' GROUP BY Status ORDER BY Total DESC"

I've bolded the parts I added for the output. I added –o:XML to tell LogParser.exe to use the XML output and INTO out.xml tells LogParser.exe the filename. The LogParser help file has all of the output types. Using template files (TPL in the help) you can specify unsupported types like HTML.

These examples were catered to an Internet site, but they could be altered to be used on internal sites as well. Like I mentioned before, you could use it to see which authenticated users are hitting which sites.

I hope this has helped. I know how much managers and bosses love pretty charts and graphs.

tk

New SharePoint Search bookUse SHIFT+ENTER to open the menu (new window).
Todd Klindt10/16/2008 9:26 PMSharepoint2 
While he was working with Steve and I on our new book, Shane Young was working on another book, Professional Microsoft Search: SharePoint 2007 and Search Server 2008. I have no idea where he found the time. I got a copy of it, and it's fantastic. Shane teamed up with two experts from Microsoft; Richard Riley and Tom Rizzo. The book is fantastic and I've learned a lot from it. Shane's chapters were focused on admin topics, so I connected with them the most. I picked up a few tips. Like if you want to stop the Office SharePoint search service, don't do it from Central Admin, do it with 'net stop osearch'. If you do it from Central Admin it doesn't just stop the service, it removes the config. Another tip I picked up was how to move your Index File. You can do it with 'stsadm -o editssp'.
 
Anyway, the book has a lot of great search information. It covers search in WSS, MOSS and Search Server. I've found that Search is a great way to 'wow' folks with SharePoint. If you pick up a few search tips here and there it can really pay off.
 

 
Hope you like it,
tk  
List attachments are searchableUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/14/2008 10:59 AM3 

I have a confession to make, I was wrong. One of my readers made a comment on a blog post asking if the contents of attachments to list items were indexed, and therefore searchable. I said they were not. I was wrong. Had I spent five minutes to test it, I would have known better. After being called out on it by another reader I decided to test it. Imagine my surprise when I found it worked. I had my buddy Shane Young verify my results, and he did. I went to him not because of his rugged good looks, but because he just coauthored a new book on Search (review coming shortly). To sum up, if you attach a document to a list item (a contact, a task, etc) the contents of that file can be found via a search. This is true with both WSS and MOSS. It looks like the filename itself is not indexed, though. You can test this out by searching for "Shazam" on this site. You should get this blog post, a blog comment and an appointment named "Search Test" where I have attached a document with Shazam in it. By contrast, if you search for "b i n g o" (with no spaces) you won't get any hits, even though there's a file with that name attached to the same appointment. Searching for "f o u n d" (again, remove the spaces) will discover that attachment. That demonstrates the attachment is getting indexed, but its filename was not. These tests were all done on WSS, but I verified them on MOSS. With MOSS make sure you run a crawl between when you attach the document and when you search for it.

The one downside I've seen is that the search results link to the list item, not the attachment itself. If the list item has multiple attachments it can be confusing which one is the one containing the phrase you searched for. Right now I don't have a solution to that.

I hope that clears some stuff up. I apologize for any misinformation I may have spread.

tk

Just say ‘No’ to Basic installUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/3/2008 2:55 PM2 

When installing WSS, MOSS or Microsoft Search Server (MSS) you have the easy way, and the hard way. This is one case where the hard way is the right way. They all offer a "Basic Install" to help speed though the setup. On the surface Basic Install seems like a good thing. You don't have to fuss with installing SQL or configuring accounts. You just click install and Setup.exe does the rest. Unfortunately it's not all wine and roses. Going with a Basic Setup sets you up for trouble down the road though. If you believe Shane Young, a puppy dies every time a Basic install is done. In this blog post I'll give you an overview of how to avoid a Basic Install, how it differs from an Advanced Install, why it's bad, and if it's possible, how to fix to it.

How to avoid the Basic install

One of the first choices you have when installing WSS, MOSS or MSS is whether you want to do a Basic or Advanced Install. Below is the screen from MOSS, but WSS and MSS look the same.

The theme of this blog post is "Don't do a Basic install." Not even if the description for a Basic install fits your situation exactly. Always click Advanced. Microsoft really wants to make sure you have the opportunity to screw up and do a Basic install. If you click Advanced you get two (three in MOSS) options and one of them is the same as Basic, and it's the default!

When installing WSS you need to click Advanced, then Web Front End. In MOSS you have three options:

The last option is the cleverly disguised Basic install. The first option installs all the MOSS functionality. This means the WFE functionality, as well as the other application functionality like Index, Query, Excel Services and so on. For 99% of MOSS installations this is the correct choice. It gives you maximum flexibility. The middle option is for the more security conscious among you. It installs the fewest bits, which means the smallest attack vector. Choosing either of the first two options avoids the pitfalls of the Basic install.

What's the difference?

Are you asking yourself what the big deal is? Why am I writing a whole blog telling you not to do a Basic install? Basic installs back you into a corner and they take away options down the road. How? I'm glad you asked. First, one of the ways a Basic install is easier is that it doesn't ask you for any account information. It handles all this for you. It does this by running all the app pools as LocalSystem accounts. This is a problem for a couple of reasons. It doesn't allow you to add more servers down the road. It can also cause problems with permissions. On one occasion a .NET Framework patch changed COM permissions for LocalSystem accounts and broke SharePoint. That only happens if you did a Basic install. If you do a Web Front-End installation you'll have to provide accounts, which will be either Active Directory or local Windows accounts. This is a much better practice. You can use the process that Joel outlines in this blog post to change these accounts around and use Windows or Active Directory accounts. Joel's post doesn't spell it out, but this process doesn't give the accounts the permissions they need in all cases. So you'll need to keep your eye on that.

Basic installs also reduce search performance. MOSS and MSS allow you to control how aggressively the crawler crawls content. When you do a Basic install this gets set to Reduced.

Of course you can set this to a more appropriate setting if you want.

The third difference between a Basic and Advanced install is the type of SQL backend. When you do an Advanced install you must already have some kind of database backend installed for SharePoint to use. When you do a Basic install SharePoint installs a SQL backend for you (even if one already exists on the server) and configures SharePoint to use it, whether you want it to or not. WSS installs Windows Internal Database (WID). MOSS and MSS install SQL Server 2005 Express. Each of them has their drawbacks. WID does not allow remote connections, but allows for large database sizes. It also has very restrictive means of administration. You cannot access it with SQL Management studio, for example. Your hands are mostly tied. SQL Express comes with MOSS and MSS Basic installs. Unlike WID you can connect to it remotely, but it is restricted to 4 GB database sizes. That can be very restrictive. If you want to use MSS, but don't like the 4 GB limit there is a way around it. Since MSS is WSS with MOSS' search components you can install it on top of WSS. If you install MSS on top of WSS the WID component stays in place. You'll have to set the WID instance as the default content source, but you'll get all the functionality of MSS and be able to create databases larger than 4 GB. If you installed MOSS with a Basic install you can use the steps here to upgrade SQL Express to SQL Standard or SQL Enterprise. This gets you part of the way out of the Basic install hole.

If you don't already have a SQL Server infrastructure in place, and still want to try out SharePoint for free, you don't need to do a Basic install to do it. You can download SQL Server Express for free and use it. Simply install it before SharePoint. Then during your Advanced install point SharePoint at the SQL Express installation you just installed. You still get a free SQL environment, but without all the pitfalls of a Basic install. If you go this route you also have the option of installing SQL Express on one machine and SharePoint on another. That's an option you don't get with a Basic install.

Hopefully after reading this post I've convinced you that Basic installs are bad. They cause lots of problems down the road and with a little planning, they can be avoided completely. If for no other reason, please think of the puppies.

tk

Get my new bookUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt10/2/2008 9:30 AM2 

You've probably noticed I haven't been blogging much lately. That's because myself and two of my friends, Shane Young and Steve Caravajal, have been working on a new book. Inside SharePoint Administration should be available November 4th. You can preorder it from Amazon today. Here's the chapter list:

Chapter 1: SharePoint 2007 Components and Services

Chapter 2: Architecture and Capacity Planning

Chapter 3: Installation and Configuration

Chapter 4: Security : Permissions and Policies

Chapter 5: Command Line Administration Using STSADM

Chapter 6: Navigation and Taxonomy

Chapter 7: Managing Customization

Chapter 8: Configuring and Customizing Search

Chapter 9: Profiles, Audiences, and My Sites

Chapter 10: Creating and Configuring Internet-facing Sites

Chapter 11: Optimizing Performance

Chapter 12: High Availability, Backups, and Disaster Recovery

Chapter 13: SharePoint with Windows 2008 and SQL Server 2008

Chapter 14: SharePoint 2007 administration with PowerShell

I wrote chapters 2, 5, & 12 – 14, so of course they're the best. Here is the publisher's official page on the book. I think there's a lot of great information for administrators in the book, and I think it fits well into where people are in the product's lifecycle. It's not a beginner's book, it covers in depth topics and things that Shane, Steve and I have learned after using the product for the past two years. Please check it out.

tk

Acronis True Image saves the day (while Best Buy screws me)Use SHIFT+ENTER to open the menu (new window).
Todd Klindt10/1/2008 10:03 PMTech Stuff5 
Like many people in the past I didn't backup my machines as often as I should. I got pretty religious about it a few months ago when working on a new laptop for work. I've owned Acronis True Image for years, and I set it to do daily backups. It's a good thing, as this saved my bacon.
 
The optical drive went out in my personal laptop. It would read CDs, but not DVDs. So I took it back to Best Buy. When I bought it I got the Product Service Plan for it.  I know, I know, they get a lot of flack, but I don't care. They save me trouble. I dropped the laptop off at Best Buy (after making a backup, of course) and told them it couldn't read DVDs. They fire it up and Vista hangs at the scrolling bar. I tell them not to worry about that, Vista is fussy and I've got a good backup. I'll take care of Vista when I get the laptop back. I sign the paperwork and go on my merry way.
 
I get a call yesterday that my laptop is fixed. They'd replaced the optical drive (good) and the hard drive (huh?). I didn't think much of it, since I have my backups. I picked my laptop up today and brought it home. I fired it up and put my True Image CD in. The BIOS complained about a hard drive error.  I figured that was because the drive had been changed. Once True Image got loaded up it too complained that there was no hard drive. That pretty much ruled out any chance of me restoring anything. I poked around a little and couldn't get the hard drive to show up. Back to Best Buy I go.
 
I took it to the Geek Squad and told them the story. They tested the new drive and verified that it was broken. Essentially the service center had swapped my perfectly good drive for a broken one, then never so much as turned the laptop on to see if it worked. Even though I was standing in a store that sells computer hardware, they didn't have a hard drive in stock to replace the bad one they put in my laptop. So it's back to the service center for my laptop. Yup, back to the people that caused this problem in the first place.
 
I left Best Buy this evening without my laptop, and it'll probably be gone another two weeks. I'm pretty frustrated that this was all because they replaced something that didn't need replacing. I do feel better though because I do have full backups, though.  And with True Image I can mount the backup and pull files off if I need. This situation sucks, but it sucks a lot less because of my backups.
 
Thanks for letting me vent.  :)
 
tk
TIFF iFilter for SharePoint 2007Use SHIFT+ENTER to open the menu (new window).
Todd Klindt9/15/2008 8:41 AMSharepoint2 
Finally!  Someone has a TIFF iFilter for SharePoint 2007.  I just noticed the folks at Captaris recently released one.  There is an evaluation and it's available in both 32 and 64 bit versions, so check it out.  I have not loaded it up yet, but I plan to in a couple of days.  If you try it and have any feedback feel free to post about it here.
 
tk
A better way to enumerate E-mail enabled listsUse SHIFT+ENTER to open the menu (new window).
Todd Klindt8/29/2008 10:04 PMSharepoint0 
A while back I wrote a crappy command line utility to expose the lists that have Incoming E-Mail enabled.  Out of the box there is no way to determine all of them.  The utility I wrote works, but since I can't program it doesn't work great, and it could use some polish.  I talked to my buddy Gary Lapointe and talked him into adding the functionality to his already impressive list of STSADM extensions.  He recentlyblogged about it.  If you have been using my utility delete it immediately and use Gary's instead.  You should be using his extensions anyway.  :)
 
tk
Does SharePoint support SQL 2008? Heck yeah!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt8/15/2008 10:14 PMSharepoint4 

Now that SQL 2008 is released and there are trials available I've seen quite a few people ask if it can be used with SharePoint 2007. My word is completely unofficial, but yes, it does. As of right now there is no official word from Microsoft about the supportability, but I expect one will be out shortly.

Now that we have that out of the way, you may be asking yourself why you would want to use SQL 2008 in your SharePoint environment. There's a whole bunch of great reasons. SQL 2008 has many general enhancements like better performance and so on, but there are a few specific things I wanted to mention. The first is compression. SQL 2008 supports compressing backups out of the box. This means smaller backup files, but it also means less bandwidth needed for things like log shipping. If you are using SharePoint's native catastrophic backups you can take advantage of this too. You have the option of choosing compression per backup job and you can set a default at the server level.

 

If you set the default to compress backups, when you do catastrophic backups in SharePoint, the database part will be compressed. Here are two backups I did moments apart, the first without compression enabled, the second with it enabled.

Notice the largest database backup file is 59 MB. Here's the same Farm backed up with the Compress backup set as the default to the server:

The same database backup is now just under 12 MB. The size of the folder went from 88 MB in the first back to 23 MB in the second. Thre's nothing else to it. Pretty nice for built in functionality.

I have plans for more SQL based blog entries in the future, stay tuned.

tk

p.s.  Microsoft released an official support statement for SQL 2008 on the SharePoint team blog.

A new "must read" SharePoint blogUse SHIFT+ENTER to open the menu (new window).
Todd Klindt7/31/2008 10:22 PMSharepoint0 
I've added a new blog to my daily reading and I figured you guys might be interested in it too.  It's the called To the SharePoint and it's from the SharePoint IT Pro Documentation team at Microsoft.  A couple friends of mine, Susan Potter and Carolyn Rowe and the main contributors.  If you're an IT Pro there is some great content there.  Go ahead and add it to your blog roll, you'll be glad to did.
 
tk
A few notes about STSADM –o migrateuserUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt7/29/2008 12:25 AM31 

As those of you that have seen me present know, I do a lot with STSADM. I find it to be an incredibly useful tool for large deployments, and pretty handy for smaller ones too. I've seen a few questions on how the migrateuser operation works, so I thought I'd write a little something up. Its purpose is to move permissions from one account to another. One scenario would be if a domain was being split up. You would want the new accounts to have the same permission as the old accounts. Another use would be accountname changes. If someone's account is renamed you don't want to have to grant them permission to all of the same resources. The usage for migrateuser is pretty simple. Let's take a look:

You just supply it with the old account and the new account and that's it. If you're not migrating from one domain to another you can tell it to ignore SID history as well. Some of migrateuser's behavior isn't obvious, so I thought I'd spell some of it out. Here is a crude flowchart (I didn't do well in art in grade school) that shows the logic migrateuser uses:

 

Ugly, I know. The main thing I want you to take away from this is that if domain\newuser has any permissions before you run migrateuser, they will be gone and replaced with the permissions domain\olduser had. They will not be combined. To demonstrate how this works I've created a site collection and given domain\newuser and domain\olduser permissions. Domain\newuser is in the Owners group while domain\olduser is simply in the Vistors group. You can see the information in SQL in this "before" picture:

Here are the two entries for domain\newuser and domain\olduser in the UserInfo table. You can see they each have their own tp_ID and their tp_Tokens are different. This token is where their permissions are stored. In the before picture they are different. I ran this command to migrate from domain\olduser to domain\newuser:

Pretty simple, nothing too it. STSADM is finished in a flash. Now let's refresh SQL and see what changes have been made:

There are a couple of things to note here. First, note tp_ID 9 has a tp_Login value of domain\newuser instead of domain\olduser in the previous screenshot. Essentially migrateuser just changed the value. Next you'll notice the tp_Token is the same as it was before. It was not changed to domain\newuser's nor were the two combined. Finally you'll see that domain\newuser's previous tp_ID, 8, is now marked as Deleted. That's the first step in the flowchart.

Besides removing all of domain\newuser's permissions, migrateuser has another "gotcha." Since it deletes domain\newuser's permissions before it maps them to domain\olduser's permissions (even if there are no domain\olduser permissions to map) there is a split second where it's possible that no one has permission. This is the case with Site Owners. If domain\newuser is the only Site Owner (meaning a secondary wasn't defined) then after migrateuser deletes it, the Site now has no Owner and cannot be administrated. I have not seen a way to recover from that. The site still renders, and users can still use it, but no administrative tasks can be done. In both cases that I've seen this I've had to recover the site from a backup. There may be a way to fix this in SQL, but I would recommendation against editing SQL by hand.

I hope this helps you understand the migrateuser operation a little better.

tk

Meet me in MinneapolisUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt7/28/2008 9:11 PM3 

It's my pleasure to have been asked to participate in the Minnesota SharePoint User Group's August meeting. On August 13th I'll be part of a panel that will be fielding questions and generally telling everyone how great SharePoint is. It would be great if you could come by. The details are here. The meeting starts at 8:30 at the Microsoft office in Bloomington. Hope to see you there.

tk

Watch where you put your ULS logsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt7/15/2008 10:07 AMSharepoint0 

In SharePoint 2007 you can customize where your ULS logs are saved on the file system of your WFEs. Some people like to keep their C drives clean so they move the ULS logs to another location. You can do that through Central Admin > Operations.

Clicking Diagnostic logging takes you to this screen, where you put the path in:

 

 

Click OK and your logs are moved. Pretty cool, huh? Well, there is a gotcha. Since you configure that in the Operations tab it applies to all of the servers in your farm. Every single one. The Logs directory on all of your servers will be the same, whether they need it or not. Another part of this gotcha is that if a server doesn't have the directory (like no D drive in the example above) the Logs just vanish. So if you choose to move your ULS log folder, make sure the path exists on all of your servers.

tk

Renewed!Use SHIFT+ENTER to open the menu (new window).
Todd Klindt7/1/2008 10:06 AMSharepoint2 
Thankfully my MVP status was renewed for another year.  Thanks to everyone that's contributed to my blog or let me speak at their gatherings.  I really appreciate it.
 
tk
See me in person!Use SHIFT+ENTER to open the menu (new window).
Todd Klindt7/1/2008 9:20 AMSharepoint0 
I'll be presenting at the Iowa Dot Net UG tomorrow night.  If you're local, come on down.  I'm trying to spin up some SharePoint excitement there, so come on down and help out.
 
tk
Slides from TechEdUse SHIFT+ENTER to open the menu (new window).
Todd Klindt6/21/2008 12:26 PMSharepoint0 
Sorry for the late post, but here are the slide decks from TechEd '08 in Orlando.  I had a great time, and met a lot of great people.   Thanks guys.
 
 
(this has the SharePoint conference template, but it's the same slides.)
 
Again, thanks for the great times everyone.  I hope to see you all again.
 
tk
Heading to TechEdUse SHIFT+ENTER to open the menu (new window).
Todd Klindt6/7/2008 10:49 PMSharepoint2 
Tomorrow I'm flying to Orlando for TechEd IT Pro.  Here's a rundown of the sessions I'll be presenting:
 
 
IT Conference OFC59-TLC Administering Microsoft SharePoint Products and Technologies 2007 Using a Command-Line Interface: STSADM.EXE
Session Day/Time: 6/11/2008 10:15AM-11:30AM
Room: Green Theater 1
 
IT Conference OFC55-TLC Ask the Experts: SharePoint Panel - Meet the SharePoint Consultants and Architects
Session Day/Time: 6/12/2008 12:00PM-12:45PM
Room: Green Theater 1
 
IT Conference PRC20 SharePoint Upgrade: Hands-on Guidance, Best Practices, and Techniques
Session Day/Time: 6/9/2008 9:30AM-6:00PM
Room: N210 E
 
IT Conference OFC378 How to Take SharePoint Administration to The Next Level With Windows 2008 and SQL 2008
Session Day/Time: 6/13/2008 2:45PM-4:00PM
Room: N310 A
 
IT Conference OFC357 How to Plan for SharePoint Storage Management for Multi-Terabyte Deployment
Session Day/Time: 6/13/2008 4:30PM-5:45PM
Room: S220 E
 
IT Conference OFC350 Monitoring Strategies for Microsoft SharePoint Server in the Enterprise
Session Day/Time: 6/12/2008 10:15AM-11:30AM
Room: S320 E

If you see me in the crowd, say Hi.  I'm this goofy looking guy:

me

See you in Orlando.

tk

 

Saving multiple STSADM backupsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/4/2008 4:42 PM8 

A reader asked in a comment how to script STSADM backups and be able to keep multiple copies. He's using a command like this:

Stsadm.exe –o backup –url http://www.toddklindt.com –filename tk.stsadm -overwrite

Or

Stsadm.exe –o export –url http://www.toddklindt.com/blog -filename tk-blog.cmp –overwrite

 

He wants to keep more than one instance of the backups, in case someone deletes something and they don't get back to you right away. I have a great way to work around this. Windows has an environment variable that is equal to the date. We can start with this. It's not in a good format, so we'll have to tweak it some:

For one, the backslashes will cause us problems in the file system. Second, leading with the day of the week will not sort very well. What we want is something along the lines of YYMMDD. Fortunately there is a way to parse through variables to get snippets of the information. While this is documented in the SET command, it works fine without it. To get the full skinny type set /? at a Command Prompt to get the full usage. Set has a lot of usage, but here's the part we care about:

We can use this approach to pull out the parts of the %date% variable that we want. Here's what the command would look like:

 

The string "%date:~-2%%date:~4,2%%date:~7,2%" turns into YYMMDD. The first part "%date:~-2%" says 'start at the end and take the last two characters.' The next part, "%date:~4,2%" says 'skip the first four characters and give me the next 2'. The last part, "%date:~7,2%" says 'skip the first seven characters and give me the next 2.' You put all that together and you get YYMMDD. Now just couple that with your STSADM command and you're all set. It would look something like this:

 

I included a filename with spaces to demonstrate how to take care of that. Pretty slick, huh? I can hear some people out there saying, "That's great, but now my drive is going to get full of backups. Some help you turned out to be!" Settle down, I've got the fix for that too. Another built in command FORFILES will fix that right up. Add the following line to your scheduled script:

forfiles /d -7 /m *.stsadm /c "cmd /c del @file"

That command will delete all files that end in .stsadm that are more than seven days old. Now you can keep exactly as many backups of your sites or webs as you want.

Handy?

Thanks to the reader that asked.

tk

 

 

 

See me at TechEdUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/22/2008 11:13 AM0 

I'll be presenting a few sessions at TechEd IT Forum in Orlando this summer. This is your chance to see me in the flesh. I'll be doing some sessions on administration and helping Shane Young with a pre-conference class. There's an early bird discount if you sign up before May 2nd, so head over to the TechEd Site and get signed up.

Change is in the airUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/18/2008 5:09 PM0 

As some of you know I've been pretty busy the last couple of weeks traveling. Because of that I haven't been able to share some great news with you all. I've changed jobs, now I'm working with some buddies at Solanite Consulting. I worked with three of the four other employees at UGS and they're a lot of fun. We do SharePoint consulting, so if you need some extra SharePoint muscle, let me know.

tk

Dubai is a wrapUse SHIFT+ENTER to open the menu (new window).
Todd Klindt4/8/2008 6:42 PMSharepoint1 
Wow, has it been a busy and exciting two days.  First off, I'd like to thank everyone that I talked to while at the conference.  You made me feel very welcome and at home.  I look forward to hearing from you again.  I had a wonderful time here and I'm so glad I was asked to come over.  This was a time I won't soon forget.  A special shoutout goes to to Mo, Bander, Alex, Mohammad, Adnan, and the guy from Avepoint whose name escapes me at the moment.  We did a lot of funs things in the last few days.
 
Tomorrow the gang is off to Istanbul to spread the good word about SharePoint there.  If it's half as much fun as Dubai was it will be amazing.
 
Oh, I almost forget.  Here are the slides for my STSADM session as well as the scripts.  Here is the slides for my SQL session.  A few people were asking for them.  Enjoy.
 
tk
On my way to DubaiUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt4/5/2008 7:19 AMSharepoint0 
In a moment I'll be shutting this laptop off, throwing it in my bag and heading to the airport.  I'm flying to Dubai to speak at the Microsoft SharePoint Conference.  If you're in the area, stop by and say Hi.  I'll be spending three days there, and four days in Istanbul speaking at the SharePoint conference there too.  I usually take advantage of those long, long flights by writing up some content for my blog.  Hopefully once I get over there I'll have some new stuff to post for you all.
 
I'll hopefully be posting some pictures, too, so be on the lookout for them.
 
tk
Enumerate Incoming E-Mail listsUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/24/2008 9:19 PMSharepoint6 
As I've been working through some Incoming E-Mail issues I realized there is no easy way to find out which lists and libraries are enabled for Incoming E-Mail or what addresses are being used.  I decided to try my hand at writing a little something to address that issue.  It's a small console app that walks through the lists and libraries and reports the ones that have email addresses.  It's pretty simple.  Go ahead and download it and let me know what you think.
 
tk
Welcome to SeattleUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt3/3/2008 4:51 PMSharepoint6 
I made it to Seattle for the 2008 SharePoint Conference.  It's sold out and the number of attendees is huge.  My STSADM session is Wednesday at 2:30 in room 6ABC and my SQL session is Thursday at 10:30 in room 6E.  I'd love to have you drop by if you're at the SPC.  I'll also be at the Ask the Experts lunch on Wednesday.  Swing by and say hi.
 
tk
Outlook as a SharePoint client, online and offlineUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/24/2008 9:54 PM74 

SharePoint 2007 has a great interface. Those of us that used SharePoint 2003 can really appreciate the improvements that have been made. However in some situations SharePoint needs a little boost. Users need a little more than a web interface can offer. This blog post will explain some of the ways you can use Outlook 2007 as a SharePoint client. We'll cover how it can used online and offline to work with SharePoint content.

Like I said, the regular web interface is great in SharePoint. If it's so great then why would you want to use Outlook as a SharePoint client? There are two main reasons. The first reason is a matter of preference. Some people work out of Outlook 90% of the time and are very comfortable there. If they can use that same program to access SharePoint data, it makes them more likely to use SharePoint. The second reason is practical. Outlook can be used to take SharePoint content offline. This gives users the flexibility to work with SharePoint contact at home or while traveling. Another benefit of this is users that have slow connections to SharePoint. It might be easier for VPN users to work with SharePoint offline than live. Or maybe you have a remote office that doesn't have a good connection to the SharePoint servers. It's always good to have options. Let's find out what those options are.

SharePoint 2003 offered some integration with Outlook 2003, but it really wasn't useful. You couldn't sync in both directions. Things have changed. With SharePoint 2007 and Outlook 2007 you can sync data both ways. Changes made in SharePoint show up in Outlook, and now changes made in Outlook are synced back to SharePoint. And when I say SharePoint I mean that this works with both WSS v3 and MOSS 2007.

When you choose to sync a list or library with Outlook a new data file is created in Outlook. This file is a standard PST file and it is used to store all the content cached from SharePoint. This is important to understand because it means that if you use Exchange none of your SharePoint data is stored in your Exchange mailbox, so it won't fill your mailbox up. This also means that your SharePoint data won't be available outside of Outlook in places like Outlook Web Access or mobile devices that you sync with Exchange. I don't have any ideas of good ways to get your SharePoint data to either of those places. Once you've added a SharePoint list to Outlook you can view the properties of the SharePoint data file by clicking Tools > Account Settings in Outlook.

Then click Data Files. Notice there's also a tab that lists all the SharePoint lists themselves.

So how do we actually get SharePoint data into Outlook? The process is incredibly easy. First, the list or library must be one that can be synced to Outlook. That means it must be one of the following types: document library, picture library, form library, contacts, calendar, discussion lists, tasks or project tasks. Open any list or library based on one of those templates. Click the Actions button and choose Connect to Outlook.

 

Outlook will pop up a dialog box asking you if you want to connect this to Outlook and allow you to tweak some settings, like the name as it's displayed in Outlook. Once you hit Okay the connection will be made and Outlook will open up the list or library. If you switch back to your folder list you'll see the new data store that's created and you'll see the list or library you've added.

If at any time you want to remove the list you can right click on it and choose Delete.

Since I used a Calendar in the example, let's cover what you can do in Outlook with a SharePoint Calendar. First, like I said before you can add appointments either in Outlook or SharePoint and it will get synced. You can also edit appointments in one and the change will be visible in the other. While you can't view a SharePoint Calendar via OWA or a Windows Mobile device, you can manually drag an appointment from a SharePoint Calendar to your Exchange Calendar. Using Outlook's Overlay Mode you can combine the results of your Outlook Calendar and a SharePoint Calendar.

 

Whether you combine the calendars or not you'll also get reminds in Outlook for Appointments in SharePoint.

Contacts lists can also be synced to Outlook. You set the sync up the same way. SharePoint Contacts lists make a great way to share contacts with a group. After the Contact list has been connected to Outlook it can be added as an Outlook Address Book so that the addresses can be used when sending email. To do this right click on the SharePoint Contacts list and open up the Properties. Open the Outlook Address Book tab and verify it is checked.

If you want to give the list another name you can do it here.

You can also sync Task Lists with Outlook. You connect them up the same way you do Contacts and Calendars. Like Contacts and Calendars you can edit SharePoint tasks in Outlook and the changes will sync in both directions. The tasks assigned to you will also show up in your To-Do Bar in Outlook along with your Outlook Tasks. You can also view all of the Tasks if you'd like.

Probably the most handy way to use Outlook as an offline SharePoint client is with Document and Picture libraries. Connecting a document library to Outlook allows you to work with your documents when you do not have access to your SharePoint server. While you can read and edit files from your document libraries, you can't use your Outlook folders to add files. You have to enable Incoming E-mail on the document library in order to add files. Files that haven't been synced back up to SharePoint will show up in your SharePoint Drafts Search Folder.

If you do decide to connect a document library to Outlook you'll probably want to enable version control. That will protect the work that you and others do on a document when you're offline. While you're online and Outlook can contact SharePoint any changes you make to documents will be synchronized immediately in the background. While you're offline of course the documents won't be synchronized until you connect again. You can use the Send/Receive button to synchronize changes once you get back online.

I hope this blog has shown you some options for accessing SharePoint offline, or on slow links. Outlook can bridge the online and offline gap.

There are other methods of accessing SharePoint offline. If there is interest in it I can write about it later.

tk

Where's Todd going to be?Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt2/5/2008 11:41 AMTech Stuff; Sharepoint0 
The next few months are shaking up to be very busy.  I thought I'd let you all know where I'm going to be in case you didn't know about any of the events.
 
First is the Microsoft SharePoint Conference.  It's March 3rd through the 6th in Seattle.  Unfortunately it's recently sold out, so if you haven't already signed up you won't be able to attend.  I'll presenting two sessions.  One on STSADM and another on SQL.  April 7th through the 11th I'll also be attending the SharePoint conferences in Dubai and Istanbul.
 
Microsoft will be having their combined Windows Server 2008, SQL Server 2008, and Visual Studio 2008launch event starting in February.  I'll be attending the one in Des Moines on April 24th.
 
I'll also hopefully be attending the TechEd IT Forum in Orlando June 10th through the 13th.  I don't know yet if I'll be presenting there or not.
 
Hope to see you at some of these events.
 
tk
 
The new Service Packs are here! The new Service Packs are here!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt12/11/2007 11:17 AMSharepoint0 
Service Pack 1 for MOSS and WSS v3 have just been released.  Get them while they're hot!
 
 
 
You do need to install the WSS SP1 before installing the MOSS SP1.
 
Of course you'll want to install these in a test environment before you put them into production.  There are patches for all your favorite Office 2007 clients as well.  You can grab them here.
 
Happy service packing.
 
tk
New SCOM packs for MOSS and WSS v3Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt12/11/2007 9:26 AMSharepoint0 
If you used MOM or are using SCOM to monitor you'll want to check out the new SCOM Management PacksShane Young and I worked with Luis to define the different kinds of alerts SCOM will send you.  So make sure and leave a nice comment if you like how it comes out of the box.  If you don't like it, it's all Shane's fault, blame him.  :)
 
tk
AAM bug makes external links internalUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt12/6/2007 11:51 AM0 

Every year my friends and family pester me for a list of gifts I would like. A couple of years ago, being the SharePoint nerd I am I created an online Christmas list for them on WSS v2. I had a picture of the item I wanted with a short description, an approximate price and a link to buy it from an online retailer. Very considerate of me, I know. I upgraded my site to WSS v3 after last Christmas some time. Well, the most wonderful time of the year came around again and with it came more requests from people wanting to shower me with gifts. I went to my trusty list and started uploading pictures and URLs. I was surprised to see that my links to www.amazon.com and www.bestbuy.com were being replaced with links to MY server. For instance, if some generous soul wanted to buy me a copy of Smokey and the Bandit in glorious HD DVD the URL to buy it from Amazon would be http://www.amazon.com/gp/product/B000NVL1Y0/ref=s9_asin_image_1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-5&pf_rd_r=0Z371DHGV5B58Q17QZAA&pf_rd_t=101&pf_rd_p=278842001&pf_rd_i=507846 . When I put that URL into my list it got magically changed to http://www.klindt.org/gp/product/B000NVL1Y0/ref=s9_asin_image_1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-5&pf_rd_r=0Z371DHGV5B58Q17QZAA&pf_rd_t=101&pf_rd_p=278842001&pf_rd_i=507846 when I viewed the page. Same relative URL but my server name instead of Amazon's. How could this be? Sure enough, every single URL I added did this whether it was from http://www.amazon.com , http://www.bestbuy.com or http://www.victoriassecret.com. I tried a few things and no matter what the list or where it was on my server, if I pasted in a URL it was changed to my server name from the original. I bounced the problem off of some of my MVP buddies and Rob Bogue suggested it might have something to do with Alternate Access Mappings (AAMs) and I should look there. For that site there were three AAMs, it looked like this:

http://www.klindt.org is the URL my friends and family use when they want to see what to buy me. Matrix is the name of the server itself and http://www was for me to use as shorthand internally. I removed http://matrix and http://www and made http://www.klindt.org the default. I checked existing URLs, they still pointed to http://www.klindt.org. I added a new one though and the Amazon URL stuck! Thank Rob! At that point I suspected I knew what the problem was, so I added http://matrix and checked it, still worked. To confirm my suspicion I added http://www and as I suspected the problem came back. When you add a URL to SharePoint it does a check to see if the URL is a link to itself, or a Base URL. If so, it saves the URL as a relative URL and when it renders it back to users it fills the server name in with the URL they used to hit the site so that the link is good. SharePoint was erroneously seeing http://www.amazon.com/ links as a base URL because it partially matched one of the AAMs, http://www. I removed http://www completely and changed one of the http://www.amazon.com links to http://matrix.amazon.com just to verify it wasn't just www. It wasn't. The http://matrix.amazon.com links were saved as Base URLs as well. I took it one step further and tried http://matrix2.amazon.com to see if it would match too, it didn't. The bug only seems to happen if the first part of the URL matches an AAM exactly.

Now that I understood the problem the fix was very easy, no more http://www AAMs on my server. I'll just have to keep an eye out to make sure my internal server names don't match any external ones the MSDN2 of http://msdn2.microsoft.com for instance.

The moral of the story is that if you have any problems with SharePoint rewriting your external URLs, verify they don't match up with an AAM.

tk

Renamesite doesn’t do what you think it doesUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/29/2007 11:22 PM8 

Along with mergecontentdbs another operation has been recently added to STSADM, renamesite. KB939535 gives some guidance on how to use this new operation. At first glance, I assumed it worked like renameweb, which was nice as there is no way to rename site collections without locking them, backing them up, deleting them and restoring them with the new name. After I read the KB I was disappointed. It seems that renamesite does not work with path-based site collections. A path-based site collection is in the form of http://server/sites/sitename. 99% of the installations I see are in the form. Instead, renamesite only works with host-based site collections. Host-based site collections are site collections that are created using host header mode. Host header mode allows multiple site collections in the same web application, but all have top level names like http://host1 and http://host2. If you're using host header mode, you can use renamesite to rename them. If you're using path-based site collections like most of the SharePoint using world, then this operation is useless to you.

tk

Upgrade SQL Express to Standard or EnterpriseUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/25/2007 11:13 AM106 

Microsoft so very graciously provides a free version of SQL 2005, SQL Express, with MOSS. If you install MOSS using the Basic option or Single Server under Advanced you get SQL Express automatically. So what if as a budding newbie SharePoint admin you chose the Basic option, but now as a wise aged SharePoint admin you've seen the error of your ways and want to use a more respectable version of SQL for your SharePoint backend? You're in luck. In this blog post I'll walk you through upgrading SQL Express to SQL Standard or Enterprise.

First thing you need to do is get a copy of SQL 2005 Standard or Enterprise. Which version you choose depends on the redundancy and availability you want. Either will upgrade from Express. After you have your media you can start the install. This step is important as you have to pass the setup program a parameter to let it know you're doing an upgrade. To upgrade use the command setup.exe SKUUPGRADE=1. It should look like this:

The setup should kick off and it won't give you any indication that you passed it a parameter. Never fear, it will come up later. When the setup gets to the instance selection make sure you don't accept the default instance and you choose the SQL Express instance. First click Installed Instances:

Then choose the OFFICESERVERS instance from the list and hit OK:

Your next screen should confirm that it found SQL Express:

If you click the Details… button you'll see that the setup confirms that SQL Express can be upgraded. This step is optional.

At this point you can Close the box and hit OK until the setup is finished. After the setup is finished you'll want to apply SP2 for SQL 2005 and any post SP2 patches that are available. I don't know if it's required but I always do an IISRESET after this to make sure that SharePoint reconnects properly to SQL.

That's all there is to it. Once you are using full SQL you have quite a few more options available to you like log shipping, database replication, SQL Profiler and more. If you have any questions about how to leverage those tools with SharePoint, leave me a comment and let me know.

tk

 

Scripts from OFF301 - TechEd IT Forum BarcelonaUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/20/2007 5:20 PMSharepoint2 
First I'd like to apologize.  I had intended to get these posted much earlier.  I lost the power cable for my laptop after my session Friday so I wasn't able to get into my computer until I got back home.  Here are the scripts I used in my presentation, as well as a couple more that I threw in.  For those scripts that require input files, I've supplied examples of those as well.  I also included a copy of the notes I had for the session.  Some points I talk about in the session aren't on the slides but are in the notes.  And because of all the comments I got on it, I have also included "joke.txt" for you all.
 
You can download the zip file here.
 
Thank you so much for all the comments you put into your evaluations.  There were some great suggestions and I will use them to improve the presentation the next time I do it.
 
Feel free to leave me comments if you have any questions.
 
tk
 
 
Move Site Collections in a Single BoundUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/19/2007 10:51 PM21 

edit: Please read this blog post before using 'mergecontentdb' data corruption may occur

On multiple occasions as a SharePoint administrator I have needed to move a Site Collection from one Content Database to another one. In the past this process was very painful and very manual. In this blog post I will show you how to move Site Collections between Content Databases with a single STSADM command using the "mergedbs" operation that was introduced in KB934525.

Why would I need to move a Site Collection to a different Content DB? This comes up for a variety of reasons. For instance, because of restore times, I like to keep my databases under a certain size. While I try to work with my Site Collections owners to plan accordingly sometimes they grow larger than we had imagined. When this happens I need to shuffle Site Collections around to keep my databases in harmony. There are other times when I would do it if it were more convenient. If Site Collections are not growing as expected, I may want to consolidate several into a smaller Content DB. I may also want to move less active Site Collections to Content DBs on slower discs, or move Site Collections to Content DBs that reflect geographic regions. Whatever the reason, in the past to move a Site Collection you had to go through the following steps manually;

  1. Lock the Site Collection
  2. Back the Site Collection up
  3. Delete the Site Collection
  4. Set all your Content Databases' maximum allowed sites to the number of current sites.
  5. Set the Content Database you want the Site Collection to go into to allow one more Site Collection.
  6. Restore the Site Collection
  7. Unlock the Site Collection
  8. Adjust your Content Database maximums to allow new sites to be created.

All of these steps could be done with STSADM so you could build scripts and move through the process quickly. In one of the recent security patches (KB934525) for WSS and MOSS Microsoft slipped in a new STSADM operation, mergecontentdbs. I assume this operation was added with the intention of merging Content DBs, but it can also be used to split them. This blog post will walk you through both uses. Let's start with the configuration below:

You can see in this screenshot that I have three Site Collections in two Content DBs; WSSContent and WSSContent2. Let's move http://barcelona/sites/stsadm from WSS_Content to WSS_Content2. If you get the help for the mergecontentdbs operation it looks like this:

We want to use operation 3, Read from file. STSADM has given us a clue about the file needed, it is generated from stsadm –o enumsites. I'll go ahead and run that and pipe it to a file like this:

This will produce a file, mysites.xml, that contains my site collections. To move http://barcelona/sites/stsadm we'll remove all of the other Site Collections except for that one from mysites.xml and save it. You don't need to worry about changing the Site Count at the top, or any of the other Site Collection information in the file, STSADM only grabs the URLs out. I only have two Content Databases so the decision of which database to move the Site Collection to is easy. What if I had many Content Databases? You can use the first operation, Analyze, to get an idea of how your Content Databases are laid out. Let's see how that looks:

You can see here where I got the idea to use the filename mysites.xml. The thing I love best about this screen is that you can just cut and paste the final command into your Command Prompt if you'd like. I think Microsoft did a great job with the usage on this command. One thing to note is that the –url parameter is NOT the URL of the Site Collection you want to move, it's the URL of the Web Application that the Site Collection is in. Since we've already created our file and edited it, let's go ahead and run the command.

That's all there is to it. After an iisreset we see that the Site Collection http://barcelona/sites/stsadm is now in WSS_Content2. You can confirm it by looking in Central Administration > Applications > Content Databases before and after you run the command.

I have one final thing to show you, what I imagine is the intended usage of mergecontentdbs, merging two Content Databases. If we use the second operation STSADM will simply move all the Site Collections from the Source database to the Destination database. Let's move all of the sites in WSS_Content2 back into WSS_Content.

I think that picture pretty well sums it all up. Now all the Site Collections in the http://barcelona Web Application are in WSS_Content, right where we want them. I think Microsoft did a pretty good job with this addition to STSADM. Enjoy it.

I'd like to give a special shout out to Joel Oleson for telling me to look for this little gem.

tk

Welcome to Barcelona!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt11/12/2007 9:07 AMSharepoint3 
I'm in Barcelona this week for TechEd EMEA IT Pro.  It's a beautiful city.  I'm presenting three sessions while I'm here.  On Wednesday SharePoint Consultant Extraordinare Shane Young and I are presenting "OFF304 - Become a SharePoint Guru: Best Practices for SharePoint Administrators."  We're picking this up for our friend Stephen CUmmins who had to drop out at the last minute.  We'll be covering some standard and some not-so-standard admin approaches to WSS v3 and MOSS.  It should be fun.
 
On Thursday I'm presenting "OFF301 - Administering Microsoft SharePoint Products and Technologies 2007 Using STSADM.EXE "  This session is 75 minutes of discussing a single command line EXE, your friend and mine, STSADM.  Despite the seeming dryness of the content, it was very well received at TechEd in Orlando this summer.
 
Finally, on Friday I'm presening "OFF310 - Understanding SQL Server Database Options for Microsoft Office SharePoint Server 2007."  I wanted to call this one "SharePoint Admins, the reluctant DBAs."  This session is for all the SharePoint admins out there that have to deal with SQL and don't know anything about it.  This session will give them some understanding about how SQL makes all that magic happen.
 
I'll also be spending a lot of time at the SharePoint "Ask The Experts" booth.  If you're in Barcelona swing by and say hi.  We have some great SharePoint swag to hand out.
 
I will also be posting my session notes and notes I make from other sessions here.
 
tk
One document, multiple Document LibrariesUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt8/20/2007 3:17 PMSharepoint80 

Here's another question I see a lot, "Is there a way to have one document in multiple libraries, but have there be a master?" The answer is "sort of." In SharePoint 2007 there is a new concept of "Content types." A content type is kind of like a template for document types you store in libraries. In this case we're going to leverage the "Document Link" content type. You can use it to create a link to a master document in another library or to any URL in general. In this post I'll walk you through how to do it. First, notice your options when creating a new document in a standard Team site Document Library.

We're going to add another option there for your link. Click Settings and then Document Library Settings. You need to access the Advanced Settings for the library, so click that.

Since we need to add a content type, click Yes next to Allow management of content types. Then hit Ok.

Now when you go back to the Document Library settings you'll see a new section, Content Types. Click "Add from existing site content types."

The content type we want to add is "Link to a Document." Click it on the left and click Add to add it. Click Ok.

Now you should see your new content type in the Document Library settings.

Make sure it will be Visible on the New Button

Now when you create a new document in that library you'll have another option under new. Let's check it out.

Go ahead and click it and let's create one. It's just like filling out a favorite in your web browser. Give it a name and a link. In this example I'm linking it to a Word document in another library, but you can put any URL in there, SharePoint doesn't verify it's pointing to another SharePoint location.

Here's what it looks like when you're finished:

Whenever you want you can change the document that the link references without worrying about the links pointing to it. This basically replaces the old "Links Library" in SharePoint 2003.

Enjoy!

tk

Redirection options in SharePointUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt8/19/2007 6:05 PMSharepoint68 

I see questions about redirecting users in SharePoint all the time. Usually they're in the context of "I want to redirect users, can I do this with an Alternate Access Mapping?" SharePoint admins know that if they don't set their AAMs up correctly that SharePoint will bounce their users around like a SuperBall, so they hope they can harness that power for good, instead of evil. While you can in certain circumstances most likely you will want to use a different approach. In this blog post I will show you several different to redirect users in SharePoint. Then when you find yourself needing to, you can use the method best suited for your situation.

When deciding which redirection method to employ, you need to determine what you're redirecting from and what you're redirecting to. That will determine which method to use. For each of the methods I discuss below I will provide examples of the situation you would use it in. Enough with the introduction, let's get down to it.

Vanity URLs

One of the most common requests I see is for vanity URLs. SharePoint URLs can get long and unmanageable and admins want URLs that their users can remember. They want to use something like http://software and have it forwarded to http://team/sites/software/development. To set expectations correctly, you should just come to terms with the fact that you aren't going to write SharePoint URLs down, you'll pass them along via or IM. If you do want short URLs you can have them forward to deep SharePoint sites. Of course the URL your users will eventually get to will be the long URL, but the jumping off point will be easy to remember. To do this kind of redirection I use IIS directly, I don't get SharePoint involved at all. Create a new virtual server in IIS Manager and give it a descriptive name like "Software Redirect." When you're walking through the wizard you'll take the defaults. You'll have to point it to a local directory. This is only temporary, so you can point it anywhere. After the virtual server is created, edit the properties. Open the "Home Directory" tab and click "A redirection to a URL" then type your SharePoint URL in the "Redirect to:" box. It should look like this:

Figure 1 – Redirection settings

This method works pretty well and is easy for users. It does have a couple of drawbacks you should know about. Each virtual server running takes up RAM on your IIS server. You can take steps to mitigate this. I create a new App Pool and use it strictly for the redirect virtual servers. Then I set that App Pool to timeout if idle for 1 minute. Since this App Pool does not really do much, it does not use much RAM, but this reduces that memory footprint liability to only a minute or two on your web server each time someone uses the redirect. In my experience the App Pool only used 5 or 10 MB of RAM each time someone hit it. With today's machines that's not much of a hit. Overall I've been very happy with this approach.

Figure 2 - App Pool memory settings

Server URL has changed and users have bookmarks

This can happen from time to time, a server name changes or you move your site from HTTP to HTTPS. If your users have bookmarks to the old URLs this can cause problems. One option is to tell your users they're out of luck, but this is a great opportunity to look like a SharePoint Hero. You may be able to use AAMs to work this type of redirection, but they don't work consistently. For instance, the AAM will redirect a URL without a page, but will not redirect one that does. So http://oldserver would redirect but http://oldserver/default.aspx would not. Because most bookmarks will have the page included we can't rely on this. To handle this I employ a technique similar to how I handle Vanity URLs. First you'll need to make sure your existing SharePoint virtual server no longer responds to the old URL. Normally I just change the port to an used port like 8080, so that it's easy to change back. Next create a new virtual server and make sure it responds to the old URL, so you may need to add a host header or adjust the port. Like above, after you've created the redirect virtual server edit its Home Directory property. Instead of feeding it a static URL we're going to employ some redirect variables. Before I explain them, here's what your redirect URL will look like:

Figure 3 - Redirection variables

Two changes should jump out at you. First, the URL ends in $V$Q. The $V represents the original URL the user is trying to access, but without the protocol, servername or parameters. The $Q represents any parameters the URL included. Here's a crude drawing of how the URL breaks down:

Figure 4 - URL breakdown

Since all we want from the old URL is the path and the parameters, $V$Q works well for us. You can find a list of all the supported redirection parameters here. You'll also want to check the "A permanent redirection for this resource." This gives the client back an http 301 reponse which tells it the redirect is permanent. Some clients can understand this and will fix the Bookmark to the new URL. Other clients can't understand 300 level responses at all and will fail completely regardless. Full documentation on this switch and the rest can be found in the IIS Manager help. Once the screen is up you can hit F1 to open the help. After you have this all configured any requests this virtual server handles will be forwarded with path and parameters to the URL you specified.

Redirect from Deep URL

Sometimes you aren't redirecting an entire URL, or even just the servername. Sometimes you're just moving a web and you want users to be redirected to the new location. Since you don't want to redirect the entire web application you can't use either of the previous techniques. Fortunately there is a way. There is much magic in the Content Editor Web Part (CEWP) and this is another example. You can use a CEWP to insert HTML code to send your users wherever you want them. To utilize it add a CEWP to your web part page, usually the default.aspx at the root of your web. Edit the web part properties. Click Source Editor and add a Meta Refresh tag to send your users to the new site. It will look like this:

Figure 5 - CEWP Properties

The "10" in the content tag means the page wait 10 seconds before it refreshes. A longer time is handy if you want to put a message alerting your users to the new location before you forward them. The URL is the URL your users will be sent to. Of course this will only work on the page you put it on, so you may need place it on multiple pages in your web, like your Shared Document library pages. Fortunately since it is just a web part you can export it and import on additional pages, you don't need to recreate it each time.

There are some drawbacks to this approach, and it's generally considered bad form to use a refresh tag to forward users. For one it breaks your users' Back button in their browsers. It can also confuse your users, especially if the redirect is fast and there isn't a note on the page explaining that the site has moved. Finally, make very sure the URL you're redirecting them to is valid. If not they get stuck on a dead page and no way to use Back to get out. Sometimes it is your only option though.

This blog post wouldn't be complete without a mention of MOSS' Redirect Page content type. If you're using MOSS and you're on a Publishing Site you can access to it. Go to your Pages document library and Click new. It will be in your list.

Figure 6 - Redirect Page content type

Once the Redirect Page is created you'll need to Edit its Properties and enter the URL you want it to redirect to. You'll also need to preview the page and check it in before it will work. Unfortunately this solution only works on Publishing sites.

As you can see, SharePoint and IIS provide many ways to redirect users. Each method has its benefits and drawbacks. Hopefully this blog post will provide you with one method that will work for your situation.

tk

 

Buy My Book!Use SHIFT+ENTER to open the menu (new window).
Todd O. Klindt8/6/2007 12:52 AMSharepoint3 

Ever wonder what a SharePoint smarty does in his free time? We write blog entries and books. In a couple of weeks one of the books I was fortunate enough to work will hit the shelves. You should be able to pick up Real World SharePoint 2007: Indispensable Experiences From 16 MOSS and WSS MVPs in a week or two on Amazon.com. The book is filled with all kinds of great information on a wide variety of SharePoint aspects. There's something in there for admins, developers and even end users. As is in the Wrox tradition, all of our pictures appear on the cover. Here's what to look for:

Click for a full size picture

If you buy books at brick and mortar stores, please ask them to carry it. My baby's gotta eat!

After you grab the book head over to the Wrox forums or post here and let me know what you think.

tk

Free Disaster Recovery options for SharePointUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt7/9/2007 12:21 AMSharepoint37 

In the newsgroups I see a lot of questions about how to back up and recover SharePoint. I decided it was time to put some of my ideas out here. This blog entry will cover options that come out of the box with SharePoint, with the exception of SharePoint Designer. It will talk about the different needs that DR addresses and it will show you how to use different features to meet those needs. For the most part these features work best with small to medium sized environments, but the information will be good for enterprise admins as well.

    When we start talking about disaster recovery we need to decide on just what kind of disaster we are talking about. In this paper we will cover two types of disasters; content deletion and catastrophic failure. You will want to take different measures depending on the type of recovery you want to protect your environment from. In this blog we will address catastrophic failure first, then content recovery.

    If you want to protect your SharePoint farm against catastrophic disaster you have two aspects of SharePoint to keep in mind; configuration and content. In the 2007 versions of SharePoint Microsoft has added a facility for making backups with the intent of recovering from catastrophic failures. This can be found in the Central Administration web site on the Operations page under the "Backup and Restore" heading. If you click "Perform a Backup" you can see that quite a bit is covered. Since this is at the Farm level it includes any web applications you have as well as your Config and Search databases. Any of your SharePoint environment that exists in SQL is covered here, as well as some information from your WFEs. When you choose to do a backup here you are asked where you would like the backup to be saved. It is important to know that this backup process runs in two distinct steps. The first runs on the WFE that Central Admin is running on and the second runs on the SQL server. For your backup to be successful both processes, and the users they are running as must have access to the directory where you point Central Admin. That is why the example is a UNC path instead of a local path. The WFE portion of the backup process runs as the Central Admin app pool id. The SQL portion runs under the context of the account that the SQL services are running as. Both accounts must have write access to the directory for your backups to be successful.

    After you have created a successful backup you can walk through the restore process. While I encourage you to practice any recovery processes you have in place be careful when walking through this, you will overwrite any content that is in place. It is a good idea to go through the restore process at least once to get familiar with it and then periodically to make sure your backups are working correctly.

    If you're like me you're curious about how things work. After I ran my first backup I immediately jumped into the directory to see what was there. I found that each backup run is put into its own directory. Each of those directories has a SPBACKUP.XML file that is the table of contents for the backup. You can look through there and see which elements are being backup up. Most interesting are the entries for the objects in the "Microsoft.SharePoint.Administration.SPContentDatabase" class. These represent your Content Databases, as you may have guessed. If you continue looking at the properties for the object you will come across one that is the database's name and SQL instance. The value for that parameter is the name of the file in the backup set. Since this part of the backup is essentially just an SQL dump, you can take this file and restore it into SQL with SQL Management Studio if you would like. This makes it easy for you to restore the databases to different environments, or as difference names.

    The built in backup procedure has two big shortcomings, as I see it. First, it does not get everything you probably want if you need to rebuild your environment, namely all your Configuration information. The Content is covered when your content databases are backed up. Configuration covers a wide variety of information and it is spread out so it is easy to lose track of bits of it. For instance if you have added an icon for PDF files this is part of your configuration. When you do this you copy a GIF file to the Templates\Images directory of the 12 Hive and add an entry for that image in your DOCICON.XML file. A Central Admin backup will not get this change. For this reason I recommend a few supplemental processes to round out your backup. First, use IISBACK.VBS to make a backup of your IIS settings which are stored in two files; Metabase.xml and MBSchema.xml. Use a command similar to this:

iisback.vbs /backup /b SharePointBackup

This creates a backup of your Metabase and MBSchema files and saves them in %systemroot%\system32\inetsrv\MetaBack. You will also want to backup the contents of this directory as well as a couple more. The directory C:\Program Files\Common Files\Microsoft Shared\web server extensions\12 is known as the '12 Hive'. It is the directory that SharePoint is installed in and where most of your SharePoint specific changes live. You will also want to add the Inetpub directory, normally at C:\InetPub. To package them all neatly I use a command line compression tool like 7-Zip to zip them all up nicely.

    I mentioned the included backup had two shortcomings. The second is that since it is web based, it cannot be scripted to run regularly. Fortunately this is easily remedied with STSADM. STSADM can create backups that are compatible with Central Admin backups. Use backup operation but instead of giving it a URL and filename, give it your backup directory name and whether you want a full or differential backup. The command would look like this:

stsadm –o backup –directory \\server\SPBackups -backupmethod full

If you point STSADM at the same directory you point Central Admin at the backups will seamlessly be integrated. One can restore what the other backs up. Since STSADM is a command line utility it is a perfect candidate for automation. You can create a simple script file to run your farm level backups and schedule it to run every night or however often you want.

    These methods work well for restoring from catastrophes and they also work well for moving content or settings between test environments and production environments, or vice versa.

    The previous methods work great if you want protection against a hardware failure. What if you just want to have some protection against your users (or your admins!) deleting content? The methods we discussed above would work, but they might be more than you need. In this section I will cover some ways to recover content.

    Your first weapon against content deletion is the Recycle Bin. New in SharePoint 2007 this gives you two layers of protection as it is two stage. The Recycle Bin is on by default and is configurable in Central Admin. Recovering items from the first stage can be done by regular site members. After they expire from there they can be recovered from the second stage by a Site Collection Administrator.

    Not everything is captured by the Recycle Bin, unfortunately. When folders are deleted they do not pass 'Go', they immediately just go away. Webs and Sites are the same way. You need some way to protect against that, or you may have chosen not to enable the Recycle Bin.

SharePoint Designer (SPD) is the next version of FrontPage, and as the name suggests it is very SharePoint friendly. It have a lot of great SharePoint functionality, but this article will only its ability to backup and restore content. The beauty of this approach is that end users can take advantage of it, as a site can be backed up by farm admins as well as site members. This is a great option if you have adventurous users that like to push SharPoint to its limits. They can make a backup of their site before they make their changes. Open the site or web in SPD then go to Site in the Menu Bar. Choose Administration and finally "Backup Web Site." This will create a single CMP file backup of your site. This file can be restored back to its original location, a different location in the same site, or a different farm entirely.

Like the Central Admin backups, if you're curious you can break these backups into their elemental parts. The CMP file is just a CAB file. If you rename it as .CAB you can open it up and see inside. The MANIFEST.XML file is your roadmap to the contents. The object type "SPFile" is where you will find individual files. With this knowledge you can pull files out of your backup without having to restore it back to SharePoint, if you do not want to. Just find the file in the Manifest.XML file and copy out the file from the archive in the FileValue attribute. Rename to your original document and you have your file back.

If the Recycle Bin is not what you are looking for, and SPD does not get you where you want to go, then STSADM comes to your rescue. STSADM is a SharePoint admin's best friend. While STSADM has over 180 operations I will only cover four in this article; backup, restore, export and import. Import and Export replace the functionality that SMIGRATE had in the 2003 versions of SharePoint. Import and Export deal with subwebs. You can use them much like SPD to take snapshots of webs and restore them later if you want to. If you want to protect against accidental Site Collection deletion, use the 'backup' and 'restore' operations of STSADM. These work at the Site Collection level and will create a single file, full fidelity backup. As with any STSADM operation, if you have questions on usage, type 'stsadm –help' followed by the operation name. STSADM will give you usage for the command and maybe an example or two.

If you need to restore a single document or folder you can restore the STSADM backup of the site collection to a different URL or a different farm and retrieve the document that way. If you do restore a second instance of a site collection it cannot be in the same Content Database as the original. STSADM preserves many list GUIDs and they cannot exist more than once in a Content DB. If you try to do this, STSADM will report back that there are no databases available. If you have a recovery or test environment, you can restore your backup there as well. Just make sure both farms are running the exact same version of SharePoint, right down to the patches. You will also need to have all the same software and web parts installed.

For small to medium sized environments, it is tough to beat STSADM site collection backups. You still need to schedule the task, and you need to keep a running list of the Site Collections you need to back up. The second part is easy to address. In his book SharePoint 2007 Unleashed Michael Noel has a chapter on Disaster Recovery. In that chapter he has a script that can be scheduled to run that takes the output of "stsadm –o enumsites" and creates a backup for each site collection listed. If that were not enough, the script will email you when it is finished. He was gracious enough to let me share that script with you all here. Go ahead and download it and take it for a spin. You will need to remove the TXT extension to get CSCRIPT to execute it properly. I think you will really like it. If you do, I encourage you to consider picking up his book. That script is just one example of the vast amount of SharePoint information that is in there.

There are many disasters that can befall a SharePoint environment. Servers can burst into flames, or the CEO's administrative assistant can delete a folder full of important documents. Regardless of how you define disaster there are ways to protect yourself built in to SharePoint. I hope this blog entry has given you some ideas on how to protect your environment.

Let me know what you think. Leave me a comment below.

tk

A good week for Virtualization and MOSSUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/28/2007 10:25 PMSharepoint; Tech Stuff0 
Have you been wanting to see all the gloriousness that is MOSS and WSS but held off because you didn't have hardware, or because the installation was fussy?  Well, fear no more.  Microsoft has just the thing for you.  They have a configured MOSS demo downloadable in the form of a virtual machine.  You can grab it here.  It's got everything: MOSS, Microsoft Office, Groove, Visual studio, everything!  All you need to do is download it and fire it up.  It will run on either Virtual Server 2005 or Virtual PC 2007.  Both of which are free downloads.  With everything being free, you have no excuse not to take it for a spin.
 
While you're downloading free Microsoft software, I have some other recommendations.  New to Virtual Server 2005 R2 SP1 is VHDMount.  VHDMount is a program that will let you load up a VHD file inside the host machine as a drive letter.  This is great for pulling files out of VHDs or just poking around in them.  But what if you're using Virtual PC?  Never fear, Ben Armstrong has an entry on his blog that walks through installing VHDMount on a machine with Virtual PC.  You can read it here.  While you're there, you might as well read his post on how to enable mounting VHDs by doubleclicking on them.  Very handy.  Thanks Ben.
 
That's all for now.  I'm working on some SQL based posts.  Many of us SharePoint admins were reluctantly shoved into the role of DBA as well.  I hope to make some of that a little less scary.  If you have any SQL specific things you'd like me to add, leave me a comment.
 
Take care,
tk
Book Review: SharePoint 2007 UnleashedUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt6/23/2007 3:01 PMSharepoint0 
Now that SharePoint has been out for a few months the books about it are really starting to roll out.  For the next few weeks I'm going to be posting reviews on the books I've gotten my hands on here.  Hopefully it'll help some of you trying to decide which books to add to your library.
 
The first book I'll be reviewing is SharePoint 2007 Unleashed from Sams.  It's is a great reference for SharePoint administrators. I found it to have a great balance of high level planning information as well as detailed information that can be used as a reference once you've got SharePoint installed. What I liked best about this book was the breadth of subjects it covered. Noel and Spence aren't just experts on SharePoint, but other disciples. And it shows. This book covers not only how to get the most out of SharePoint, but how to use SharePoint with Exchange, MOM, ISA, OCS, the Office clients and more. The icing on the cake is the backup and recovery chapter. It includes a great script that can be used in small installations to use STSADM to back up all the Site Colletions in the farm. Very nice.

As a SharePoint administrator and SharePoint MVP I highly recommend this book.
 
You can find it here on Amazon.
 
Enjoy,
tk
TechEd 2007 in OrlandoUse SHIFT+ENTER to open the menu (new window).
Todd O. Klindt5/23/2007 1:15 PMSharepoint; Tech Stuff1 
TechEd is in Orlando this year and I'll be going.  I'm moderating a Birds of a Feather session Thursday at noon and presenting a session on STSADM Friday morning at 10:45.  I recommend you go to both and give me good survey scores.  :)  Many other MVPs are presenting sessions as well, so please check them out.  When we're not spreading the love or attending other sessions we'll probably be hanging out at the Technical Learning Center.  Be sure to stop by and say hello.
 
tk
1 - 100 Next