FrontPage Source Control
Introduction
The normal method of using source control for Visual Studio is that once you have a project or solution that you want controlled, you go to File > Source Control > Add <solution/project/website> to Source Control. Then our VSS/TFS integration code takes over and you store your solution/project/web inside the source control database. Then someone else opens that solution/project/web from source control through the VS UI, and that copies down locally for you to work on and then eventually check back into the server. This method of source control is only supported for client projects and for file system and IIS web sites. FTP web sites can have no source control integration from within Visual Studio. FrontPage webs have their own versioning control system that integrates with Visual Studio, which is the subject of this document.
Basics on how it works:
The main difference between FrontPage source control and other typical source control is that FrontPage webs are controlled on the FrontPage server, and not by SourceSafe or TFS. So to “Add your FrontPage web to source control”, you actually go to the server, change a setting telling the server to version control your document, and then from then on when you open your web site from within Visual Studio, it will honor that locking and present you with the appropriate source control glyphs and verbs. FrontPage supports two types of version control:
· Built-in (a.k.a. Lightweight locking) – when this is set, once you have a file checked out, others are simply prohibited from checking out files. FrontPage will not allow it, so VS honors that and will not let you check out a file from within the IDE if it’s been checked out by someone else.
· External (a.k.a. VSS Back-end) – this has the same design as lightweight locking, only with one added feature: you hook up your FrontPage server to a SourceSafe database on the server so that every time you check in a file, it uses SourceSafe to check in that file in order to keep a version history of your web (in addition to unlocking the file for others to check out).
This means that some basic features of source control integration from within the IDE aren’t present. Multiple checkouts is not possible in this system—once you have a file checked out, no one else can check it out. Every time you check out a file, you get the latest version of that file. Your file reloads every time you make an edit to a checked in document and you click “Check Out”. The Get Latest Version verb does not exist, as you should always be working with the latest version. Also there is no concept of “Opening from source control”, as you are always working on the live server version.
How to setup a server to support this:
If you install FrontPage server extensions, it comes automatically with “Built-in” lightweight locking source control. However, to get the option for the VSS back-end, you have to have your server setup exactly right. Here are the things to setup before you will have the option:
1. Must have VSS installed on the server machine
2. A sample database created on the server from within SourceSafe so that the proper registry entry with the CurrentDatabase value has been written.
3. The users that plan on using the database must be users on the SourceSafe box as well. So if my user name is DOMAIN\joesmith, “joesmith” must be a user in the SourceSafe database. Likewise when you go to the server to add, the user you’re currently logged in as must be a user in the SourceSafe database.
4. For IIS7 running on Vista or LHS, the app pool that Microsoft SharePoint Administratioin site is running in (by default it is MSSharePointAppPool) must be set to use “No Managed Code” as .Net Framework Version.
Note that if you go through the steps on how to add your FrontPage web to version control and you do NOT see the option to add it to the VSS back-end type of control, you probably have not done one of the above steps correctly.
How to add versioning control to your FrontPage web site
Step one is always to create your FrontPage web on a server. The rest differs per operating system:
XP:
1. Open up inetmgr from Start > Run
2. Find the web site to which you wish to add version control as a virtual directory in the tree view
3. Get properties by right clicking and selecting properties
4. Switch to the Server Extensions control tab
5. Select the version control you prefer.
6. Change to the version control you want, making sure to input a VSS path (e.g. $/myWeb) if you want to choose the VSS back-end option
Win2k3:
1. Open up inetmgr from Start > Run
2. Find the web site to which you wish to add version control as a virtual directory in the tree view
3. Right click on the web and go to all tasks > recalculate web
4. Click the Recalculate button
5. Find the version control section of the web page that comes up
6. Change to the version control you want, making sure to input a VSS path (e.g. $/myWeb) if you want to choose the VSS back-end option
Vista:
1. Open up inetmgr
2. Find Microsoft SharePoint Administration site, and select it in the tree view
3. Right click on the site and go to Manage Web Site > Browse
4. Click the virtual server to which you wish to add version control (or Subwebs under it)
5. Find the version control section of the web page that comes up, click Configure Version Control
6. Change to the version control you want, making sure to input a VSS path (e.g. $/myWeb) if you want to choose the VSS back-end option
(note here you should see VSS appear as an option if you have set No Managed Code for the app pool, but if it does not even if you have done that, try add iis_usrs to VSS users)
Once you’ve added your web site to source control, you can refresh your web or you can close and re-open it, and VS should show the correct glyphs and verbs. Note that this is only supported when the source control plug-in is set to “None” or “Visual SourceSafe” in Tools > Options > Source Control.