The migration setup form is organized into two panels:
- At the top of the form is migration setting controls that is used to set overall preferences and information for the migration project.
- On the bottom are the migration unit selection controls that are used to find and select migration units to be added to your project.
There are other ways to generate a new project as well
Using the Create Migration Project Form
The Migration Project Setup form is where you will define settings and add migration units to your project. The inputs captured on this form are described below:
- Enter a migration project name
Optional, Default = Migration1.
This will become part of various log and other supporting file names and also be stored in reports produced for the migration.
- Select target language (C#|VB.NET).
Optional, Default = C#
In addition to setting the target language, this setting specifies a three character code ('csh' or 'vbn') that will become part of various log and other supporting file names and part of the deployment folder name associated with each migration task.
- Select an Extern Handling Strategy (Interop|Prototype).
Optional, Default = Prototype
This setting controls how COM externals will be handled by the translator. The Interop option will handle externals as COM Interop assemblies; the Prototype option will handle externals as stub classes.
- Enter a task tag
Optional, Default = "std".
This is an arbitrary string of (usually 3) characters that becomes part of the names of various logs and other supporting files and part of the deployment folder name associated with each migration task. Task Tags enable you to separate, identify, and compare the artifacts from different migrations of the same migration unit. If you do not intend to compare the results of different migrations of the same unit, just take the default value.
- Select a target .NET IDE (VS2005|VS2008|VS2010).
Optional, Default = VS2010
- Select a migration type (VBP|WEB).
Optional, Default = VBP
- Select a source type (VBPs|VBPs&VBGs|Web Site).
Optional, Default = VBPs
This setting controls the file types that will be included when scanning for migration units. The set of file types included when source type=Web Site is specified by the WebFileFilter setting in the application config file.
- Select migration units.
Required, Default=none This is the specific set of VBPs or ASP file(s) that you wish to migrate.
- Select the location of a third-party COM component cache.
Optional, Default = none
This setting is used to help the system find COM components that are not registered. This variable is rarely used since the recommended approach is to make sure the COM components used by your codebase are registered in the migration environment.
- Select the location of the VirtualRoot.
Optional, Default = none
This setting is used to help gmStudio resolve #include statements for web migrations. It is typically the root of the directory where your web site files are stored.
VirtualRoot has no effect for VBP migrations.
- Select the location of the workspace root folder.
Optional, Default = %WorkspaceRoot%\[name]\
%WorkspaceRoot% is the migration workspace root folder (as set in the application config file)
[name] is the migration name
This setting is the root of the directory tree where you want to store your migration artifacts such as Configuration Files, logs, Interop assemblies, etc.
- Select location of deployment root folder.
Optional, Default = %ProjectFolder%\deploy
[%ProjectFolder%] is the workspace root folder
This folder is the root of the directory tree where you want to deploy generated projects.
Adding Migration Units
A critical activity for creating a migration project is identifying precisely which legacy code you will migrate.
In gmStudio, the set of legacy codes is explicitly captured in a Migration Project file and used to drive all tool-assisted migration steps. Each legacy component being migrated is referred to as a Migration Unit. Typically there will be one Migration Task record for each Migration Unit, but you can have multiple tasks for the same unit if you wish to experiment with and compare different ways of migrating that unit.
Selecting migration units and adding them to a migration project is done on the [Migration Project Setup] form as follows:
- Select the type of migration tasks you want to add.
At present, VBP tasks and Web tasks cannot be in the same Migration Project. If you are migrating an ASP web site that depends on VB6 codes, you must create two migration projects: one for the VB6 code and one for the ASP code, but assign them the same workspace. This allows them to be migrated in a cohesive and consistent manner. You will initially want to migrate the VB6 units before the ASP units so that .NET versions for the VB6 components are available to use in migrating your ASP codes. See the FMStocks sample for a demonstration of a mixed VB6/ASP migration.
- VBP Tasks (VBP files)
- Web Tasks (ASP files)
- Multi-Unit Tasks (e.g., a pre-built web site migration script)
- Select the type of migration units you want to look for.
- VBPs (*.VBP)
- VBPs and VBGs (*.VBP and *.VBG)
- Web Site Files (See the WebFileFilter in gmStudio.cfg)
- Translation Scripts (*.XML)
- Recon (*.*) this actually is a reporting tool used to inventory a directory tree.
- Use the FolderPicker to choose the directory you want to scan for migration unit(s)
- Click the [Scan ...] button to populate the [Select Migration Units] list.
- Select the desired unit(s) from the left-hand list.
Beware that the file scan can throw a very wide net, and it may include files that you do not intend to migrate. This is particularly true for web sites that contain many files. As you select migration units consider that your migration effort is a golden opportunity to do some housekeeping. Take your time and be sure to select only those files that you intend to migrate and maintain going forward.
- Click the [Add] button to add the selected units to the list on the right of the panel.
- Click [Save & Exit] to return to the Main Form.
You may remove selected items from the [Tasks in the Migration Project] list by selecting them and clicking [Remove].
By clicking [Reset], you may restore the task list to its state prior to opening the [Migration Project Setup] form.
You may discard changes and exit the [Migration Project Setup] form by clicking [Cancel].
If you wish to add or remove tasks after the initial project setup, click the [Add] button on the Toolbar. This will return you to the Migration Project Setup form where you can use the procedures described above to add or remove tasks as needed.