
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?
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.
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.
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?
What did you think of this article? Send a letter to the editor.