Blog
Skip to end of metadata
Go to start of metadata

Announcing gmslAPI: a .NET API for Upgrade Development

Great Migrations is pleased to announce a major break through in software re-engineering: a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our linguistic compilation technology.

Our goal for this API is to provide the most powerful development platform for building advanced upgrade solutions. The API integrates the features of the Great Migrations Programming Language (gmPL) with Great Migrations Scripting Language (gmSL). The XML-based gmPL has been used for upgrade scripts as well as meta-language and COM interface description files. The C-like gmSL API has been used extensively for dynamic code templates, deep code analysis, and advanced transformations. gmPL and gmSL provide access to an extensive collection of gmBasic commands, events, and operations, but they lack key features of modern development platforms such as interactive debugging and intellisense. The new .NET-based gmslAPI addresses these limitations and provides greater access to the full power of the gmBasic translation engine. Of course, developers building upgrade solutions using gmslAPI can also use other .NET language and framework features allowing more sophisticated upgrade solutions integrating a wider array of information.

The API includes special purposes classes to help you integrate API-based EXE upgrade tasks with gmStudio and customize their behavior. EXE upgrades tasks can be used in gmStudio using procedures very similar to those for gmPL script tasks. The main difference is the EXE tasks are implemented in C# (or VB.NET) using Visual Studio while gmPL script tasks are implemented in XML using your favorite code editor. We have already developed a C# version of the WPF transformation logic using this API and also used it with C# to implement several very large multi-feature upgrade solutions. And early preview of API documentation is here and additional documentation and samples will be published soon. Please Contact us directly if you are interested in discussing how this technology can help you.

gmBasic: Upgrade Engine

gmBasic is a powerful code processor that reads, interprets, and rewrites VB6/ASP/COM systems as .NET (C# or VB.NET). We are always improving gmBasic to make it more robust and flexible and so that it produces cleaner, more correct results. This distribution, Version 30.68, includes several enhancements:

  • Adds a .NET API for accessing the gmBasic operations and semantic information models
  • Improves handling of nested collections and dictionaries
  • Improves separation of declarations and executable code into codebehind and markup for ASP using alternate statement separator
  • Improves upgrading properties with optional arguments to a method

gmStudio: Upgrade Solution Development Environment

Powered by gmBasic, gmStudio is a development environment for creating high-performance, custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Improves ScriptRules file handling by allowing ScriptRule elements to be conditional.
  • Adds support for gmslAPI and upgrade tasks using a custom EXE rather than gmBasic
  • Improves Filter to Selection using both the Source Name and Task Tag
  • Improves Search Reports allow for XML files that are not in an expected GM meta-data format.
  • Improves Support for handling text files with different EOL conventions
  • Improves Library Description value reported in the Source References Report
  • Adds support for %ProjectFolder% parameter in Visual Studio Solution Generator project List
  • Improves IDF path reported in the Source Reference Report for ASP include references
  • Improves default ASP Site Upgrade Projects generated by Project Wizard; setting job type to MULTI, not CUSTOM

Sample Upgrade Rules

gmStudio ships with a collection of sample upgrade rules that can be used to add custom features to your upgrade solution. These XML documents and gmSL scripts are distributed as source that you may modify to fit your unique requirements. The sample rules were updated to reflect the latest product improvements and conventions.

  • Improves scrrun.dll.xml sample
  • Improves default ScriptRules.xml file and documentation

Sample Upgrade Solutions

Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.