Getting WebDAV to work for Windows Network Providers against SharePoint 2007

The picture is not entirely complete here, but I made a lot of progress with this as an open (now closed) troubleshooting ticket with Microsoft.

The short summary is that using a Microsoft whitepaper (linked to below), I could get Windows XP SP2 workstations to work properly opening an Explorer View to a SharePoint 2007 farm’s document library, I had a bunch of other problems to surmount when trying to get a Windows Server 2003 SP2 system to do the same. The rest of this post is about other methods for troubleshooting and fixing the situation.

Continue reading Getting WebDAV to work for Windows Network Providers against SharePoint 2007

Coupla Things – PowerShell and MD5 sums for MS’s MOSS 2007 VPC files

1) PowerShell

If you are involved in Systems Maintenance and the systems are Windows-based (pref. OS: Windows Server 2003+), you owe it to yourself to check out Microsoft Windows PowerShell. This is a .NET 2.0 shell, yes, but architected from the ground up to enable automation, and it enables all sorts of WMI-interfaces and reflection and so on. Very neat stuff. Go look, go play, go have fun. It’s free, as long as you don’t mind installing .NET 2.0. Also, if you like what you can do at the command line, but are more comfortable with GUI, check out the free project/software PowerGUI, which uses PowerShell’s objects’ reflection to provide a very flexible, extensible PowerShell GUI. You can even easily extend the interface with plugins and tied actions (written in PowerShell) and can easily share those with the import/export functionality.

2) Microsoft’s Office SharePoint Server 2007 VHD

I have finally made time to download this thing (over a couple of hours). It comes in 6 rar parts of 700 MB (the last part is more like 516 MB). I have said before that MS is great at providing downloads and crap at providing things that UNIXers and Crypto nuts have provided for years: Checksums. Why are these helpful? a) You can tell whether anyone’s fiddled with the bits since the original provider uploaded them or b) You can tell whether the bits you were intended to download are the ones you got. This kind of thing is helpful in determining, as in this case, whether you need to re-download the whole 6 part 2 hour festival or just one part. I have downloaded the parts. I am about to uncompress them, and when I do, if successful, I will post the checksums here for each part:

WIN03_MOSS_V1.part01.exe – Size: 734,003,200 bytes – MD5 Sum: 68b5470c605320228f588abe13af4e62
WIN03_MOSS_V1.part02.rar – Size: 734,003,200 bytes – MD5 Sum: 5a309da7ab473921a808298ff293b7fe
WIN03_MOSS_V1.part03.rar – Size: 734,003,200 bytes – MD5 Sum: ddd98c59425b704c37fc43bacacdc418
WIN03_MOSS_V1.part04.rar – Size: 734,003,200 bytes – MD5 Sum: 5549c847e02481ff3eebab2a43f9df3e
WIN03_MOSS_V1.part05.rar – Size: 734,003,200 bytes – MD5 Sum: e423cddc6064aa95624b398ecfeebcfb
WIN03_MOSS_V1.part06.rar – Size: 624,600,967 bytes – MD5 Sum: 64c0d290a32e8f445a3f8992d64198a0

Running the exe and answering the EULA in the affirmative yielded the following four files (unpacking took about 30 minutes on my 2.0 GHz non-hyper threaded Centrino with 2 GB of RAM):

Distributable VHD Image EULA.doc – 101,376 bytes – MD5 Sum: 9a5d93625bd1b42a9e7b65c7e52c8bea
ReadMe.htm – 37,435 bytes – MD5 Sum: 44196d20e67c174cd809734aa79eefe4
WIN03_MOSS.vhd – 10,968,818,688 bytes – MD5 Sum: 6ec5e3d177b1682c28815fd6a2f0e401
WIN03_MOSS.vmc – 14,516 bytes – MD5 Sum: c15ba5b037ceec9d1a4efdce44a99193

Now, these MD5 sums are only what I’m calculating on my end. I can’t guarantee to you that the files are not messed with. I can only tell you that it’s a reasonable certainty that if your MD5 sums match mine, you and I are looking at the same sets of files.

Anyhow, with all that, the files seem to be working properly with Virtual Server (though I must admit I’m new to Virtual Server 2005).

A good MD5 summing utility for Windows GUI (that lets you set a Send To target) is Nullriver’s winmd5sum. It takes a lot less time to sum a small file than a big one. The 10 GB vhd took about 5 minutes.

Alternate Access Mapping 2007 Research Links

We must migrated from 2003 to 2007 this past weekend (Friday, actually), and now the mapping is causing problems for our MAC users, who can’t use UNC hostnames, but have to use full hostnames.

So I’m doing some background research on the issue.

Links:
– http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=521109&SiteID=17
– http://technet2.microsoft.com/Office/en-us/library/be9d31d2-b9cb-4442-bfc6-2adcdbff8fae1033.mspx
– http://blogs.officezealot.com/mauro/archive/2007/03/02/20178.aspx
– http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/MS-SharePoint/Q_22117646.html
– http://msdn2.microsoft.com/en-us/library/ms771995.aspx
– http://groups.google.com/group/microsoft.public.sharepoint.windowsservices/browse_thread/thread/580e9a2b981c0319/acdd966b3ce3ada8?lnk=raot
– http://blogs.msdn.com/sharepoint/archive/2007/03/06/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-1.aspx
– http://blogs.msdn.com/sharepoint/archive/2007/03/19/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-2-of-3.aspx
– http://blogs.msdn.com/sharepoint/archive/2007/04/18/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-3-of-3.aspx
– http://support.microsoft.com/kb/913113
– http://mindsharpblogs.com/Driskell/archive/2007/05/15/1769.aspx
– http://www.codeplex.com/SLK/Thread/View.aspx?ThreadId=9590
– http://blog.henryong.com/2007/01/17/alternate-access-mapping-in-sharepoint/
– http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=18
– http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=39
– http://www.jjfblog.com/2006/12/how-to-change-server-name-post.html
– http://msmvps.com/blogs/obts/archive/2007/03/27/717296.aspx

For 2003:
– http://office.microsoft.com/en-us/sharepointportaladmin/HA011603021033.aspx

Creating new My Site hosts for MOSS 2007

If you should happen to recreate your SSP or your MySite host in MOSS 2007, you may find that the wizard that helped you out the first time with properly configuring your MySites host may have flown the coop and you’re left at sea about how to proceed. I know I was.

On trying to create a new My Site (for a user that doesn’t already have one), typical error messages will tell you that Self-Service Site Creation is disabled, or that there was an error in creating your personal site. Both error messages will entreat you to contact your administrator.

Here’s the full scoop on creating a My Site host in MOSS 2007 by hand from the ground up (i.e. at Web application creation on up):

Prepare new web application to take up My Site host duties:

  1. Create a new web application (e.g. http://mossdev1:25000/)
  2. Inspect Managed Paths for the new web application. You should already have:
    1. (root) - Explicit inclusion
    2. sites - Wildcard inclusion
  3. Delete managed paths:
    1. sites - Wildcard inclusion
  4. Create managed paths:
    1. personal - Wildcard inclusion
    2. mysite - Explicit inclusion
  5. End state for managed paths should be:
    1. (root) - Explicit inclusion (thanks to imsaurabh for catching this!)
    2. personal - Wildcard inclusion
    3. mysite - Explicit inclusion
  6. Create a site collection at /mysite/ managed path. This will use a My Site Host template:
    1. Choose correct web application (e.g. http://mossdev1:25000/)
    2. Title: My Site Host (doesn’t matter, really)
    3. URL: http://mossdev1:25000/mysite (no fill-in because path is explicit in managed paths)
    4. Template: Enterprise (tab) -> My Site Host
    5. Specify primary and secondary administrators.
    6. Click OK.
  7. Create a blank site collection at the / managed path to enable self-service site creation:
    1. Choose correct web application (e.g. http://mossdev1:25000/)
    2. Title: Blank site (doesn’t matter, really)
    3. URL: http://mossdev1:25000/ (no fill-in because path is explicit in managed paths)
    4. Template: Collaboration (tab) -> Blank Site
    5. Specify primary and secondary administrators.
    6. Click OK.
  8. Enable Self-Service Management. Choose from Application Management -> Application Security.

Now that you’ve created the host, here’s how to make sure it works properly in the SSP’s My Site Settings:

  1. Navigate to My Site Settings (go to your SSP’s admin pages, it’s the 3rd link in the 1st section).
    1. For form’s sake, inspect the Preferred Search Center entry. This URL should end in /SearchCenter/Pages/.
    2. Set Personal Site Services to http://mossdev1:25000/mysite/. Note that this points to the URL for the explicit inclusion path and My Site Host Template site collection you created above.
    3. Set Personal site Location into just personal. Note that this points to the URL (after SharePoint puts context to it) for the Wildcard inclusion managed path you created above.
    4. Choose the 2nd Site Naming Format: User name (resolve conflicts by using domain_username).
    5. Enable Allow user to choose the language of their personal site.
    6. Disable My Site to support global deployments.
    7. Default Reader Site Group: NT AUTHORITY\authenticated users.

Now try to navigate to your MySite link and you should be golden. Creation should go just fine.

Good luck!

Links

I’m doing research today to answer multiple questions.

Questions:

  1. I recreated my MOSS 2007 SSP a while back and now MySite creations aren’t working for anyone. It’s not working exactly like the discussion at Technet Forums. Still researching this one.
  2. On a related note, I need to nail down exactly how to create personalized MySite services scoped to a particular web application on the MOSS 2007 farm. No articles yet.
  3. How do we federate/rollup content (if possible, what’s best practice?) from multiple sites? Client has security policies that require internet/extranet servers/farms be separate from intranet servers/farms, but they also have a requirement (it’s thankfully more of a “nice to have”, since even they are not sure it’s possible) to make it so that a single user doesn’t have to go to multiple sites to see all of their content, especially their personalized content. I’m aware that this is possible in many ways in SharePoint, but not sure if any implementation is ideal. The first really helpful link I’ve found along these lines of thinking is Joel Oleson’s blog entry about managing Global and Multifarm deployments. Another good one from Mr. Oleson. I’m reading it right now.
  4. I have to do some research on the best ways to integrate outside LDAP, AD and custom-schema organizational directories for user information into MOSS 2007. No links there yet.
  5. I need to get on the stick and do Workflows in VS 2005 against WSS 3.0/MOSS 2007. I did try SharePoint Designer for my needs and while it does address most of them, one thing I couldn’t figure out how to do was to make a workflow that publishes documents across sites (up, down, sideways, between sites, subsites and unrelated sites). All I could figure out how to do was publish from one document library to another in the same site. There are other options:
    1. Major/Minor versions in Document Libraries: Probably the most elegant of the solutions, since it’s already built-in to SharePoint 2007, the major down-side is that this may be too complicated a new feature for users to learn given that check in/check out is already foreign to them (unless they’re developers). I know the pat answer is learn, but honestly that doesn’t cut any ice with client-focused business analysts. They have a point. The “learn” answer just offloads the effort on another group: either training or support. Not everyone is as technically focused as implementors are. Not everyone wants to learn a new feature every version upgrade just to do their jobs right.
    2. The Send-To->Other Location option on document libraries’ documents works just fine with Firefox 2.0 but barfs completely with IE7. See my discussion of it on the Microsoft Newsgroups (I think you’ll need a passport identity – alternate link via Google Groups) for more information. It’s possible I’ll call MS support about this, but only if the client says it’s critical path and means it. It’s too risky to burn a support call on a bug. I wish MS really provided other meaningful ways of reporting bugs.
  6. I also need to find out whether the helpful Weather and other free, useful, fuzzy good feelings web parts exist any more, like they do in SPS 2003. Weather’s a big request these days. If they’re a download/install I need to do that. No research here yet either.
  7. Finally, I asserted to a friend/co-worker a few days ago that from a programmer’s perspective, I can’t see why Perfmon would, as his manager asserted, bring a server to its knees. Given that in the programming I’ve done that does create Perfmon counter objects, I never check to see if any monitors are running, I just throw the stats over the wall for the OS to do with it as it will. The guy’s job would be made so much simpler if his manager relaxed about this, and I simply don’t have the resources myself to do the exhaustive system profiling and performance monitoring this might take to convince anyone. So maybe someone else has. No research here yet.

So what do you think? Do I have enough to do?

Deleting an unwanted file or set of files completely from your Subversion repository

This is not designed to be easy to do, since Subversion is a source control repository, but it’s possible.

We had a large file added to our repository by a new guy, who will not since do such a thing again, and it’s not a big deal except that we do backups every day, and we’d rather just keep the damned thing out of the backups and out of permanent or volatile storage in general.

Here’s the general writeup of the process for dumping, filtering out unwanted files, and reloading your repository.

In our specific case:
Assumptions:

  • You are doing this on a DOS system (which is why I’m blogging it)
  • You have required privs on the Subversion server (probably admin-level, or at least read/write privs in the filesystem)
  • Your Subversion server is running (check your Services for SVNService running)
  • Repository exists at C:\Subversion_Repos\SPS
  • You have a temp directory somewhere where you have lots of room to put your various versions of the Repository Dump (in our case, C:\Temp\Subversion_Rebuild\)
  • Our Subversion repository is called svn://localhost/sps/
  • Your offending file is at path /SPS/bad_file.txt in the repository

Process:

  1. Dump your whole repository to your temporary working area: svnadmin dump "C:\Subversion_Repos\SPS" > "C:\Temp\Subversion_Rebuild\dump_for_filter_operation"
  2. Get spammed a line per revision in your repository. (i.e. * Dumped revision 0., * Dumped revision 1., etc.)
  3. Use svndumpfilter to filter your bad file out of your dump and into a truncated dump file: type "C:\Temp\Subversion_Rebuild\dump_for_filter_operation" | svndumpfilter exclude "/SPS/bad_file.txt" > "C:\Temp\Subversion_Rebuild\filtered_dump_file" (Note: UNIX’s cat is DOS’s type)
  4. Create a new repository (if you’re feeling daring, just delete the old one, but for my money, I’d probably do a hot backup of the old one just because and archive both the recent dump and the hot backup somewhere else for safekeeping until I was sure the new filtered copy worked): svnadmin create "C:\Subversion_Repos\SPS2"
  5. Load filtered dump file into the new repository: svnadmin load "C:\Subversion_Repos\SPS2" < "C:\Temp\Subversion_Rebuild\filtered_dump_file"
  6. Get spammed by load operation
  7. Test your Subversion repository and make sure it's working

You should be done!

Oy! – Inaccuracy in order of steps in a MS support document screws up the process

This almost sucked. Hard.

The Microsoft Technet article I linked to previously about moving the WSS Content Database in WSS 2003 is pretty good! Except for the last section, under Moving the Datases, subsection “Set the content database in Windows SharePoint Services”.

Unfortunately, the article says you should, for each Virtual Server, remove/disconnect each content database, THEN add the new content database. This is ass-backwards, and SharePoint (SP2, at least) won’t let you do it. It will only work if you add the new content database first and THEN remove the old database.

I thought my goose was cooked until we tried that, then we were okay.

In my dream world, Microsoft and all other vendors will actually QA their documentation as thoroughly as they say the QA their code.

Miscellaneous research points from this morning

Web Part Installs on SharePoint 2003 in environments where you don’t control the Database

In a continuing series of mishaps involved with a very abstracted permissions environment where one group controls all admin rights on the server, except for the group that controls all admin rights on the Database, I discovered today that if you need to install a Web Part in SharePoint 2003, you need to do it on the Web Server(s) in question while running in the context of an account that has proper permissions (I assume at least DB Creator & Security Admin if not also System Admin) within the SQL Server where your Configuration Database lives.

What we were seeing was that the Office Web Parts installer and two MSIs for custom web parts ran. The Office Web Parts installer reported that it had installed correctly. On the other hand, the MSIs reported an install error and referred to the log which was essentially empty. (MSI Web Part Packager installer logs go in C:\Documents and Settings\\Local Settings\Temp\wppackager.log.) Some 3rd party manufacturers of Web Parts do support this issue (in comparison to Microsoft, who don’t seem to report this issue in any KB article), and suggest using stsadm to install instead.

We then tried using stsadm.exe to install (some Microsoft third party web part vendors report the unhelpful MSI install failure message, even though Microsoft doesn’t) the MSI packages, and instead got the familiar Configuration Database connectivity error that refers to KB 823287:

Cannot connect to the configuration database. For tips on troubleshooting this error, search for article 823287 in the Microsoft Knowledge Base at http://support.microsoft.com.

Here’s a link I found very helpful to help explain/troubleshoot the issue.

Unfortunately, at this client, I will now need to punt to a policy question about how to approach the install next, but hopefully in your situation you’ll be able to just use an account with the right permissions to do the install.