ADMINISTRATION


SECTIONS

LOADING SOURCE SAFE IN ADMINISTRATIVE MODE

Source Safe can be loaded in one of two ways: in client or administrative mode. This page only discusses loading and using Source Safe in administrative mode; for information about using it in client mode please see the BasicUse page.

To load Source Safe in administrative mode, run the execuable "Ssadmin.exe" located in the "Vss/win32/" subdirectory off of our NT group directory. I recommend creating a shortcut in the start menu of your profile for convenience. You should not ever need to run this program enough to merit a desktop shortcut.

After running the executable, you will be prompted for a password:

Type in the password and select "OK". The main Source Safe administrator will then appear:

This window shows the list of users who are able to run Source Safe in client mode and access our project, the type of access they have to the project, and whether or not they are currently online and running Source Safe in client mode. It also indicates "Project Security: On" in the bottom center of the window; Source Safe security will be discussed later.

GRANTING AND REMOVING USER ACCESS TO THE PROJECT

From the "Users" pull-down menu we can grant or remove user access to the project. Though it is not discussed here, you can also modify the access rights for a given user by selecting "Edit User". The final option, "Change Password" will be discussed later.

To grant a user access to our project, select "Add User". You will then see the following:

Type in the user's NT username and DO NOT FILL IN THE PASSWORD BOX; we have set up Source Safe to use our NT usernames as our Source Safe login names (these don't have to be the same) for convenience. After all, since we already have to type in our user name just to log on to a computer, having additional password protection is unnecessary. Note: if someone tries to run Source Safe in client mode without being on the user list, they will receive a user and password prompt. The main client window will never come up unless they can enter the name of a user on the list and the password that user uses to log on in the NT labs.

By default, the user's access to the project is read and write. If you want the user's access to be read only, select the "Read only" box in the bottom of the window.

To remove a user's access ot the project, highlight the user's name in the main window, and then from the "Users" pull-down menu select select "Delete User". You will then be prompted for confirmation:

Selecting "Yes" will confirm that you want to remove the select user. The given name will no longer be listed in the main window as having access to the project.

CHANGING THE ADMINISTRATIVE PASSWORD

To change the password you type to start up Source Safe in administrative mode, select the user "Admin" (a hardcoded username) and from the "Users" pull-down menu select "Change Password". The following window will then appear:

This is pretty self-explanatory. You could also use the "Change Password" option on a different username, but as stated earlier, we will not be using Source Safe passwords for users.

SETTING SOURCE SAFE TO RECOGNIZE THE PROJECT AS A WEBSITE

Source Safe in client mode offers some cool web features for a project once it has been designated as a website in adminstrative mode. In order to do this, from the main window, select "Options" from the select the "Tools" pull-down menu:

From the list of index card tabs at the top of the window select "Web Projects":

The windows should be filled in as you see above. The "This project represents a Web Site:" should be filled in with the name of our project: "DDOR". The "URL:" should be filled in with the root URL of our website: "http://www.cs.washington.edu/education./courses/370/Generic". The "Virtual Root" option I basically couldn't find any explanation of in the online help except to say that we don't need to specify anything here. "Site map filename:" should be filled in with the name of the file we want to be generated when we use Source Safe to automatically generate a site map for our site: "SiteMap.html". "Deployment path:" I've filled in with "ftp://DEPLOYMENT_CURRENTLY_DISABLED" because as I explain elsewhere, deployment is currently buggy and setting this ftp address reminds people not to use this "feature" of Source Safe. IMPORTANT: IF SOURCE SAFE'S "DEPLOY" EVER BECOMES USABLE, GO AHEAD AND SPECIFY THE FTP ADDRESS BUT DO NOT SPECIFY YOUR USERNAME AND PASSWORD. This information is completely insecure: 1) the user sees it whenever he goes to deploy files, 2) it is saved in "vss/srcsafe.ini" which anyone can view, and 3) anyone who runs Source Safe in administrative mode can see the password.

Next select the "Web" tab which is one to the right of "Web Projects". In this tab you need to specify that the default filename for our pages is "index.html". The reason for this is that whenever we link to a page named "index.html" in subdirectory "XX", our link target is "XX/" not "XX/index.html" by convention, making use of the "index.html" browser autoload convention. The only problem with this is that when we use Source Safe in client mode to verify our links, a link to "XX/" confuses it since it doesn't understand links to directories. But, by setting our default filename here to be "index.html", whenver Source Safe is checking our links and encounters a link ending in "XX/" it will interpret this to mean "XX/index.html", which is the correct interpretation, and Source Safe will then accurately verify all of our links.

IMPORTANT: WHENEVER YOU MAKE ANY CHANGE TO THE ADMINISTRATIVE OPTIONS SETTINGS YOU MUST AGAIN SET THE DEFAULT FILENAME TO "index.html". Source Safe seems to have a nasty habit of erasing this information whenever you make any change to the options settings.

This is all that must be done to designate a project as a website and make website features of Source Safe's client mode accessible to users.

SETTING UP PROJECT SECURITY

When I originally added users to the user list, you saw I could give them either read/write or read-only access; the truth is that Source Safe offers several other different security levels. The only reason I have enabled this additional security is to make sure no one destroys files permanently when they delete them, which I speak about elsewhere.

To enable Project Security, select "Options" in the "Tools" pull-down menu and then select the appropriate tab:

Note I have selected "Enable project security" and disabled the "Destroy" option in the "Default user rights" for reasons discussed above.

Select "OK" and then select "Rights by project" in the "Tools" pull-down menu:

The following window will then appear:

Highlight the uppermost folder, "$/" (this name is hardcoded in SourceSafe) to make your changes (changes will recurse subfolders). Note I have enabled "Destroy" privileges for Gaetano and left them disabled for all of the rest of us. Finally, note that the user "Guest" has been given read-only privilegs.

NOTE: DISABLING A USER'S DESTROY PRIVILEGS DOES NOT PREVENT HIM FROM DEPLOYING THE WEBSITE TO THE SERVER AS THE MANUAL SAYS IT DOES, so don't count on this.

CURRENT OPTIONS SETTINGS

This sections describes the other tab option settings besides those discussed above.

The "General" tab is shown below. In this tab we have not checked "Allow multiple checkouts" since we only want one user at a time to be able to check out a particular file. We have checked "Use network name for automatic user log in" so that Source Safe knows its userlist are all user names used to log onto NT. I don't know what "Database name:" is for, but we shouldn't need to specify it. "Expand keywords in files of type:" is used to enable keyword expansion, which is discussed in a different page. We're not keeping a log of all Source Safe activity, so "Log all action in a journal file:" has been left unspecified.

The "Shadow Folders" tab is used to specify one or more shadow folders for a given project. Normally Source Safe only maintains database representations of the files under source control, but you can also specify one or more directories in which you want to Source Safe maintain up-to-date copies of all the actual files. The files in this "shadow folder" are not intended to be editted, but only to be read. For now we have no need of this feature, but if we were to get an NT server for the website, we would likely use a shadow folder in place of the Unix server; it would contain the files that were read when people used a browser to look at our site. See Source Safe's online help for more information about shadow folders.

Finally, the "File Types" tab specifies the file masks the user will see when adding files to the project in client mode. Initially I've created HTML and image masks, but eventually we might want to add a java mask, though in truth, I, personally, have not found masks necessary since we keep the number of files in any one directory pretty small.

And that's all of the options tabs.

COMMON MISTAKES