WSS/MOSS Running on Vista

The good folks from Bamboo Solutions (these guys make tons of webparts, check them out) have made a setup bootstrapper called WssVista for WSS 3.0 / MOSS 2007 SP1 that enables it to be installed on Windows Vista SP1. You can download it here.

Yes, you are reading well….SharePoint running on Vista. I still can’t believe it…

image

The tool bypasses the built-in setup condition that prompts for a server operating system, thus enabling the SharePoint files to be unpacked to your client machine. Later, the familiar sequence of Setup, Configure SharePoint Tools and Technologies, Central Administration, IISRESET, rinse, repeat…

The IIS 7 that ships with Vista Service Pack 1 is virtually identical to the one that comes in Windows Server 2008, albeit with minor performance downgrades. Toss in the SQL Server 2005 installation on your Vista, and you have the environment for SharePoint "Developer" Edition, hacked provided by Bamboo Solutions.

Of course, it’s TOTALLY UNSUPPORTED by Microsoft and it seems that it will be unsupported forever for a long time. So, install it only for testing purposes and not in a production environment.

More information

Bamboo Solutions Walkthrough for WssVista Tool
http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/05/21/how-to-install-windows-sharepoint-services-3-0-sp1-on-vista-x64-x86.aspx

Microsoft semiofficial statement about SharePoint on Vista
http://blogs.msdn.com/cjohnson/archive/2008/05/23/wssv3-on-vista.aspx

“Unexpected Error occurred” when accessing Network Connection Properties

Following on the weird Windows XP network errors, such as the mysterious connecting to 1.0.0.0 site, I experienced another unexplained behaviour.

SYMPTOMS

"Unexpected error occurred." when trying to access Properties of a network connection in Windows XP

CAUSE

The corrupted Registry entries for the DLLs that manage network properties.

WORKAROUND

Re-register the DLLs into the Registry.

  1. Open a new command prompt (CMD).
  2. Type Regsvr32 %SystemRoot%System32netshell.dll
  3. Press OK.
  4. Type Regsvr32 %SystemRoot%System32ole32.dll
  5. Press OK.
  6. Reboot your machine

User Profile Sharepoint Designer Activities 0.2.0

UPDATED 04/07/2012: I had issues with SkyDrive and lost the files but the WSP file has been retrieved by one of the previous downloaders. The link is fixed.
UPDATED 28/08/2008: I released an updated version (0.2.0) that solves a previous bug when choosing the action in SharePoint Designer didn’t add the action to the workflow actions list. Please download the new version if you need to use these activities. The installation instructions have also been revised.
UPDATED 07/07/2008: I finally corrected the issue with the feature activation and web.config modifications. The files for download are updated.
I finally decided to post some useful code for the SharePoint community. I present you the “User Profile related SharePoint Designer Activities“. It’s a solution package (.WSP file) that contains four SPD actions (workflow activities) for the SharePoint Designer workflows. This package is only for MOSS 2007 installations. It will not work on WSS 3.0 machines. (I’m preparing a similar package for WSS).
The available actions are:

  • Get user title – use it to get the user job title, when you need to route the workflow to different people depending on the originating user, for example.
  • Find manager of the user – it retrieves the Manager property of the specified user profile. The most frequent use of this action would be to set an approval task for the manager of the user.
  • Find display name of the user – it resolves the user display name instead of DOMAINusername, useful if you combine text in task descriptions or in emails.
  • Find department of the user – use it to route workflows depending on the originating user deparment or to check that the workflow can only be initiated by a specific department, for instance.

image

HOW TO GET IT

You can download the WSP file here: https://skydrive.live.com/redir?resid=27D6A3274BDD6131!1496

HOW TO INSTALL

The WSP package is easy to install:

  • Copy the EdinKapic.SharePoint.WorkflowActions.wsp file to a folder of your choice
  • Open a command prompt (CMD) with path access to the STSADM tool
  • stsadm -o addsolution -filename EdinKapic.SharePoint.WorkflowActions.wsp
  • stsadm -o deploysolution -name EdinKapic.SharePoint.WorkflowActions.wsp -allowgacdeployment –immediate -allcontenturls
  • If the solution package fails when it tries to register itself in web.config,  you will have to manually add this line to your SharePoint web.config, under the System.Workflow.ComponentModel.WorkflowCompiler / authorizedTypes tag:

<authorizedType Assembly=”EdinKapic.SharePoint.Workflow, Version=0.2.0.0, Culture=neutral, PublicKeyToken=968b39d77135aa09″ Namespace=”EdinKapic.SharePoint.Workflow” TypeName=”*” Authorized=”True” />

  • Do not forget to activate the feature “User Profile SharePoint Designer Activities 0.2.0” in SharePoint Central Administration site, under Applications/Web Application Features

HOW TO FEEDBACK

I’d appreciate any comments about these actions/activities. Feel free to use the comments feature of this post.

The Legal Mumbo-Jumbo

I release this code under the Ms-PL (Microsoft Public Licence).

VMWare “Unable to save snapshot file”

I often try things on my SharePoint virtual machine that I keep on my laptop, hosted in VMWare Server environment. A few months ago suddenly it became impossible to suspend the machine, because every time I tried to do so, the following error message appeared:

Error taking snapshot: Unable to save snapshot in <Path>. Please verify that the directory exists and you have write permissions. Failed to suspend the virtual machine.

I thought it was caused by the insufficient permissions for the virtual machine folder. I tried to add my user as the owner of the folder but it didn’t solve the problem. Browsing on the VMWare forums, I found the solution here.

WORKAROUND

  • Ensure that your Virtual Machine is shut down
  • Check in the VM properties the folder where the snapshot files are stored (the Working Directory)

image

  • Make a subfolder inside that folder (for example, Snapshots)
  • Set the working directory of the VM to that subfolder

That’s it. It seems that cloning the VM from an existing VM sometimes has the unpleasant consequence of losing track of the working folder, even if it’s displayed correctly.

How to Boost the Volume in Windows Media Player

I’m disappointed about how my stylish Sony VAIO built-in speakers sound so weak compared to my older HP laptop equipped with sleek Altec-Lansing built-in speakers. I used to get my neighbours to complaint when I was listening music, and now sometimes I can barely hear the movie dialogue, even in silence. Not to mention if I try to watch the movie in a crowded train, with headphones.

First I tried a Media Player add-on called DFX, but it’s volume booster was unnoticeable, although its modulating enhancers were good enough.

There’s a out-of-the-box option to boost the volume, too:

  • Right-click the WMP toolbar to show the menu
  • Choose View / Enhancements / Graphic Equalizer

image

  • Turn on, if turned off
  • Move all the sliders to the top

image

This will give you somewhat higher volume, but in some cases it may be too distorted to be usable. Works ok for me, most of the time.

Office 2007 SP2 and SharePoint: ODF Friendly

Microsoft announced on May 21st that the new Service Pack for Office 2007 (SP2) will add native support for ODF and PDF files. Yes, that means opening and saving Open Document files (ODT for documents, ODS for spreadsheets, ODP for presentations), together with Microsoft-backed Open XML file format.

The official SharePoint blog quickly commented on the issue, too. Nice screenshot 😉

I think that this will mean, for SharePoint of course, a fully Microsoft-supported ODF and PDF IFilter, and maybe (although it’s a long shot) a DHTML viewer (à la Excel Services). Maybe not for the SharePoint 2007 SP2 but in time for SharePoint 2009. Who knows?

Internet Explorer “Connecting to site 1.0.0.0” and Page Not Found Error

A really weird error happened on one of my older computers, running Windows XP SP2. I successfully established a Wireless connection with an external USB adapter. I opened Internet Explorer and typed a valid address, just to see this strange message in status bar of the browser:

Connecting to site 1.0.0.0…

followed by the infamous Page Not Found screen.

I double-checked Internet Settings Connection tab in IE, I flushed the DNS caché using ipconfig /flushdns command, I disabled IPv6 protocol for the network connections, I reset the adapters….and nothing helped.

Then, searching on Google, I found a deus-ex-machina workaround the solution:

  • Download WinSock XP Fix 1.2 (alias WinSockFix) from here
  • Unzip and run the tool
  • Reboot the PC

winsockxpfix

It worked for me, at least. This tool resets the WinSock (low-level network layer of Windows) configuration to default Windows settings. I suspect that a "rogue" application ruined those settings and was uninstalled without reverting to the original ones, provoking that IE couldn’t make a valid DNS lookup.

Where to Store those Large Files? A Tale of a BLOB

Few months ago I noticed that the WSS 3.0 introduced the notion of a external file storage provider to SharePoint world. Since then I kept myself updated about it, and I have mixed feelings for it.

The Rationale

If your SharePoint is mainly a glorified File Share, then this may be interesting to you. In essence, SharePoint saves the binary data for your files in SQL Server as BLOBs(Binary Large OBjects). So, it’s easy for the SQL Server database files to grow rapidly in size as you add more and more large binary files.

The Hope

If only we could say to SharePoint not to save that large files into the database but to a file server or a distributed file system…..then we could do as Documentum does, saving the metadata into a database and the binaries to the file system.

The Good News

Well, it’s possible. SharePoint allows us to create our own external binary large object (BLOB) store provider, or EBS Provider. We must inherit from ISPExternalBinaryProvider class and implement our own Save and Load procedures.

ebs_provider

This provider operates deeply in SharePoint infrastructure stack, low enough to be completely transparent to the content and the SharePoint object model.

The Bad News

Unfortunately, too many of them:

  • Currently it can only be configured at SPFarm level, which means that we use it for ALL the lists and libraries or NONE of them. A major screw-up issue that prevents it to be really useful in production.
  • Any updates will create new BLOBs instead of updating the old ones. Want to garbage-collect the old ones? Do it yourself!
  • The code runs outside .NET environment, but it a dreaded COM world. HRESULTs, hex errors, mysterious hangs…..the old friends are welcome again!
  • Microsoft says that SharePoint 2009/2010 might have another implementation of EBS Provider, possibly related to SQL Server 2008 transactional FILESTREAM storage system. No compatibility is assured nor suggested.
  • The performance will almost surely be crippled, compared to SQL Server database storage.

Still Want to Try?

You can find more information on MSDN SharePoint SDK: http://msdn.microsoft.com/en-us/library/bb802976.aspx