1
vote

I manage an 80,000 user CIS application written in Uniface.

Every form in the application, and many of its processes, are represented by .frm files. We have hundreds of these files and 5 instances of the application.

Instances include multiple production installations which must be kept sync'd.

We do not get MD5 from our vendor for files that are released to us as patches.

We have been using a spreadsheet to track changes, but this is far from ideal.

Is there a commercial application that can be purchased that will allow us to track changes to the instances?

Thank you all!

EDIT: Patches are released as zip files with either FRM files in them or SQL files or a mix of both. SQL files will contain statements that need to be run in Oracle.

Patches are also assigned unique patch numbers.

2 Answers 2

3
votes

Have you thought about putting the application under version control? You could set up a system wherein updates are only performed on a test machine, then checked in to a version control system such as SVN. Each of the deployments could then be a checkout of the version-managed repository.

2
  • I have considered this, but changes are made by up to 4 people and while they are comfortable with updating a form / database, they are allergic to source control style revision management.
    – Andrew
    Jul 7, 2009 at 19:46
  • 2
    In that case, your company needs to spend the money (be it on training or Vinnie with the blackjack) to ensure that the users become comfortable using revision control systems.
    – MikeyB
    Jul 7, 2009 at 22:13
0
votes

Here's you you might use something like subversion to implement this:

/trunk 
  /patches
  /instance1 
  /instance2
  /instance3
  /... 

When a new patch comes in, throw it in

/trunk 
   /patches 
      /YYYYMMDD-Description 

Copy the same files into

/trunk 
  /instance1 
    /changed-data.sql 
    /changed-file.frm 

Then commit your changes.

A future "svn log" will tell you which files changed in which patch, and after the commit if you add a tag with "svn tag" it'll let you find the change-sets easier by patch.

Substitute git or Mercurial or bzr or ClearCase - this isn't hard, but is a fairly easy and authoritative way to track the changes you've made to your software.

Now doing Change Management/Change Control from a business process perspective, you might need to use something like CA Unicenter, if you need layers of authorization or such to make the changes in production.

@Author: If your users are averse to typical SCM, then use a graphical tool like TortoiseSVN, or TortoiseGit that integrates with Windows, and makes the command-line wizardry go away. Hell, it works for my Dad's Excel product pricing spreadsheets, and he's a total computer n00b.