Introducing Visual SourceSafe Web Explorer and Web Service

My good friend Omid has already written one available here https://blogs.msdn.com/obayani/archive/2003/06/11/8549.aspx, but it has some limitations and especially in terms of performance. If you want to index your SourceSafe database using SharePoint Portal Server 2003 for example (or any other valid web crawler), it may not work very well.

Here are the basic features of this one:

* based on ASP.Net IHttpHandler technology. Every file, project or version is accessible using a unique Url.
* get file or project information (including length and last write time)
* get file's history (versions)
* get file's content (as well as item's old versions content)
* a Web Service is also provided to get the same item or project information, history and content using SOAP

And here are the specific features:

* the web site running the handler can run as NT AUTHORITY\NETWORK_SERVICE (the default for W3WP.exe ASP.Net host process on Windows Server 2003), there is not need for a "real" account
* no write access to the VSS database needed
* no VSS account needed
* no working folder needed
* supports of client Browser's cache to minimize network usage

There is still no support for any write operations (checkout, checkin, ...) and nothing planned for this in the future. And there is not the cool .cs coloration feature either (Omid's one does it). Of course, the VSS client (6.0d please) needs to be installed on the IIS Server. The handler has been tested on Windows Server 2003 only.

If you use SharePoint Portal Server 2003 and you want to index your VSS database, you will need to tell the SPS search engine how to index .cs file (or .vb) for example. This is very simple. Just copy the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SPSSearch\ContentIndexCommon\Filters\Extension\.txt to a new registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SPSSearch\ContentIndexCommon\Filters\Extension\.cs (for .cs file). This way, .cs files will be indexed as plain text file, which is in general fine. If anyone is aware of a specific .cs IFilter that would skip C# keywords, please post a link here!

This is what a .reg file to register the .cs extension would contain:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SPSSearch\ContentIndexCommon\Filters\Extension\.cs]
@=hex(7):7b,00,41,00,33,00,37,00,33,00,45,00,35,00,44,00,39,00,2d,00,37,00,41,\
00,38,00,37,00,2d,00,31,00,31,00,44,00,33,00,2d,00,42,00,31,00,43,00,31,00,\
2d,00,30,00,30,00,43,00,30,00,34,00,46,00,36,00,38,00,31,00,35,00,35,00,43,\
00,7d,00,00,00,00,00,00,00

The Visual SourceSafe Web Explorer (and associated Web Service) is downloadable here https://www.codefluent.com/smourier/vsswe.htm. Just run the .exe or the .msi file, read the Readme.Rtf, and post a comment here if you are happy with it. Huh... do not post if it does not work :-)

PS: Oh, by the way, make sure you stop by the Visual SourceSafe team blog here https://blogs.msdn.com/checkitout/ where you will find VSS PowerToys.