Migration Guide


Migrating control files to Version 5.5

Previous version of VisualAge Smalltalk used control files (.ctl) to identify the configuration maps that make up a loadable feature. In Version 5.5, VisualAge Smalltalk has moved to using configuration maps as the recommended method of loading features. Configuration maps are easier to maintain and update than control files. Configuration maps and their relationships are also controlled permanently and centrally within the library manager. For information on using configuration maps for loading features, see the VisualAge Smalltalk User's Guide.

Additionally, Version 5.5 supports pre-importing feature code libraries at install time. This will help reduce problems when loading features and eliminate the need to install feature *.dat files separately. VisualAge Smalltalk Version 5.5 provides a packaged command-line utility to import feature code. This utility is included with every client or manager install. See Importing feature code.

There are still some situations, however, where control files work better than configuration maps. VisualAge Smalltalk Version 5.5 will continue to support control files, in a modified way.

The following table shows the different parts of a control file and what is supported in Version 5.5.


Control file information Support in Version 5.5
header information Supported in Version 5.5 with changes
include Supported in Version 5.5
includeFeatureMap New in Version 5.5
import Not supported in Version 5.5
mapname Supported in Version 5.5 with changes

header
The header is used to specify the feature name and an expression that is evaluated to determine if the feature is valid for the specific image.

5.5 syntax: <feature name><commentQuotedBooleanExpression>, where <feature name> is the string that the user sees in the Load Features dialog and <CommentQuotedBooleanExpression> is a Smalltalk expression enclosed in the Smalltalk comment quotes, "".

5.5 syntax: <visibility><kind><FeatureName><commentQuotedBooleanExpression>, where <visibility> is either z. to indicate the feature is visible in the Load Features dialog, or zz. to indicate that the feature is not visible, <kind> indicates whether the feature is a VisualAge feature or an IBM Smalltalk feature. For VisualAge features, use VA:. For IBM Smalltalk features, use ST:.

The <commentQuotedBooleanExpression> works as it did in Version 5.0. If the expression evaluates to true, the control file is considered valid for the current image. If the expression evaluates to false, the feature definition will be ignored for this image. The content of the expression has changed; however. In Version 5.5, you provide a new expression: "AbtCommonProductInstallerApp validPlatformIds: 'woahs'". The parameter is a string of characters to identify the operating systems where the feature is supported. The valid values for this method are w for windows, o for OS/2, a for AIX, h for HP-UX, and s for Solaris, in any order.

For example, the header for a visible feature that is valid on Windows and OS/2 would look similar to the following:

		z.ST: My Smalltalk Feature "AbtCommonProductInstallerApp validPlatformIds: 'wo'"
 

include
You can include other control files that are prerequisites for this feature.

Syntax: include=abtebd50.ctl

includeFeatureMap
You can include the name of feature configuration maps in the control file. This allows you specify another feature as a prerequisite.

Syntax: includeFeatureMap=zz.ST: My Smalltalk Feature

import
You no longer need to import feature code during the feature load. Feature code is pre-imported using the importer utility.

mapname
The mapname is used to specify the name and version of a configuration map to be loaded.

Syntax: <mapname><versionSpec>, where mapname is the name of the configuration map to be loaded and <versionSpec> is either an exact timestamp (specification of the form ts=1234556789, where 1234556789 is the integer number-of-seconds in the map's timestamp), or a version name pattern. The version name pattern can include wildcards. If a version name pattern is used, the chosen edition will be the newest edition whose version name matches the pattern.

The import library name and comment used in Version 5.0 are no longer used.

Examples:

'mymap' 'ts=3131946603'   
'my other map' 'v7.8.6.3' 
'yet another map' 'v7.8.*'
 

Examples:
Here are two examples of Version 5.5 control files:
z.ST:Sample Parts "xxxCommonProductInstallerApp validPlatformIds:'woa'"
include=xxxeq55.ctl
'My Sample Parts' 'ts-3033647458'

This example is for a visible Smalltalk feature. The control file information also indicates that the valid platforms for this feature are Windows (w), OS/2 (o), and AIX (a). The feature includes the configuration maps from another feature, specified in the xxxeq55.ctl file. There is one configuration map associated with this feature, specified by the map name 'My Sample Parts' and timestamp.

z.VA:Sample Parts "true"
includeFeatureMap=zz.ST: My Smalltalk Feature
'My Sample Parts' 'Sample Parts 1.0'

This example shows that this control file is for a visible VisualAge feature. The control file is always valid, since the boolean is true. This control file includes a configuration map from another feature, specified in the map zz.ST: My Smalltalk Feature. The zz at the beginning of the map name indicates that this feature is not shown in the feature load/unload list. This control file also has a configuration map associated with it, specified with the map name and version.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]