GB2388212A - Improvements relating to software configuration management systems - Google Patents
Improvements relating to software configuration management systems Download PDFInfo
- Publication number
- GB2388212A GB2388212A GB0209688A GB0209688A GB2388212A GB 2388212 A GB2388212 A GB 2388212A GB 0209688 A GB0209688 A GB 0209688A GB 0209688 A GB0209688 A GB 0209688A GB 2388212 A GB2388212 A GB 2388212A
- Authority
- GB
- United Kingdom
- Prior art keywords
- scm
- vob
- ucm
- program product
- computer program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention provides a method of performing at least one software configuration management (SCM) operation using a computer system (1), comprising: logging into an operating system of the computer system (1), instructing the operating system to call a SCM computer program product, and providing information identifying the or each SCM operation to be performed to the SCM computer program product, wherein the SCM computer program product calls at least one SCM system and instructs the SCM system to perform the SCM operation. The SCM computer program product may call a Windows¹-based Rational¹ ClearCase¹ SCM system stored on the computer system running a Windows¹ operating system, and a UNIX¹-based Rational¹ ClearCase¹ SCM system stored on a server (6) running a UNIX¹ operating system. One or both of the SCM systems may be involved in carrying out the SCM operation. To call the UNIX¹-based SCM system, the SCM computer program product may instruct the computer system to log onto the server, for example via telnet.
Description
1 23882 12
IMPROVEMENTS RELATING TO SOFTWARE CONFIGURATION
MANAGEMENT SYSTEMS
This invention relates to software configuration management systems, and to providing 5 means to use such systems, for example, to perform software configuration management operations across different computer operating systems.
There are many circumstances in which software is used, for example, a process may be controlled by the use of software running on a computer system. Such software may, in lo the course of its use, require frequent modification by, for example, more than one user.
It is often desirable or even necessary to be able to at least keep track of the modifications made, and proprietary software configuration management (SCM) systems are provided for this purpose. One such system is the Rationale ClearCase SCM system. This provides the capability of numerous SCM operations, for example is storing and accessing multiple versions of electronic files, and keeping track of any modifications made to the files, when they were made, by whom and why. The electronic files may comprise, for example, source code, documentation, software tools or other types of data.
20 To use such SCM systems to carry out an SCM operation, it is often necessary to give the SCM system a series of commands. The commands can often be complex and require knowledge of multiple storage locations e.g. for files to be used in the SCM operation. This can make using the SCM system difficult and time-consuming. In addition, it may be desirable to be able to perform SCM operations across different
computer operating systems. For example, a first SCM system may be stored and run on a first operating system, but may need to access a second SCM system stored and run on a second, different operating system and perform one or more SCM operations with the second SCM system and, for example, data stored on the second operating system.
5 The present invention seeks to provide means to alleviate these difficulties.
According to a first aspect of the present invention there is provided a method of performing at least one software configuration management (SCM) operation using a computer system, comprising: lo logging into an operating system of the computer system, instructing the operating system to call a SCM computer program product, and providing information identifying the or each SCM operation to be performed to the SCM computer program product, wherein the SCM computer program product calls at least one SCM system and 5 instructs the SCM system to perform the SCM operation.
According to a second aspect of the present invention there is provided a computer system comprising: an operating system, and 20 means to access a SCM computer program product which product provides: means for calling at least one SCM system, and means for instructing the SCM system to perform one or more SCM operations.
According to a third aspect of the present invention there is provided a SCM computer program product loadable into the memory of a computer system comprising: software code portions for performing the method of the first aspect of the invention when the product is run on a computer system.
s According to a fourth aspect of the present invention there is provided a SCM computer program product stored on a computer usable medium comprising: computer readable program means for receiving and interpreting information identifying one or more SCM operations to be performed, lo computer readable program means for calling at least one SCM system, and computer readable program means for instructing the SCM system to perform the one or more SCM operations.
According to a fifth aspect of the present invention there is provided a computer system Is whose operation is directed by the SCM computer program product according to the third aspect of the invention or the fourth aspect of the invention.
According to a sixth aspect of the present invention there is provided a computer readable medium on which is stored a computer program of instructions for a computer 20 system, comprising: means for receiving and interpreting information identifying one or more SCM operations to be performed, means for calling at least one SCM system, and means for instructing the SCM system to perform the one or more SCM operations.
( According to a seventh aspect of the present invention there is provided a program storage device readable by a machine and encoding a program of instructions for executing the method according to the first aspect of the invention.
s By using the SCM computer program product, the commands/information required to be entered by a user to perform a SCM operation is much reduced. The SCM system is easier to use and the likelihood of errors occurring is reduced.
The computer system may comprise a stand-alone personal computer (PC), or a PC lo connected to one or more servers external thereto, or a terminal connected to one or more servers. The or each server may run the same operating system as the PC/terminal or a different operating system.
The operating system of the computer system may comprise a Windows NTbased 5 operating system. The operating system of the computer system may comprise a UNIX operating system.
Logging into the operating system of the computer system may comprise a user using an account of the operating system assigned to them. This may comprise providing the 20 operating system with a name assigned to the user account, and, preferably, a password assigned to the user account. The user account name and/or password may be entered after a command prompt of the operating system. Alternatively, a user account icon of a graphical user interface (GUI) operating system may be used, e.g. the icon may be
5 _ clicked on by the user to log into the operating system. The GUI operating system may ask the user for a user account name and/or password.
Instructing the operating system to call the SCM computer program product may s comprise providing the operating system with a name assigned to the SCM computer program product. This may comprise entering the name after a command prompt of the operating system. If the operating system comprises a GUI operating system, instructing the operating system to call the SCM computer program product may comprise clicking on an icon assigned to the SCM computer program product. The lo SCM computer program product may comprise an executable program file, and providing the name thereof may cause the operating system to execute the SCM computer program product. The SCM computer program product may comprise a program module of an executable file. Providing the name thereof may cause the operating system to access the executable file and use this to execute the SCM computer s program product.
Instructing the operating system to call the SCM computer program product may comprise using one or more scripts to call the SCM computer program product. The scripts may act as 'front-ends' for the SCM computer program product. Using a script 20 may comprise entering the name of the script after a command prompt of the operating system. If the operating system comprises a GUI operating system, using a script may comprise clicking on an icon assigned to the script. The or each script may comprise an executable program file, and using the script may involve the operating system executing the script. The or each script may comprise a program module of an
executable file. Using the script may involve the operating system accessing the executable file and using this to execute the script.
The or each script may be used in performing one or more than one SCM operation.
5 The or each script may comprise one or more commands used in performing one or more Man one SCM operation. The or each script may contain one or more commands used to call one or more subroutines of the SCM computer program product. For example, a script may be provided which may used in performing one or more file repository-related SCM operations. The file repository-related SCM operations may lo comprise creating one or more file repositories, removing one or more file repositories, locking or unlocking one or more file repositories, linking one or more file repositories to one or more administration file repositories, adding or removing one or more trigger scripts of one or more file repositories, mounting one or more file repositories for use.
When the at least one SCM system comprises a Rationale ClearCase SCM system, 5 the file repository-related SCM operations may comprise creating one or more standard or unified change management (UCM) or UCM project version object bases (VOBs), i.e. file repositories, removing one or more standard or UCM or UCM project VOBs, converting one or more standard VOBs to one or more UCM VOBs, linking one or more standard VOBs to one or more administration VOBs, adding or removing one or 20 more trigger scripts of one or more VOBs, mounting one or more standard or UCM or UCM project VOBs for use, creating one or more time-stamp preserving versions in one or more standard or UCM or UCM project VOBs, locking or unlocking one or more standard or UCM or UCM project VOBs, copying one or more VOB tags from one region of the operating system of the computer system or a server connected to the
computer system to another. A script may be provided which may be used in performing one or more view facility-related SCM operations. A view facility is a facility which may be used to view the contents of a file repository. The view facility-
related SCM operations may comprise creating one or more view facilities, removing 5 one or more view facilities, starting one or more view facilities for use. When the at least one SCM system comprises a Rationale) Clear Cased SCM system, the view facility-related SCM operations may comprise creating one or more standard or UCM views, creating one or more standard or UCM views having the same name as a user, removing one or more standard or UCM views, starting one or more standard or UCM lo views for use. A script may be provided which may be used to start all view facilities for a user, and start all view facilities and mount all file repositories for a group of users, e.g. an area or department, to which the user belongs. When the at least one SCM system comprises a Rationale ClearCase SCM system, a script may be provided which may be used in performing one or more UCM project-related SCM operations of 5 the Rationale ClearCase SCM system. The UCM project- related SCM operations may comprise creating one or more UCM projects, creating one or more development streams in one or more UCM projects, joining one or more UCM projects, leaving one or more UCM projects, removing one or more UCM projects. A script may be provided which may be used in a login procedure of the at least one SCM system, e.g. by calling 20 a login subroutine of the SCM computer program product. A script may be provided which may be used in an error procedure of the at least one SCM system, e.g. by calling an error subroutine of the SCM computer program product.
The or each script may contain or access information, e.g. one or more file location settings, required in performing one or more SCM operations. The or each script may ask a user to provide information required in performing one or more SCM operations.
Information required in performing one or more SCM operations may be entered by a 5 user after entry of the name of the script after a command prompt of the operating system. The or each script may pass information to the SCM computer program product which uses the information to instruct the at least one SCM system to perform one or more SCM operations. The or each script may provide a user with help in using the script. This may be in response to a request for help from the user. The help may lo comprise information conceding the SCM operations which may be performed using the script, information concerning the syntax required to use the script in performing one or more SCM operations, information concerning any parameters to be entered to use the script in performing one or more SCM operations, information concerning the format of the parameters, information concerning the running of the script, the is completion of the one or more SCM operations and any errors occurring in the use of the script. The scripts may be designed to run under a particular operating system, e.g. a Windows operating system. The invention provides one or more scripts, and a user may write one or more additional script as required.
So The information identifying the or each SCM operation to be performed may comprise a name associated with each SCM operation. One or more names may be provided to the SCM computer program product, e.g. by entering the name or names after a command prompt of the SCM computer program product, or on request of the SCM computer program product, if the product comprises an executable program file. Entering a name
associated with a SCM operation may prompt the SCM computer program product to run one or more subroutines which are used to instruct the at least one SCM system to perform the SCM operation.
s When one or more scripts are used in performing one or more SCM operations, this may comprise providing the or each script with information identifying the SCM operation or operations to be performed. The information may comprise a name associated with each SCM operation. One or more names may be provided to the or each script, e.g. by entering the name or names after a command prompt of the script, or on request of the lo script, or after the script name when this is used to call the SCM computer program product Entering a name associated with a SCM operation may prompt the script to call one or more subroutines of the SCM computer program product which are used to instruct the at least one SCM system to perform the SCM operation.
5 The SCM computer program product may be stored on the computer system, or on a external server connected to the computer system. The SCM computer program product may be designed to run under only the operating system of the computer system. The SCM computer program product may comprise one or more commands required to instruct the at least one SCM system to perform the one or more SCM operations. The 20 SCM computer program product may contain or access information required to instruct the at least one SCM system to perform the one or more SCM operations. The SCM computer program product may ask a user to provide information to be used to instruct the at least one SCM system. Infonnation to be used to instruct the at least one SCM
system may be entered by a user after the name assigned to the SCM computer program product is entered on a command prompt of the operating system.
The SCM computer program product may comprise one or more program subroutines, 5 the or each of which may be used to instruct the at least one SCM system to perform the one or more SCM operations. For example, the SCM computer program product may comprise a program subroutine which creates a file repository, or a program subroutine which checks whether or not a file repository already exists, or a program subroutine which causes one or more attributes to be assigned to a file repository, or a program lo subroutine which mounts a file repository for use, or a program subroutine which restricts access to a file repository, or a program subroutine which removes any access restriction, or a program subroutine which removes/deletes a file repository. The SCM computer program product may comprise a program subroutine which creates a view facility which allows access to the contents of a file repository, or a program subroutine Is which checks whether or not a view facility already exists, or a program subroutine which starts a view facility for use, or a program subroutine which amends a view facility, or a program subroutine which removes/deletes a view facility.
The SCM computer program product may comprise one or more subroutines which are 20 used to call the at least one SCM system. For example, in one embodiment, the SCM computer program product comprises one or more subroutines which are used to call a Windows@)-based SCM system stored on the computer system which is running a Windows operating system, and one or more subroutines which are used to call a UNIX@-based SCM system stored on a server external to the computer system which is
running a UNION operating system (i.e. a UNIX-based server). One or both of the SCM systems may be involved in carrying out the at least one SCM operation.
The SCM computer program product may comprise a login subroutine. The login 5 subroutine may set up an environment for the at least one SCM system. The environment may be set up on a system, e.g. the computer system or a server, which runs the SCM system. The login subroutine may ensure that the operating system of the computer system is connected to one or more servers external to the computer system which are to be used by the computer system. The servers may contain, for example, 0 view facilities or file repositories to be used. If it is not, the user may be informed and the login process aborted. The login subroutine may ensure that connection of the operating system to the one or more servers is maintained, e.g. by mapping a drive of the operating system to each server. This operation of the login subroutine may be enabled by manipulating the contents of one or more mapping variables, e.g. by setting Is the contents of a variable to the drive letter required. The mapping variables may be held in the SCM computer program product, or a configuration file external to the product, for example a local settings configuration file. The login subroutine may start all view facilities of a user of the computer system. The login subroutine may mount a predefined set of file repositories, for example file repositories to be used by a group of So users, e.g. an area or department. The login subroutine may start a pre-defined set of view facilities, e.g. view facilities to be used by a group of users, e.g. an area or department. When a UNIX@-based SCM system is to be used, the login subroutine may set up one or more UNION configuration files. This may allow the environment of the UNIX SCM system to be managed more easily. The configuration files to be set
( up may be specified in a configuration file array. This may be held in the SCM computer program product, or a configuration file external to the product, for example a local settings configuration file. The login subroutine may be called by entering a name assigned to the login subroutine after a command prompt of the operating system, or by s using a login script. Alternatively, the login subroutine may be linked to and called by a login subroutine of the operating system. Logging into the operating system may then automatically sun the login subroutine ofthe SCM computer program product.
The SCM computer program product may comprise at least one error subroutine. For lo example, an error subroutine may be provided which causes performance of a check for SCM system registry errors in a region assigned to the at least one SCM system. The results of the check may be output to a file. An error subroutine may be provided which causes performance of a check for storage problems in the computer system or any external servers used by the computer system.
The SCM computer program product may comprise at least one error logging andlor reporting subroutine. For example, an error logging and/or reporting subroutine may be provided which enables an administrator of the at least one SCM system to be contacted, e.g. by e mail, with the details of errors.
The SCM computer program product may comprise at least one fault correction subroutine. For example a fault correction subroutine may be provided which enables the removal of damaged view files or file repositories.
The SCM computer program product may comprise at least one debugging subroutine.
For example, a debugging subroutine may be provided which causes details of all commands sent to the operating system and any external servers to be output to a screen of the computer system. A debugging subroutine may be provided which causes s creation of an error file on the operating system whenever an error occurs, which file may be checked by a user. These operations may be enabled by manipulating the contents of a debug variable. This may be held in the SCM computer program product, or in an environment variable of the operating system of the computer system.
lo The SCM computer program product may access at least one configuration file, external to the product. For example, the configuration file may be stored on the computer system or in a file repository, e.g. a server, external to the computer system. The location of the configuration file may be specified in an environment variable of the operating system of the computer system. The environment variable may be held in a IS settings file of the operating system. The SCM computer program product may read the location from the configuration file environment variable, and use this to access the configuration file. The contents of the configuration file environment variable may be amended as required. Several users, working on different operating systems, may access and use the same SCM computer program product. Each user may specify a So different location for a configuration file by amending the contents of a configuration file environment variable held on their operating system. Each user may thus use the same SCM computer program product, but have their own independent configuration file. A user may have access to several different configuration files. Each of these may be accessed by amending the contents of the configuration file environment variable
held on the user's operating system to contain the location of the required configuration file. The configuration file may comprise, for example, a local settings configuration file.
s This may define one or more locality settings to be used by the SCM computer program product, e.g. the locality settings for a user or a group of users, e.g. an area or department, of the SCM computer program product. The locality settings may comprise the names and locations of file stores, e.g. directories of the computer system or servers external to and accessed by the computer system for containing files to be used in the lo SCM operation, the name and location within the file stores of a region for the at least one SCM system, the name and location within the file stores of the at least one SCM system, header information for the at least one SCM system, the name and location within the file stores of a default region for the at least one SCM system, the name and location within the file stores of one or more view facilities, the name and location 5 within the file stores of one or more file repositories, the name and location within the file stores of one or more trigger scripts to be used by the at least one SCM system, the name and location within the file stores of one or more tools to be used by the at least one SCM system, the name of a user or a group of users who own the local settings configuration file, the name and location of an account of an administrator of the at least 20 one SCM system, the username of one or more administrators, the e mail address of one or more administrators. The local settings configuration file may contain one or more variables, the contents of which may contain this information. The contents of one or more of the variables may be manipulated. The local settings configuration file may comprise a variable the contents of which may be manipulated to control the maximum
number of characters for a comment. The local settings configuration file may comprise a variable the contents of which may be manipulated to control the maximum number of characters for a name.
By accessing one or more configuration files external to it, the SCM computer program product may be set up as a generic product capable of use by one or more different users. Any customization, for example of variables such as locality settings, can be made in the one or more configuration files, e.g. a local settings configuration file.
lo The SCM computer program product may access one or more passwords, e.g. passwords for user accounts, administrator accounts or registries. The passwords may be stored, for example, in a settings file of the operating system of the computer system.
Users and administrators will not then have to enter a password every time they want to use the SCM computer program product. The facility to access the passwords may be Is enabled by manipulating the contents of a password access variable. This may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
The at least one software configuration management (SCM) system may comprise a 20 Rationale ClearCase SCM system, for example Rationale ClearCase SCM system version 4.0, version 5.0, or a later version. When the SCM computer program product calls one SCM system, this may be stored on the computer system, and may be run under the operating system of the computer system which may be a Windows operating system or a UNION operating system. When the SCM computer program
16 -_ _
product calls one SCM system, this may be stored on a server external to the computer system, and may be run under the operating system of the server which may be a UNIX operating system. The SCM computer program product may call two SCM systems, one of which may be stored on the computer system, and one of which may be s stored on a server external to the computer system. In one embodiment, the SCM computer program product calls a Windows@-based Rationale ClearCase SCM system stored on the computer system which is running a Windows operating system, and a UNIXbased Rationale ClearCase SCM system stored on a server external to the computer system which is running a UNIX operating system (i.e. a UNIX@based lo server). One or both of the SCM systems may be involved in carrying out the at least one SCM operation.
When the at least one SCM system is stored on a server external to the computer system, the SCM computa program product may instruct the computer system to log 5 onto the server, for example via telnet, to call the SCM system. This may comprise using an account of the operating system of the serva assigned to a user. When the server comprises a UNIX@- based serve, logging onto the UNIX-based serva may comprise using at least one UNIX usa account. The account may be accessed using a UNIX- acceptable password. lye password may be provided by the usa, for example 20 on request by the computer system, or may be held in the SCM computer program product, or may be held in a configuration file accessed by the SCM computer program product, or may be held in a settings file of the operating system of the computer system. The method may comprise verifying one or more settings for each user account, e.g. UNIX43) user account, used. This may comprise, for example, checking
that the identification of the user of an account matches the username of the account.
The method may be aborted if this is not the case. This may comprise, for example, checking that the UNIX user account to be used is a member of a defined SCM system UNIX user group, and that the SCM system UNIX user group is the UNIX 5 primary group. If either of these checks fail, the user is preferably warned of the problem. Verifying the settings of a UNIX account may be enabled by manipulating the contents of a UNIX account verification variable, e.g. when the variable is set to I verification is carried out, when the variable is set to 0 no verification is carried out.
The account verification variable may be held in the SCM computer program product, lo or a configuration file external to the product, for example the local settings configuration file. Verification of the settings of anaccount is useful as it prevents problems with UNIX rights and ownership, which can occur if UNIX user accounts are not set up correctly.
5 The method allows SCM operations to be carried out between different operating systems which would not normally be possible when a Rationale ClearCase SCM system is used alone. For example, if a user tries to create or remove ClearCase views or VOBs on a UNIX-based server from a Windows operating system using standard ClearCase$) SCM system commands/tools, it will fail. Related tasks such as joining 20 UCM projects will also fail. This is because a Windows-based ClearCase SCM system can only create and remove views and VOBs on a computer system operating a Windows operating system.
The SCM operation may be performed with data stored on the computer system or one or more servers external to the computer system. The data may comprise, for example, source code, documents or software tools. The data may be stored in the one or more electronic files stored on the computer system or the one or more servers.
s When the at least one SCM system comprises a Rationale? ClearCase SCM system, the at least one SCM operation may comprise a view-related operation. A view is a ClearCase09 SCM system facility which contains details of and allows access to a specified version of an element (e.g. a file or a directory) in a ClearCase SCM system lo version object base (VOB), i.e. it is a facility which controls which version of an element a user may view.
The SCM operation may comprise creating at least one view. The SCM computer program product may comprise one or more subroutines used to instruct the at least one 5 SCM system to carry out this SCM operation. The view may be a standard view or a unified change management (UCM) view. The operation may comprise creating the view on the computer system, or on a server external to the computer system. The operation may comprise creating one or more tags for the view. A tag is a parameter in which the location of the view is specified. If the view is created on the computer So system, then a tag for that view may be held by the operating system of the computer system. If the view is created on a server external to the computer system, then two tags for that view may be created, one hod by the server, and the other held by the operating system of the computer system. The operation may comprise creating a view with one
or more remote view storage pools. The or each remote storage pool may, for example, be used for storing private files on a server external to the computer system. Creating a view with one or more remote view storage pools may be enabled by manipulating the contents of a view remote storage pool variable, e.g. setting this to 1. The variable may s be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. One or more view access permissions may be set for the view. This may be enabled by manipulating the contents of a view access permission variable. This variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local lo settings configuration file. The operation is preferably performed using an account of a user. The owner of the created view may then be the user. The operation may comprise asking a user to provide a name for the view, or asking a user to provide a comment regarding the view, or both of these. Alternatively, the view may have a standard name or comment or both. The standard name may be the user's username (e.g. a username of 5 fsmith would result in a view called fsmith). When the view is a UCM view, the operation may comprise linking the UCM view to a specified UCM stream. This will allow several UCM views to use a single, common UCM stream. This may comprise asking a user to provide a UCM stream name, and/or a UCM project name, and/or a UCM project version object base (VOB) name.
The SCM operation may comprise removing at least one view. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The view may be a standard view or a UCM view. The operation may comprise removing any tags for the view. If the view
20 I has one or more remote view storage pools, the operation may comprise removing the or each remote storage pool. Preferably, a view may only be removed by a user who owns, i.e. has created, the view. The operation is preferably performed using an account of the user. This may be used to prevent a user from removing a view that they s do not own. The operation may comprise asking a user to provide the name of the view to be removed.
The SCM operation may comprise starting at least one view. The SCM computer program product may comprise one or more subroutines used to instruct the at least one lo SCM system to carry out this SCM operation. Starting a view allows the view to be utilised. The view may be a standard view or a UCM view. The operation may comprise starting all views that are owned by a user. The operation may comprise starting each view specified in a view array. The array may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise starting each view that has a view tag containing specified text. This may comprise asking a user to provide the specified text. The operation may comprise starting the or each view on the computer system, e.g. using an account of the operating system assigned to a user.
20 When the at least one SCM system comprises a Rationale ClearCase SCM system, the at least one SCM operation may comprise a version object base (VOB)-related operation. A ClearCase VOB is a ClearCase SCM system storage repository which contains all versions of a SCM system element (e. g. a file or a directory).
The SCM operation may comprise creating at least one VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB, or an administration VOB for one or more standard VOBS, or a UCM VOB, or a UCM s project VOB (an administrative VOB for one or more UCM VOBS). The operation may comprise creating the VOB on the computer system, or on a server external to the computer system. The operation may comprise creating a VOB with one or more remote VOB storage pools. Creating a VOB with one or more remote VOB storage pools may be enabled by manipulating the contents of a VOB remote storage pool 0 variable, e.g. setting this to 1. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation is preferably performed using an account of an administrator of the at least one SCM system. The owner of the VOB may then be the administrator. This may comprise knowing a password for the administrator account.
5 This may comprise knowing a password for a registry of the SCM system. Other users may then be prevented from accessing the administrator account and, for example, removing the VOB or performing other restricted VOB operations. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the 20 product, for example the local settings configuration file. The operation may comprise asking a user to provide a name for the VOB, or asking a user to provide a comment regarding the VOB, or bow of these.
The SCM operation may comprise creating one or more attributes within at least one VOB and applying these attributes to the VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The attributes may be locked to the account of one or s more users. This may restrict the ability to amend the attributes to the one or more users. The attributes may comprise, for example, an attribute which controls the actions of one or more trigger scripts called in using the VOB, or an attribute which controls whether or not text files in the VOB have Windows)-style newlines converted to UNIX@-style newlines, or an attribute which controls whether or not the VOB will lo permit the creation of elements with names that contain spaces. The operation may be enabled by manipulating the contents of one or more attribute variables. These may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
The SCM operation may comprise creating at least one element type within at least one VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The element type may comprise a text file type that can be used for text files that should not have their newlines converted into UNIX@-style newlines, or a compressed version of 20 the text file type, or a 'ptime' element type which provides time stamp preserving of all versions of an element type.
The SCM operation may comprise making at least one standard VOB into at least one UCM VOB. The SCM operation may comprise making at least one toplevel directory
in a standard VOB into a UCM component of a UCM VOB. The SCM computer program product may comprise one or more subroutines used to instruct me at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of an administrator of the at least one SCM system. This may 5 comprise using a password for the administrator account. Only those individuals who know the password will then be able to perform this operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise 0 asking a user to provide the name of the standard VOB to be made into a UCM VOB.
The operation may comprise asking a user to provide the name of the UCM VOB to be made. Alternatively, the operation may comprise using a default name for the UCM VOB. The operation may comprise using a view in making a standard VOB into a UCM VOB. The operation may comprise asking a user to provide the name of the 5 view. Alternatively, the operation may comprise using a default view. The default view may be specified in a default view variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
20 The SCM operation may comprise making at least one UCM component for one or more UCM baselines within at least one UCM VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of an administrator of the at least one SCM system. This may comprise using a
password for the administrator account. Only those individuals who know the password will then be able to perform this operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local 5 settings configuration file. The operation may comprise asking a user to provide the name of the UCM component. The operation may comprise asking a user to provide the name of the UCM VOB. Alternatively, the operation may comprise using a default name for the UCM VOB. The operation may comprise using a view in making a UCM component. The operation may comprise asking a user to provide the name of the view.
0 Alternatively, the operation may comprise using a default view. The default view may be specified in a default view variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide a comment for the UCM component.
The SCM operation may comprise removing at least one UCM component from at least one UCM VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of an administrator 20 of the at least one SCM system. This may comprise using a password for the administrator account. Only those individuals who know the password will then be able to perform this operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local
settings configuration file. The operation may comprise asking a user to provide the name of the UCM component. The operation may comprise asking a user to provide the name of the UCM VOB. Alternatively, the operation may comprise using a default name for the UCM VOB.
The SCM operation may comprise linking at least one standard VOB to at least one administrative VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of an administrator 0 of the at least one SCM system. This may comprise using a password for the administrator account. Only individuals who know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration 5 file. The operation may comprise asking a user to provide the name of the standard VOB. Me operation may comprise asking a user to provide the name of the administrative VOB. Alternatively, a default administrative VOB may be used. The default administration VOB may be specified in a default administration VOB variable.
The variable may be held in the SCM computer program product, or a configuration file 20 external to the product, for example the local settings configuration file. The operation may comprise linking a standard VOB to an administrative VOB such that the standard VOB can access global types within the administrative VOB.
The SCM operation may comprise setting up at least one trigger script for at least one VOB. A trigger script is a subroutine which is automatically run when a particular event occurs, e.g. when a VOB is created a trigger script is automatically run which, for example, verifies that a comment related to the VOB is of a required length. The SCM 5 computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB, or a combination of standard and UCM VOBs, for example, a set of VOBs used by a group of users e.g. an area or department. The operation is preferably performed using an account of an administrator of the at least one SCM lo system. This may comprise using a password for the administrator account. Only individuals who know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation 5 may comprise asking a user to provide the name of a VOB for which one or more trigger scripts are to be set up. The name of the or each VOB may be specified within one or more add trigger script arrays. These may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may be prevented from working on one or more 20 VOBs specified in a trigger f ee array. This may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise using a view in setting up one or more trigger scripts for the at least one VOB. The operation may comprise asking a user to provide the name of the view. Altematively, a default view may be used. The default
27.. view may be specified in a default view variable. Lee variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
5 The SCM operation may comprise removing at least one trigger script from at least one VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB, or a combination of standard and UCM VOBs, for example a set of VOBs used by a group of users e.g. an area or department.
lo The operation is preferably performed using an account of an administrator of the at least one SCM system. This may comprise using a password for the administrator account. Only individuals who know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a Is configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the name of the VOB from which one or more trigger scripts are to be removed. The name of the or each VOB may be specified within one or more remove trigger arrays. These may be held in the SCM computer program product, or a configuration file external to the product, for So example the local settings configuration file.
The SCM operation may comprise removing at least one VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one
SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB. The operation may comprise removing the VOB from the location in which it is held, for example the computer system or a server external to the computer system. The operation may comprise removing any tags for the VOB. When the VOB 5 uses one or more remote VOB storage pools, the operation may comprise removing the or each storage pool. The operation is preferably performed using an account of an administrator of the at least one SCM system. This may comprise using a password for the administrator account. This may comprise using a registry password. Only individuals who know the passwords will then be able to perform the operation. The lo administrator account may be specified in an administrator variable. This may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the name of the VOB to be removed.
5 The SCM operation may comprise mounting at least one VOB. Mounting a VOB activates the VOB so that it can be utilised. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB, or a combination of standard and UCM VOBs, for example a set of VOBs used by a group So of users e.g. an area or department. The operation is preferably performed under the operating system of the computer system. This may comprise using a user account of the operating system. The name of a VOB to be mounted may be specified in a mount VOB variable. When the operation comprises mounting a set of VOBs the names of the VOBs may be specified in a mount VOB anay. The variable and/or array may be held
29 _ _
in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
The SCM operation may comprise creating time stamp preserving versions of all s element types found in at least one VOB. Time stamp preserving element type versions have stored within them the time of creation of the element type version, and the time and date of the last modification made to the element type version. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a 0 UCM VOB. The name of each version may be the original element type name followed by uptime'. When a particular version is checked out of the VOB, modified and checked back in again, the time stamp preserving facility will store the time and date at which the version was modified, not the time at which the version was checked in, which may be (much) later. Standard element type versions may be provided, which 5 store the time at which a version is checked into a VOB. Preferably, the standard element type versions are available in addition to the time stamp preserving element type versions. The operation may be carried out when a VOB is created. The operation is preferably performed using an account of an administrator of the at least one SCM system. This may comprise using a password for the administrator account. Only 20 individuals who know the password will be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation
may comprise asking a user to provide the name of a VOB for which time stamp preserving element type versions are to be created.
The SCM operation may comprise locking at least one VOB. The SCM computer s program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB. The operation may comprise locking at least one VOB immediately after it is created. The operation may comprise temporarily locking at least one VOB. The operation may comprise locking at least one VOB to an account of one or more users, o e.g. one or administrators of the at least one SCM system. Locking a VOB may restrict usage of the VOB to the one or more users. The or each user account may be specified in an user account variable. The or each user account variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may be enabled by manipulating the 5 contents of one or more locking VOB variables, e.g. setting these to 1. These may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation is preferably performed using an account of an administrator of the at least one SCM system. Lois may comprise using a password for the administrator account. Only individuals who 20 know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the name of the VOB to be locked.
The SCM operation may comprise unlocking at least one VOB. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation may comprise temporarily unlocking at least one VOB. Unlocking a VOB may allow all users to use the VOB.
5 The operation may be enabled by manipulating the contents of one or more unlocking VOB variables, e.g. setting these to 1. These may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation is preferably performed using an account of an administrator of the at least one SCM system. This may comprise using a password 0 for the administrator account. Only individuals who know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the 15 name of the VOB to be unlocked.
The SCM operation may comprise copying any tags for at least one VOB from a first region in the operating system of the computer system or a server external to the computer system to a second region in the operating system or server. The SCM 20 computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The VOB may be a standard VOB or a UCM VOB. The operation may be used by a group of users operating in the first region to give access to the VOB to a group of users operating in the second region.
The operation is preferably performed using an account of an administrator of the at
least one SCM system. This may comprise using a password for the administrator account. This may comprise using a registry password. Only users who know the passwords will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM s computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the name of a VOB for which one or more tags are to be copied. The operation may comprise asking a user to provide the name of the second region of the operating system or server.
The SCM operation may comprise allowing a user to define the format of one or more VOB tags to be used under the operating system of the computer system or a server external to the computer system or both. For UNION VOB tags e.g. on a UNIX-
based server, definition of the format of the tags may be enabled by manipulating the 5 contents of a UNION VOB tag variable. The UNIXI) VOB tag variable may be set to a directory of the UNIXQ9-based server under which the VOBs are to appear, and the UNIX VOB format will then be <UNIX VOB tag variable>/<vob name>. For example, if the VOB is called fired and the UNIX@) VOB tag variable is set to /work/myvobs, the UNIX VOB tag will be /work/myvobs/fred. The UNIX VOB tag 20 variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. For Windows VOB tags e.g. on a Windows) operating system of the computer system, definition of the format of the tags may be enabled by manipulating the contents of one or more Windows VOB tag variables. For example, the format of the Windows
33 _. VOB tags may comprise the VOB name with text at the start of and/or at the end of the i VOB name. Definition of this format of Windows VOB tags may be enabled by manipulating the contents of a pre-text Windows VOB tag variable, which contains any text to appear before the VOB name in the tag, and manipulating the contents of a s post-text Windows VOB tag variable, which contains any text to appear after the VOB name in the tag. These variables may be held in the SCM computer program product, or a configuration file external to the product, for example the local settingsconfiguration file. The format of the Windows VOB tags may be the same as the VOB names. Definition of this format of the Windows VOB tag variables may be 10 enabled by manipulating the contents of the pre- text and post-text Windows6}) tag variables so that they are empty.
When the at least one SCM system comprises a Rationale ClearCase SCM system, the SCM operation may be a ClearCase UCM project related operation.
The SCM operation may comprise creating at least one UCM project. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed under the operating system of the computer system. This may comprise 20 using a user account of the operating system. The owner of the created UCM project may then be the user. The operation may comprise asking a user to provide the name of a UCM project to be created. The operation may comprise creating one or more UCM project VOBs for the UCM project. The operation may comprise asking a user to provide a name for the or each UCM project VOB. Alternatively, one or more default
UCM project VOBs may be used. The operation may comprise creating one or more UCM project folders for the UCM project. The operation may comprise asking a user to provide a name for the or each UCM project folder. Alternatively, one or more default UCM project folders may be used. The or each default UCM project VOB and s the or each default UCM project folder may be specified in a default UCM project VOB variable and a default UCM project folder variable respectively. The variables may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide a comment regarding a UCM project to be created. The 10 operation may comprise creating a shared UCM integration stream for the UCM project.
The SCM operation may comprise creating one or more attributes for at least one UCM project and applying these to the UCM project. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to 5 carry out this SCM operation. The or each attribute may be locked to an account of one or more users. This may restrict the ability to amend the attributes to the one or more users, for example an administrator of the at least one SCM system or the user who Heated the UCM project. The user or group of users permitted to amend the attributes may be altered. For example, permission may be initially limited to an administrator of 20 the at least one SCM system and the user who created the UCM project, and additional users granted permission later. The attributes may be used to control the security of the UCM project. The attributes may control who is able to perform which functions within the UCM project. The attributes may control who is informed when certain events occur within the UCM project. The attributes may comprise a list of usernames of users
who are permitted to create baselines from an integration stream of the UCM project. If everyone requires permission, this list may contain the word 'all'. The attributes may comprise a list of usernames of users who are permitted to deliver to an integration stream of the UCM project. If everyone requires permission, this list may contain the 5 word 'all'. The attributes may comprise a list of usernames of users who should receive email notifications whenever specified events occur within the UCM project, for example a baseline being created or a delivery being made to the integration stream.
The attributes may comprise a list of usernames of users who are permitted to rebase an integration stream of the UCM project. If everyone requires permission, this list may lo contain the word 'all'. The default entry in each UCM project attribute list may be the username of the person creating the project. The operation may be enabled by manipulating the contents of a UCM project attributes variable. For example, setting this variable to 1 will cause attributes to be created, setting it to 0 will prevent attributes from being created. The variable may be held in the SCM computer program product, is or a configuration file external to the product, for example the local settings configuration file.
The SCM operation may comprise creating at least one UCM development stream in a UCM project. The SCM computer program product may comprise one or more 20 subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of a user. The owner of the created stream may then be the user. The operation may comprise asking a user to provide the name of a UCM development stream to be created. The operation may comprise asking a user to provide the name of a UCM project with which the UCM
development stream is to be associated. The operation may comprise asking a user to provide the name of a UCM project VOB of the UCM project associated with the UCM development stream. Alternatively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable.
s The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide a comment regarding a UCM development stream to be created. This operation may be used when several UCM views using a single common UCM development stream are required. This is useful, as it allows o different groups of users to make use of UCM even if they do not want each user to be in their own stream.
The SCM operation may comprise joining at least one UCM project. The SCM computer program product may comprise one or more subroutines used to instruct the at 5 least one SCM system to carry out this SCM operation. The operation may comprise creating a UCM development stream and two UCM views, a development view and an integration view, for a user as part of a specific UCM project. The operation may comprise creating only some of the above, as required. The operation is preferably performed using an account of a user. The owner of the development stream and the 20 two views may then be the user. The operation may comprise asking a user to provide the name of a UCM project to be joined. The operation may comprise asking a user to provide the name of a UCM project VOB associated with the UCM project to be joined.
Altematively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable. The variable may be
37 _. held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
The SCM operation may comprise leaving at least one UCM project. The SCM s computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation may comprise removing development and integration views for the UCM project. Preferably, however, a development stream of a user is not removed when they leave a UCM project, because this should be kept as a permanent record of the UCM activities that the lo user performed on the UCM project. If the user later rejoins the UCM project, the same development stream may then be used. The operation is preferably performed using an account of a user. The operation may comprise asking a user to provide the name of a UCM project which is to be led. The operation may comprise asking a user to provide the name of a UCM project VOB associated with the UCM project to be left.
is Alternatively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
20 The SCM operation may comprise removing at least one UCM project. The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of a user. The operation may comprise preventing a user
38 n to, from removing UCM projects that they do not own. The operation may also comprise preventing anyone from removing a UCM project that has been used, i.e. once activities have been performed on the UCM project. The operation may comprise asking a user to provide the name of the UCM project to be removed The operation may comprise 5 asking a user to provide the name of a UCM project VOB associated with the UCM project. Alternatively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration file.
The SCM operation may comprise changing the owner and/or group for at least one UCM project. The SCM computer program product may compose one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using an account of an administrator 5 of the at least one SCM system. This may comprise using a password for the administrator account. Only individuals who know the password will then be able to perform the operation. The administrator account may be specified in an administrator account variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration 20 file. The operation may comprise asking a user to provide the name of the UCM project. The operation may comprise asking a user to provide the name of a UCM project VOB associated with Me UCM project. Alternatively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable. The variable may be held in the SCM computer program
product, or a configuration file external to the product, for example the local settings configuration file. The operation may comprise asking a user to provide the new name of the owner and/or group.
5 The SCM operation may comprise displaying the owner and/or group for at least one UCM project The SCM computer program product may comprise one or more subroutines used to instruct the at least one SCM system to carry out this SCM operation. The operation is preferably performed using a UNIX account of a user The operation may comprise asking a user to provide the name of the UCM project.
I o The operation may comprise asking a user to provide the name of a IJCM project VOB associated with the UCM project. Alternatively, a default UCM project VOB may be used. The default UCM project VOB may be specified in a default UCM project VOB variable. The variable may be held in the SCM computer program product, or a configuration file external to the product, for example the local settings configuration 5 file.
One or more of the SCM operations may require confirmation for the operation to be performed. For each operation, the confirmation requirement may be controlled by manipulating the value of a confirmation variable. For example, if a confimnation 20 variable is set to 0, confirmation will be required, if a confirmation variable is set to 1, no confirmation will be required. Each confirmation variable may be manipulated by the SCM computer program product. When a script is used in performing an SCM operation, the script may pass a value of the confirmation variable for the operation to
the SCM computer program product. The value of the variable passed by the script may be determined by a user. For example, when using a script, a user may enter 'f' in the variable field thereof, which will indicate to the script that a variable value of 1 is to be
passed to the SCM computer program product, i.e. no confirmation for that operation is s required.
When an account, e.g. of a user or an administrator, is used in any of the above SCM operations, the account may be an account of the operating system of the computer system, or an account of an operating system of a server external to and accessed by the lo computer system.
An embodiment of the present invention will now be described by way of example only, with reference to the accompanying drawing in which: Figure 1 is a schematic representation of a computer system according to the second aspect of the invention, and Figure 2 is a flow chart depicting performance of a SCM operation to create a new standard view with tags.
Figure I shows a computer system I comprising a processing unit 2, a screen 3, a keyboard 4 and a mouse 5. The processing unit 2 runs a Windows NT-based operating system. The processing unit comprises a memory device (not shown), which has stored thereon a software configuration management (SCM) computer program
product according to the third or fourth aspects of the invention, hereinafter referred to as the Generic ClearCase Management System (GCMS). The GCMS is a program module written in the PERL programming language. The processing unit 2 also stores a Rationale) ClearCase SCM system version 5.0, designed to run under the Windows s NT-based operating system of the computer system 1, i.e. a Windows-based Rationale ClearCase SCM system. The processing unit 2 also stores a local settings configuration file, which contains various locality settings to be used by the GCMS, e.g. the location of newly-created views. Prior to use, an administrator of the SCM system accesses the local settings configuration file, and makes any customisation which is 10 required. The processing unit 2 of the computer system I is linked to a server 6 running a UNIX@- based operating system, i.e. a UNIX-based server, via a telnet link. The server has stored thereon a Rationale ClearCase SCM system version 5.0, designed to run under the UNIX-based operating system of the server, i.e. a UNIX-based Rationale ClearCase SCM system. The server also stores various data files, for 5 example files containing software, software tools and software documentation, for use by the SCM systems.
The computer system 1 may be used, in conjunction with the UNIX-based server 6, to perform various SCM operations. One such operation, creating a standard view on the 20 VNIX-based server with a UNITY tag and a Windows tag, will now be described as a means of demonstrating the function of the computer system, GCMS, and the method by which a SCM operation can be performed. The method of performing this SCM operation is depicted in the flow chart of Figure 2. It will be understood by a person skilled in the art how other SCM operations may be performed.
42 _ A user starts the computer system 1 and runs the Windows NT-based operating system. The user logs into the operating system using his/her account on the operating system. This comprises entering the name and password assigned to the user's account after a command prompt of the operating system. The user then instructs the operating 5 system to call the GCMS. This comprises using a script called ccview. This is a program module written in PERL, which may be used in performing one or more view related SCM operations, including creating a standard view with tags. The user enters a command in the following format 'ccview mkview viewname, comment, confirmation', e.g. 'ccview mkview -v fired -c "test view" -f', after a command prompt of the operating lo system of the computer system. The script mode 'mkview' informs the script ccview that the user wishes to make a new standard view with tags, and the parameters viewname', 'comment' and 'confirmation' supply ccview with the information needed to malce the view. ccview reads the script mode and extracts the parameter values fired', 'test view' and 'f' from the command. The script ccview reads the value 'f) of is the 'confirmation' parameter, which instructs it to pass a value of 1 for this parameter to the GCMS. ccview calls a subroutine called make_a_new_std_view of the OCMS, and passes the values of the parameters 'viewnarne' and 'comment' and a value of 1 for the confirmation' parameter to this subroutine. The subroutine make_a_new_std_view receives the parameter values, and checks that the format (e.g. length) of the parameters 20 'viewname' and 'comment' complies with any requirements set by an administrator of the SCM systems, and sets the value of the confirmation variable for the make a new standard view operation to 1, i.e. the user will not be asked for confirmation for the operation to be performed. The subroutine make_a_new_std_view then calls another subroutine perform_make_view of the GCMS, and passes the values of the parameters
viewname' and 'comment' to this subroutine. The subroutine perform_make_view calls a subroutine login_as_user of the GCMS. The subroutine login_as_user logs into the UNIX-based server 6 via the telnet link, using a UNIX account of the user. This is carried out by changing the active UNIX account to the UNIX account of the user. The 5 password for the user's UNIX account is read from the settings file of the operating system of the computer system. The subroutine perforrn_make_view then defines three commands, one for making a standard view on the UNIX-based server, one for making a UNIX tag for the view, and one for making a Windows tag for the view.
The subroutine perform_makeview then tells the user that a view is being created, and lo sends the first two commands to a subroutine send_unix of the GCMS and the third command to a subroutine send_win of the GCMS. The subroutine send_unix checks to see if the user is logged into the UNIXbased server, and whether the length of the commands exceeds 256 characters (telnet cannot handle commands which exceed this length). If the user is not logged in or if the commands are too long, the subroutine is s aborted and the user is informed. The subroutine send_unix then sends the command to make a new standard view on the UNIX-based server to the UNIX-based Rationale ClearCase SCM system via the telnet link. The command comprises the name of the UNIX-based Rationale ClearCase) SCM system standard subroutine 'mkview' and the value of the parameters 'viewname' and 'comment', which instructs the UNIX-
20 based Rationale ClearCase SCM system to make a new standard view using the view name 'fired' and the comment 'test view'. The location on the UNIX6-based server 6 in which the view is to be stored is read by the subroutine send_unix from the local settings configuration file and sent to the UNIX-based Rationale ClearCase SCM system. The subroutine send_unix then sends the command to make a UNIX view tag
on the UNIX-based server to the UNIX65-based Rationale ClearCase SCM system via the telnet lirk. The command instructs the UNIX-based Rationale ClearCase SCM system to make a new UNIX view tag using the UNIX- based Rationale ClearCase SCM system standard command 'cleartool mktag'. The results of these 5 commands are sent to the subroutine send_unix, which tells the user if either command has not been successfully performed. The subroutine send_win sends the command to make a Windows view tag on the Windows operating system of the computer system to the Windows49-based Rationale) ClearCase8) SCM system on the computer system. The command instructs the Windows@-based Rationale ClearCase SCM lo system to make a Windows view tag using the Windows@-based Rationale ClearCase SCM system standard command 'cleartool mktag'. The result of this command is sent to the subroutine send_win, which tells the user if the command has not been successfully performed.
Claims (92)
1. A method of performing at least one software configuration management (SCM) operation using a computer system, comprising: logging into an operating system of the computer system, instructing the operating system to call a SCM computer program product, and providing information identifying the or each SCM operation to be performed to the SCM computer program product, wherein the SCM computer program product calls at least one SCM system and instructs the SCM system to perform the SCM operation.
2. A method according to claim I in which logging into the operating system of the computer system comprises using an account of the operating system assigned to a user.
3. A method according to claim 1 or claim 2 in which instructing the operating system to call the SCM computer program product comprises using one or more scripts to call the SCM computer program product.
4. A method according to claim 3 in which the or each script comprises a program module of an executable file, and using a script involves the operating system accessing the executable file and using this to execute the script.
5. A method according to claim 3 or claim 4 in which a script is provided which is used in performing one or more file repository-related SCM operations.
6. A method according to claim 5 in which the file repository-related SCM operation comprises one of the following: creating one or more file repositories, removing one or more file repositories, locking or unlocking one or more file repositories, linking one or more file repositories to one or more administration file repositories, adding or removing one or more trigger scripts of one or more file repositories, mounting one or more file repositories for use.
7. A method according to any of claims 3 to 6 in which a script is provided which is used in performing one or more view facility-related SCM operations.
8. A method according to claim 7 in which the view facility-related SCM operation comprises one of the following: creating one or more view facilities, removing one or more view facilities, starting one or more view facilities for use.
9. A method according to any of claims 3 to 8 in which a script is provided which is used to start all view facilities for a user, and start all view facilities and mount all file repositories for a group of users.
10. A method according to any of claims 3 to 9 in which a script is provided which is used in a login procedure of the at least one SCM system, by calling a login subroutine of the SCM computer program product.
1 1. A method according to any of claims 3 to 10 in which a script is provided which is used in an error procedure of the at least one SCM system, by calling an error subroutine of the SCM computer program product.
12. A method according to any of claims 3 to I I in which the or each script contains or accesses information required in performing one or more SCM operations.
13. A method according to claim 12 in which the or each script asks a user to provide information required in performing one or more SCM operations.
14. A method according to claim 12 or claim 13 in which the or each script passes information to the SCM computer program product which uses the information to instruct the at least one SCM system to perform one or more SCM operations.
15. A method according to any of claims 3 to 14 in which the or each script provides a user with help in using the script.
16. A method according to claim 15 in which the help comprises any of the following: information concerning the SCM operations which may be performed using the script, information concerning the syntax required to use the script in performing one or more SCM operations, information concerning any parameters to be entered to use the script in performing one or more SCM operations, information concerning the format of the parameters, information
( concerning the running of the script, the completion of the one or more SCM operations and any errors occurring in the use of the script.
17. A method according to any of claims 3 to 16 in which when one or more scripts are used in performing one or more SCM operations, this comprises providing the or each script with information identifying the SCM operation or operations to be performed.
18. A method according to claim 17 in which the information comprises a name associated with each SCM operation.
19. A method according to claim 18 in which one or more names are provided to the or each script, by entering the or each name after the script name when this is used to call the SCM computer program product.
20. A method according to claim 19 in which entering a name associated with a SCM operation prompts the script to call one or more subroutines of the SCM computer program product which are used to instruct the at least one SCM system to perform the SCM operation.
21. A method according to any preceding claim in which the SCM computer program product contains or accesses information required to instruct the at least one SCM system to perform the one or more SCM operations.
22. A method according to claim 21 in which the SCM computer program product asks a user to provide information to be used to instruct the at least one SCM system.
23. A method according to any preceding claim in which the SCM computer program product comprises one or more program subroutines, the or each of which are used to instruct the at least one SCM system to perform the one or more SCM operations.
24. A method according to claim 23 in which the SCM computer program product comprises one of the following: a program subroutine which creates a file repository, a program subroutine which checks whether or not a file repository already exists, a program subroutine which causes one or more attributes to be assigned to a file repository, a program subroutine which mounts a file repository for use, a program subroutine which restricts access to a file repository, a program subroutine which removes any access restriction, a program subroutine which removes/deletes a file repository, a program subroutine which creates a view facility which allows access to the contents of a file repository, a program subroutine which checks whether or not a view facility already exists, a program subroutine which starts a view facility for use, a program subroutine which amends a view facility, a program subroutine which removes/deletes a view facility.
so
25. A method according to any preceding claim in which the SCM computer program product comprises a login subroutine, which sets up an environment for the at least one SCM system, ensures that the operating system of the computer system is connected to one or more servers external to the computer system which are to be used by the computer system, ensures that connection of the operating system to the one or more servers is maintained by mapping a drive of the operating system to each server, starts all view facilities of a user of the computer system, mounts a pre-defined set of file repositories and starts a pre defined set of view facilities.
26. A method according to any preceding claim in which the SCM computer program product accesses at least one configuration file, external to the product.
27. A method according to claim 26 in which the configuration file comprises a local settings configuration file, which defines one or more locality settings to be used by the SCM computer program product.
28. A method according to claim 27 in which the locality settings comprise any of the following: the names and locations of file stores of the computer system or servers external to and accessed by the computer system for containing files to be used in the SCM operation, the name and location within the file stores of a region for Me at least one SCM system, the name and location within the file stores of the at least one SCM system, header information for the at least one SCM system, the name and location within the file stores of a default region for
the at least one SCM system, the name and location within the file stores of one or more view facilities, the name and location within the file stores of one or more file repositories, the name and location within the file stores of one or more trigger scripts to be used by the at least one SCM system, the name and location within the file stores of one or more tools to be used by the at least one SCM system, the name of a user or a group of users who own the local settings configuration file, the name and location of an account of an administrator of the at least one SCM system, the username of one or more administrators, the e mail address of one or more administrators.
29. A method according to any preceding claim in which the at least one software configuration management (SCM) system comprises a Rationale ClearCase SCM system.
30. A method according to claim 29 in which the SCM computer program product calls a Windows)-based Rationale ClearCase19 SCM system stored on the computer system which is running a Windows operating system, and a UNIX-based Rationale ClearCase SCM system stored on a server external to the computer system which is running a UNIX operating system.
31. A method according to claim 30 in which both of the SCM systems are involved in carrying out the at least one SCM operation.
32. A method according to any preceding claim in which when the at least one SCM system is stored on a server external to the computer system, the SCM computer program product instructs the computer system to log onto the server via telnet, to call the SCM system.
33. A method according to claim 32 in which logging onto the server comprises using at least one account of the operating system of the server assigned to a user.
34. A method according to any preceding claim in which the SCM operation is performed with data stored on the computer system or one or more servers external to the computer system.
35. A method according to any preceding claim in which the at least one SCM system comprises a Rationale ClearCaseQ9 SCM system, and the at least one SCM operation comprises a view-related operation.
36. A method according to claim 35 in which the SCM operation comprises creating at least one view.
37. A method according to claim 36 in which the operation comprises creating one or more tags for the view, and one or more remote view storage pools for the view.
38. A method according to claim 35 in which the SCM operation comprises removing at least one view.
39. A method according to claim 35 in which the SCM operation comprises starting at least one view.
40. A method according to claim 39 in which the operation comprises starting all views that are owned by a user.
41. A method according to claim 39 in which the operation comprises starting each view specified in a view array, held in a local settings configuration file.
42. A method according to any of claims 35 to 41 in which the operation is performed using an account of a user.
43. A method according to any preceding claim in which the at least one SCM system comprises a Rationale ClearCase SCM system, and the at least one SCM operation may comprise a version object base (VOB)-related operation.
( 54
44. A method according to claim 43 in which the VOB comprises one of the following: a standard VOB, an administration VOB for one or more standard VOBs, a UCM VOB, a UCM project VOB.
45. A method according to clann 43 or claim 44 in which the SCM operation comprises creating at least one VOB.
46. A method according to claim 43 or claim 44 in which the SCM operation comprises creating one or more attributes within at least one VOB and applying these attributes to the VOB.
47. A method according to claim 46 in which the attributes comprise one of the following: an attribute which controls the actions of one or more trigger scripts called in using the VOB, an attribute which controls whether or not text files in the VOB have Windows@-style newlines converted to UNIX-style newlines, an attribute which controls whether or not the VOB will permit the creation of elements with names that contain spaces.
48. A method according to claim 43 or claim 44 in which the operation comprises creating at least one element type within at least one VOB.
49. A method according to claim 48 in which the element type comprises one of the following: a text file type that can be used for text files that should not have their newlines converted into UNIX-style newlines, or a compressed version of the text file types or a 'ptime' element type which provides time stamp preserving of all versions of an element type.
50. A method according to claim 43 in which the SCM operation comprises making at least one standard VOB into at least one UCM VOB.
51. A method according to claim 43 in which the SCM operation comprises linking at least one standard VOB to at least one administrative VOB.
52. A method according to claim 43 or claim 44 in which the SCM operation comprises setting up at least one trigger script for at least one VOB.
53. A method according to claim 43 or claim 44 in which the SCM operation comprises removing at least one trigger script from at least one VOB.
54. A method according to claim 43 or claim 44 in which the SCM operation comprises removing at least one VOB.
55. A method according to claim 54 in which the operation comprises removing any tags for the VOB, and any storage pools for the VOB.
56. A method according to claim 43 or claim 44 in which the SCM operation comprises creating time stamp preserving element type versions in a VOB.
57. A method according to claim 56 in which the operation is carried out when a VOB is created.
58. A method according to claim 43 or claim 44 in which the SCM operation comprises locking at least one VOB.
59. A method according to claim 58 in which the operation comprises locking at least one VOB immediately after it is created.
60. A method according to claim 58 or claim 59 in which the operation comprises locking at least one VOB to an account of one or more users.
61. A method according to any of claims 58 to 60 in which the operation is enabled by manipulating the contents of one or more locking VOB variables, held in a local settings configuration file.
62. A method according to claim 43 or claim 44 in which the SCM operation comprises unlocking at least one VOB.
63. A method according to claim 62 in which the operation is enabled by manipulating the contents of one or more unlocking VOB variables, held in a local settings configuration file.
64. A method according to claim 43 or claim 44 in which the SCM operation comprises copying any tags for at least one VOB from a first region in the operating system of the computer system or a server external to the computer system to a second region in the operating system or server.
65. A method according to claim 43 or claim 44 in which the SCM operation comprises allowing a user to define the format of one or more VOB tags to be used under the operating system of the computer system or a server external to the computer system or both.
66. A method according to any of claims 43 to 65 in which the operation is performed using an account of an administrator of the at least one SCM system.
67. A method according to claim 66 in which this comprises knowing a password for the administrator account.
68. A method according to claim 66 or claim 67 in which the administrator account is specified in an administrator account variable, held in a local settings configuration file.
69. A method according to claim 43 or claim 44 in which the SCM operation comprises mounting at least one VOB.
70. A method according to claim 69 which is performed under We operating system of the computer system, using a user account of the operating system.
71. A method according to any preceding claim in which the at least one SCM system comprises a Rationale ClearCase SCM system, and the SCM operation is a ClearCase UCM project related operation.
72. A method according to claim 71 in which the SCM operation comprises creating at least one UCM project.
73. A method according to claim 72 in which the operation comprises creating one or more UCM project VOBs for the UCM project, and creating one or more UCM project folders for the UCM project
s 9
74. A method according to claim 71 in which the SCM operation comprises creating one or more attributes for at least one UCM project and applying these to the UCM project.
75. A method according to claim 74 in which the attributes are used to control the security of the UCM project.
76. A method according to claim 75 in which the attributes control one of the following: who is able to perform which functions within the UCM project, who is infonned when certain events occur within the UCM project, users who are permitted to create baselines from an integration stream of the UCM project, users who are permitted to deliver to an integration stream of the UCM project, usernames of users who should receive e-mail notifications whenever specified events occur within the UCM project, users who are permitted to rebase an integration stream of the UCM project.
77. A method according to any of claims 74 to 76 in which the operation is enabled by manipulating the contents of a UCM project attributes variable, held in a local settings configuration file.
78. A method according to claim 71 in which the SCM operation comprises creating at least one UCM development stream in a UCM project.
60 _ A A
79. A method according to claim 71 in which the SCM operation comprises joining at least one UCM project.
80. A method according to claim 79 in which the operation comprises creating a UCM development stream and two UCM views, a development view and an integration view, for a user as part of a specific UCM project.
81. A method according to claim 71 in which the SCM operation comprises leaving at least one UCM project.
82. A method according to claim 71 in which the SCM operation comprises removing at least one UCM project.
83. A method according to any of claims 35 to 82 in which the SCM operation requires confirmation for the operation to be performed.
84. A method according to any of claims 35 to 82 in which the SCM operation does not require confirmation for the operation to be performed.
85. A method according to claim 83 or claim 84 in which the requirement for confirmation is controlled by manipulating the value of a confirmation variable.
86. A computer system comprising: an operating system, and means to access a SCM computer program product which product provides: means for calling at least one SCM system, and means for instructing the SCM system to perform one or more SCM operations.
87. A SCM computer program product loadable into the memory of a computer system comprising: software code portions for performing the method of any of claims I to 85 when the product is run on a computer system.
88. A SCM computer program product stored on a computer usable medium comprising: computer readable program means for receiving and interpreting information identifying one or more SCM operations to be performed, computer readable program means for calling at least one SCM system, and computer readable program means for instructing the SCM system to perform the one or more SCM operations.
89. A computer system whose operation is directed by the SCM computer program product according to claim 87 or claim 88.
90. A computer readable medium on which is stored a computer program of instructions for a computer system, comprising:
t means for receiving and interpreting information identifying one or more SCM operations to be performed, means for calling at least one SCM system, and means for instructing the SCM system to perform the one or more SCM operations.
91. A program storage device readable by a machine and encoding a program of instructions for executing the method of any of claims 1 to 85.
92. A computer system substantially as described herein with reference to Figure 1 of the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0209688A GB2388212A (en) | 2002-04-29 | 2002-04-29 | Improvements relating to software configuration management systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0209688A GB2388212A (en) | 2002-04-29 | 2002-04-29 | Improvements relating to software configuration management systems |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0209688D0 GB0209688D0 (en) | 2002-06-05 |
GB2388212A true GB2388212A (en) | 2003-11-05 |
Family
ID=9935648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0209688A Withdrawn GB2388212A (en) | 2002-04-29 | 2002-04-29 | Improvements relating to software configuration management systems |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2388212A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2418268A (en) * | 2004-09-15 | 2006-03-22 | Ibm | Method for monitoring software components using native device instructions |
CN1332304C (en) * | 2004-12-13 | 2007-08-15 | 华为技术有限公司 | Method for uniformly configuring configuration files |
US8548947B2 (en) * | 2006-04-28 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for file maintenance |
-
2002
- 2002-04-29 GB GB0209688A patent/GB2388212A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2418268A (en) * | 2004-09-15 | 2006-03-22 | Ibm | Method for monitoring software components using native device instructions |
CN1332304C (en) * | 2004-12-13 | 2007-08-15 | 华为技术有限公司 | Method for uniformly configuring configuration files |
US8548947B2 (en) * | 2006-04-28 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for file maintenance |
Also Published As
Publication number | Publication date |
---|---|
GB0209688D0 (en) | 2002-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789721B1 (en) | Systems and methods for infrastructure and middleware provisioning | |
US6889168B2 (en) | Method and apparatus for assessing the security of a computer system | |
CN112506579A (en) | Multi-service multi-environment management method and system | |
US7165251B2 (en) | In-context launch management method, system therefor, and computer-readable storage medium | |
GB2388212A (en) | Improvements relating to software configuration management systems | |
Cisco | Installation and Configuration | |
Cisco | Getting Started | |
CN117296043A (en) | Method, medium, and system for lease management | |
Cisco | Installation and Configuration | |
Brühwiler | Stock management system for small and medium-sized companies | |
Hassell | Learning windows server 2003 | |
Volodarsky et al. | Internet information services (IIS) 7.0 resource kit | |
Edition et al. | Administration Guide | |
Rhett | Request v3: A Modular, Extensible Task Tracking Tool. | |
Watt et al. | SQL* Plus User’s Guide and Reference, Release 10.2 B14357-01 | |
US20030033085A1 (en) | Mechanism for ensuring defect-free objects via object class tests | |
Frederick et al. | How to cheat at IIS 7 server administration | |
Andrew et al. | MySQL Setup | |
Guide | DirXmetahub Document Set | |
Rizzo et al. | Automation and Monitoring | |
Server | Automation and Monitoring | |
Dobson | Getting Started with SQL Server Express | |
McDonald | The design and development of a web-interface for the Software Engineering Automation System | |
Madhavan | Web Based Information System for Unix Servers | |
Allaire Corporation | Administering Coldfusion Server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |