Internet Systems

Managing Change

By David Moss
Internet Systems, July 1997

Version-control tools to help you stay on top of your Web environment.


On the face of it, including source code software with your primary development toolset is not unexpected. In fact, failing to include it would raise eyebrows. PowerBuilder and many other client/server application development tools provide both built in-source code control and links to external third-party version control products. And yet the new generation of Web and Java development tools has yet to match this degree of maturation. Integration partnerships between version-control and Web application development tool vendors have so far been few and far between. This will probably change, but the fact that it has not happened yet en masse is surprising.

In some ways, controlling a slew of files stuffed full of say, C code, is almost trivial compared to what the average Web site throws at the developer. Sites can contain hundreds of files located in a directory tree structure that can be far more convoluted and complex than just about anything you are ever likely to see in any traditional programming environment. HTML brushes shoulders with Visual Basic Script, .gifs nuzzle up to JPEGs, Java Classes attempt to outstare ActiveX controls created in Visual Basic or Visual C++. CGI and Perl scripts trip the light fantastic. Then there are MIDI files and WAV files to consider. Is your site Shocked? If so, you have Macromedia Shockwave files to consider. How about some good old AVIs? Spot of streaming video, anyone?

Techniques

With so many files knocking around, regardless of whether this is a one-person site or a multinational corporation's external and internal Web sites, you need some method of controlling what's happening to these files. If they are worked on, you need to know about it. If they are modified, you need to both know about it and be able to roll back to the original versions if necessary. There are several ways of accomplishing this. Individual developers can keep their own files on their own systems and only hand them out when required. This may be a fine solution for security, but it is not useful when you need to see an overall view of how the site is constructed. You could consider creating a backup every time you make a modification, but unless you have a lot of disk space and a lot of time to spare, that isn't really feasible for a large site.

Until recently, version-control software had been designed with text files in mind. Version-control software manufacturers have finally woken up to the fact that the Web is an area in which they can work quite comfortably. New versions of version-control software are now available on the market.

The Players

For those with a strictly Microsoft shop, you'll have no problem integrating Microsoft Corp.'s (Redmond, Wash.) Visual SourceSafe version-control software into your environment. The product is tightly integrated with other popular Microsoft development tools, including Visual Basic, Visual J++, Visual C++, and Visual FoxPro. Aside from a user-friendly Visual SourceSafe Explorer GUI, it also offers hyperlink-checking and site-mapping facilities as well as a Web Deploy command that, once you've specified servers for your site, will send files to their respective servers.

Another major player is MKS Integrity from Mortice Kern Systems Inc. (MKS, Waterloo, Ontario, Canada). The MKS Integrity suite of products covers everything from application development (MKS Lex and Yacc) to the fully featured software configuration management tool MKS Source Integrity (Professional edition), with stops along the way including Web Integrity, a product aimed specifically at the Web site developer.

Aside from the Integrity suite's ability to handle a wide range of file types (including HTML, text, graphics, source code, library files, and spreadsheets), MKS Source Integrity software has been designed to integrate with the security features of Novell Inc.'s NetWare. In addition, MKS is a Netscape Alliance development partner, which means that the MKS Integrity engine has been bundled with Netscape Communication Corp.'s Enterprise server, providing easy control over the large amount of documents that make up the average Web site.

Another version-control product is Versions 2.0 from StarBase Corp. (Irvine, Calif.). This product is aimed at individuals and local teams of developers and provides more than just version control. It also gives developers audit logs, archive compression, easy-to-operate security mechanisms, and a window that enables you to see at a glance the differences between two files.

StarBase also supplies the team-oriented StarTeam Workstation, an entire environment that provides all the items that Versions does, as well as build management, defect tracking, and process management. There are also Topics for threaded conversations between team members that can be associated with projects, subprojects, or even individual files. Bring in optional components such as StarTeam Server and StarTeam WebConnect, and your development teams will be able to use items such as a Web browser, remote dial-up, WAN, and Internet access to access development projects and their associated files, regardless of where they are located.

Naturally, Intersolv Inc. (Rockville, Md.) cannot be left out. PVCS has been around since before the wheel, it would seem, and has now evolved into a comprehensive series of products that collectively come under the heading of Software Configuration Management (SCM). Aside from the obvious version-control software, one new tool recently introduced is PVCS Tracker for Web Teams. This product is solely designed to handle the influx of requests for changes to a Web site, which can flood in from many sources and in copious amounts. The software is designed to make sure that all of those requests are listed and then dealt with as required. It also integrates with other PVCS version-control products so it can list the files modified in order to implement the requested change.

More than anything else, it is the immediacy of Web site development that makes version control such a potential nightmare. This is very much a new challenge for both the developer and the version-control vendor, and add-ons such as the PVCS Tracker for Web Teams will become the norm rather than the exception as we all come to grips with this entirely new programming environment.

Tracking Corporate Culprits

The problem with Web development is that it hangs out in the wind for all to see, and there is nothing worse than having the CEO ask you why he can see the bold tags around his name but it doesn't appear in bold. The tendency to rush off and modify that piece of code straight away is understandable, but doing this without version control could result in quite unexpected results.

Rogue developers (or more likely, rogue managers leaning on their developers) within your company can be kept in check with version-control software. Security aspects should stop any changes from being published to the live site, but occasionally people still manage to circumvent those measures. At this juncture, you can always indicate that the audit log will point the finger firmly in the culprit's direction. If you are the webmaster of a site that uses complex features such as Microsoft's Active Server Pages and that has dynamic database data to handle as well, the idea of not using version-control software is laughable. If you are heading a team, it is not even a consideration. You must have version control, and you must train your team to use it all the time.

Version-control software has been around for some time now in the traditional programming arena and is now set to step quite firmly into the new territories. Take the time out to train yourself and/or your teams. It will be time and money well spent. Use it or lose it: In this case, use the software, or lose the work. It's not really that tough of a decision, is it?


David Moss is a computer consultant, software developer, and IT writer based in Sudbury, Suffolk, in the United Kingdom. You can email David at dmoss@gridleys.co.uk.
* Intersolv Inc., Rockville, MD; 800-547-4000, 301-838-5000, or fax 301-838-5064; www.intersolv.com. PVCS
* Microsoft Corp., Redmond, WA; 800-426-9400, 206-882-8080, or fax 206-935-7329; www.microsoft.com. Visual SourceSafe
* Mortice Kern Systems (MKS) Inc., Waterloo, Ontario, Canada; 800-265-2797, 519-884-2251, or fax 519-884-8861; www.mks.com. Integrity Suite
* StarBase Corp., Irvine, CA; 800-891-3262, 714-442-4400, or fax 714-442-4404; www.starbasecorp.com. Versions 2.0 and StarTeam Workstation

What did you think of this article? Send a letter to the editor.


Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
July 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated Wednesday, June 18, 1997.