| The concept of software configuration management | | | | example is not where CMS is most important as the |
| can be mind boggling unless you are given a tentative | | | | real value of CMS is in software development. If you |
| and informed introduction to it. If you are dumped at a | | | | have scores of software developers working on the |
| computer terminal with the open source code data | | | | same source code files then a software configuration |
| configuration software Subversion in front of you then | | | | management system is essential. |
| you might just stare blankly. The initial prerequisite for | | | | SCM systems work on the basis of a central |
| working in software configuration management is | | | | database of all files where users can check out the |
| fluency in C-plus-plus or Java and a basic working | | | | files, make alterations then check them back in again. |
| knowledge of Linux or Unix. | | | | The system then checks the changes against the |
| If those names mean nothing to you then you really | | | | original files and updates them keeping an archive of |
| need to ask for your money back from the people | | | | every generation. There are certain features that any |
| who supplied the IT training. Otherwise you should be | | | | SCM system must possess, concurrency |
| able to follow the basic principals from configuration | | | | management, versioning and synchronisation. |
| management to the use of Subversion. Configuration | | | | Concurrent management is the feature that allows |
| management literally means managing change. So if | | | | multiple users to edit the same file and merges the |
| two users are trying to access the same Word doc in | | | | changes by checking the updated files against the |
| a local network they will usually be unable to edit the | | | | route files in the database by running a series of |
| doc at the same time. | | | | algorithms. Dependent on the system configuration the |
| This might generally be done for security reasons as | | | | SCM system will either use complex algorithms to |
| the network cannot accommodate the two sets of | | | | minimise the users work by automatically merging any |
| changes, hence a message is sent to the user | | | | conflicting changes intelligently, or it will notify the user |
| exclaiming a read only version of the doc is available. | | | | to do so manually. |
| Without any configuration management system there | | | | Versioning is the feature that stores archive copies of |
| is the potential for two users to open the document, | | | | every file in the database so that users can recall |
| do separate work then for the last one to save to | | | | previous versions of a file. They also can track the |
| overwrite the work already done and CMS is designer | | | | history of files to establish who checked what files out |
| to avoid the aforementioned scenarios. | | | | and when. Synchronisation is the process of a user |
| The example is a very basic one and with CMS both | | | | submitting their file to the database so that the SCM |
| users can check out their copy of the file, while the | | | | system can update the file as to other changes that |
| system keeps a record of every version saved and | | | | have been made to that particular file. |
| merges the changes to the document. The Word doc | | | | |