1. Home
  2. Knowledge Base
  3. Advanced
  4. Advanced Functions: Change Management System Class Mover

Advanced Functions: Change Management System Class Mover

Change Management System Class Mover

Change Management System Class Mover Window

The Change Management System is the mechanism that enables you to control the distribution of modules of the program (known as Classes) between programs (known as Libraries) that are spread around your network. The Change Management System Class Mover tool provides a convenient method of transferring custom classes into Caliach Vision.



List Source

Below the toolbar you will get an indication of where the listed classes you have selected are stored. They are either stored in a library or in a CMS data file ProgCode.usa located in the Custom directory of your installation.

Class List

A list of the classes available in the library or data file. You can sort this list by clicking on the headings. You can edit directly in the list the class name, version and description columns, when viewing a data file and after choosing the edit tool from the toolbar.

Tip TIP: To edit cells in the list, select the line and click in the cell and hover the mouse over the cell. I.E. click once and pause with no mouse movement. The cell will then expand into an editable box in which you can enter different data. On leaving the box with any action like a tab or click elsewhere, the data is verified and the list returns to normal with the new data shown in the cell.

Progress Bar

At the bottom of the window there is a progress bar with a text note that provides processing information.

Using this tool you can:

  • Examine movable (not protected) classes in the OpenVision.lbs library or other library.
  • Save selected classes in a datafile in their binary format (tokonised). The datafile is held in your Custom directory and named ProgCode.usa.
  • Examine classes stored in the ProgCode.usa data file in your Custom directory.
  • Rename (name, version number and description) classes stored in the datafile (but not in libraries). In addition, you can set named classes to change their names automatically when they are loaded into other Caliach libraries.
  • Write notes that will be displayed to a user upgrading using the CMS.
  • Set classes saved in the datafile to be protected or unprotected when loaded into libraries.
  • Delete saved classes from the datafile.
  • Print the list of classes.
  • Copy classes saved in the datafile into the OpenVision.lbs or your currently running Vision.lbs library.
  • Copy library classes or datafile stored classes into another library (with the appropriate stub), even when the class is overwriting a protected class and in a library.
  • Copy the resulting ProgCode.usa file into the directory of your normal live datafile. When any user then launches (or restarts) Caliach Vision and connects to the normal live datafile, the copy of the Caliach Vision library being used by the user will be automatically upgraded with any classes stored in ProgCode.usa datafile.
  • Upgrade automatically an old customised oCustom1 object class to accommodate a new feature release from Caliach.

See toolbar page for details of tool functions.

Caliach Vision Change Management System

The Caliach Vision Change Management System (CMS) is an automatic facility that enables internal program changes (in classes) to be automatically made by all users operating on a network. This avoids the need to copy Vision.lbs to all user’s terminals each time a custom feature modification is made. It makes system administration trivial and reliable and can also be used for program patches or updates. The Change Management System can also be used to update Strings. See String Maintenance Toolbar for details.

Preparation of class change data

The entire system revolves around a single special datafile which is named ProgCode.usa. The datafile is prepared using the Change Management System Class Mover. The ProgCode.usa file is automatically created and held in the Custom directory of the Vision library you are using.

CMS file transfer structure

When you are happy that the ProgCode.usa file contains the appropriate classes, copy the file using the copy to data directory tool To Folder. This will copy the ProgCode.usa file from your Custom directory to the directory containing your currently attached main datafile. This will normally be your business live data that all normal users of Caliach Vision attach to.

CMS file transfer structure

Most commonly sites decide to outsource customisation to professionals at Caliach Ltd. who do this sort of work all the time. Caliach would prepare the customisation transfer file ProgUser.db and upload that the the site’s FTP private folder on Caliach’s server. The site System Manager can then perform a File — Advanced — Upgrade Via the Internet, enter their site FTP username and password and check the Also download my latest customisation ProgUser.db. From then on the process is automatic.

Automatic changes to Caliach Vision

When a user logs into Caliach Vision from their workstation and attaches to the normal datafile, the program automatically checks to see if ProgCode.usa is present. If it is present, Caliach Vision checks whether ProgCode.usa has been modified since Caliach Vision last updated itself. If this is the case, all classes stored in the ProgCode.usa file are copied into Caliach Vision. If classes are already in Caliach Vision they will be overwritten. Renaming will take place if the class description in the datafile contains a “Rename to: ABCDEFG” statement.

After a program update Caliach Vision saves the ProgCode.usa modification date and time so that the process is not repeated when the user re-launches their copy of Caliach Vision.

Take care not to hold an unnecessary number of classes in ProgCode.usa as the time taken to update will annoy users if you are making frequent modifications to just a few classes. However, be careful to leave the ProgCode.usa file on the server long enough for all users to hit it at least once.

To check that a copy of Caliach Vision has been updated, view the Navigator window where you will find “Updated: DATETIME” information at the bottom centre of the window header. The bottom left relates to any ProgCode.upt updates (from Caliach).

Classes copied into Caliach Vision from ProgCode.usa or ProgCode.upt files are checked for version compatibility. Version control works only if the class has been assigned a version number in the CMS Class Mover list. Doing so will protect from an old version class overwriting a later version of the program. The version control operates with respect to the resolution entered in the class version number. For example:

  • 2 will update program versions from 2.0000 to 2.9999
  • 2.5 will update program versions from 2.5000 to 2.5999
  • 2.56 will update program versions from 2.5600 to 2.5699
  • 2.565 will update program versions from 2.5650 to 2.5659
  • 2.5652 will update program version 2.5652 only

All ProgCode.usa files issued by Caliach will be set for restricted version use only. When classes are copied into Caliach Vision and versions are not correct, you will be notified with a message.

Tip TIP: There are a few rules you should abide by when using the Change Management System:

  • Do not have standard Caliach code classes in ProgCode.usa unless you absolutely know what you are doing – you may corrupt Caliach Vision.
  • Do not leave ProgCode.usa on the server for ever. If you know that all copies of Caliach Vision have been updated, trash the file as it will speed up the launching of Caliach Vision a little bit.
  • Take care with Cross-Platform installations. There is no control over platform-dependant classes other than your naming convention.
  • If you have custom File classes, always include them in ProgCode.usa.
  • Always keep one copy of an un-updated Caliach Vision somewhere in case you make a mistake and need to start again from scratch.

Platform Specific Update Files

Both ProgCode.usa and ProgCode.upt files are platform non-specific. In other words both Macintosh and Windows Caliach Vision client programs will read data from them. This may be inappropriate if you have both Macintosh and Windows clients on your network and you have not followed fully cross-platform standards. There are two approaches to a mixed platform network of Caliach Vision users:

Firstly, you can name custom windows and reports differently for Macintosh and Windows platforms, add them all in your ProgCode.usa file and use different User Preferences on the platforms to identify the correct selection of the special user feature or special user report. However, this does mean more care is needed in programming special user features and it also makes the update process slower. It also means that particular users can only use particular platform machines as the Settings are user-specific. The Advantage is that you only have to have one OpenVision.lbs rather than one for each platform.

Secondly, you can generate two ProgCode.usa files, one for Macintosh and one for Windows and rename them ProgCodm.usa and ProgCodw.usa. The following table illustrates the way Caliach Vision selects an update file:





Mac and Windows

System Update for all platforms


Macintosh only

System Update for Macintosh only


Windows only

System Update for Windows only


Mac and Windows

User Update for all platforms


Macintosh only

User Update for Macintosh only


Windows only

User Update for Windows only

Creating special user reports and features

In both cases the ProgCode cross-platform file takes precedence over the platform specific ones.

If you are creating a new report to be used in the “Special user reports” function of Caliach Vision, the naming of the class is of critical importance. It is strongly recommended that the following rules are adhered to:

  • Names of Report classes should start with something other than “r”.
  • Names of Search classes should start with something other than “s”.
  • Never use names prefixed with “m” or “w”, or the name “Startup_Task” or any file format name (show in the OpenVision.lbs library).
  • Take care to note down the name you have given the class in OpenVision.lbs so that you can install the name correctly in the User, Group or System Settings.

See also: –

Compiled in Program Version 5.10. Help data last modified 10 Jul 2017 11:14:00.00. Class wCmsControl last modified 10 Oct 2017 11:48:01.

Was this article helpful?

Related Articles

Get started.

Try our state-of-the-art ERP Manufacturing Software today.