Application Migration

The Migration Wizard automatically converts applications created in earlier versions of Iron Speed Designer to applications compatible with the most recent version.  However, new versions of Iron Speed Designer may change the structure and layout of your application’s web pages and code.  To accommodate these changes, and to take advantage of new functionality in these Iron Speed Designer releases, you may need to migrate portions of your application to the new version by hand.

Please review the changes made in the versions of Iron Speed Designer relevant to your application.  We strongly recommend you review all changes made in all versions subsequent to the one used to create your application.

Should you migrate your application to a new Iron Speed Designer release?

By design, each version of Iron Speed Designer is installed in its own separate directory.  Many of our customers maintain existing applications in older versions of Iron Speed Designer and do not want a newer release to overwrite the older one because they still use the older release.  When you no longer need the older release, simply uninstall it via the Control Panel in Microsoft Windows.

You can continue developing your application either in (a) the new release or (b) the older release -- it's entirely your choice.  Each new release of Iron Speed Designer will open applications created by earlier releases.  However, once you bring an application forward into a newer release, you can’t go back; applications are upward compatible but not downward compatible between releases.

You might ask why not always bring your application forward into the new release?  Quite simply, many developers prefer not to change horses mid-stream, especially if the application is in maintenance mode.  These developers typically follow an intitutionalized QA discipline that requires them to completely re-test an application if it were brought forward into a newer version of Iron Speed Designer.  So, they prefer to maintain existing applications in older releases and build new applications in the latest release.  Other organizaions aren't so rigid, so it largely depends on your organization's culture and practices.

How application migration works

The Iron Speed Designer Migration Wizard is automatically displayed when you first open an application created by an older release.  The Migration Wizard migrates your application forward from the release used to originally develop your application to the current release.  Your application is automatically changed one step at a time for each release.

The migration process makes minimal changes to your application structure, leaving your code and pages largely untouched.  Additional features are not added to pages until you manually change page layout in the Layout Editor.  That is to say, individual pages are migrated ‘on demand’ rather than en masse.  This ‘on demand’ migration leaves your application intact, so your migrated application requires very little additional testing.

Applications created prior to V6.2 cannot be switched to Web Applications or SharePoint Applications

Applications originally created before Iron Speed Designer V6.2.X cannot be switched to a ‘Web Application for .NET’ or ‘Web Application for Microsoft SharePoint’.  Only applications originally created in V6.2 or later can be switched from ‘Web Site for .NET’ to ‘Web Application for .NET’ and ‘Web Application for Microsoft SharePoint’.

For example, an application originally created with Version 5.2.1, later migrated to V6.2 and then migrated again to Version 7.1 cannot be converted to a ‘Web Application for .NET’ or ‘Web Application for Microsoft SharePoint’ because it was originally created in Version 5.2.1.

On the other hand, a ‘Web Site for .NET’ application originally created with Version 6.2 can be migrated to Version 7.1, then converted to ‘Web Application for .NET’ and finally to ‘Web Application for Microsoft SharePoint’.

Migration is fully supported only for applications V6.2 and later

Iron Speed Designer V6.2 and later use an internal XML file structure for storing your page customizations and other page-related settings that make it very easy for Iron Speed Designer to migrate and update your ASPX pages from one release to the next.

Versions prior to V6.2 use an HTML page structure to store your page customizations and page layout. This older mechanism made it very difficult for Iron Speed Designer to understand your page customizations because they were made in an external HTML page. Accordingly, the Panel Wizard and other tools were unable to reliably update pages when adding new fields, panels and other page features. In some cases Iron Speed Designer is unable to migrate applications from versions before V6.2. Also you would need to manually migrate (re-create) any code customizations you added to your application

Iron Speed Designer V6.2 and later will not automatically migrate your application’s pages. Instead, the first time you use the Layout Editor to customize an individual page, that individual page will be migrated forward into the current release. All other pages remain unchanged.

The Layout Editor initially displays a pro forma page layout of pages created prior to V6.0. Pro forma pages show how your page would look in the Layout Editor if it were migrated forward to the current version. Page customizations you made in earlier releases to the underlying HTML layout page are not reflected in this pro forma spreadsheet layout. The Formulas and Code tabs are also not shown on pro forma pages because neither the formulas nor underlying code exists for these pro forma pages yet.

When you then use the Layout Editor to customize the pro forma page, the page is automatically migrated to the current release and the older HTML layout page will no longer be used.

Important notice for application V9.2 and earlier

Version 10.0 and later discontinued support of Large List Selector and introduced new Quick Selector control. After you migrate application after the first build all your Large List Selector control buttons will be removed. You can configure application to create Quick Selector Control instead of DropDown list for all your new pages (using Application Generation Options Wizard / New Page and Charts options / Common Page options / Preferred Selector Control) and / or convert existing DropDown list controls to Quick Selector via Property Sheet. However it is very important to remember: Quick Selector controls are build automatically for each page when you click build first time after migration. They have Quick Add button which open Add Record Pop-Up page in the modal pop-up window. So you need to create Add Record Pop-Up pages for all tables used in the application PRIOR to the first build. We recommend doing this immediately after migration: as soon as migration succeeds before running application in browser or live preview or building it open Application Wizard and add just Add Record Pop-up page for all used tables. This will ensure that quick add button in the Quick Selector will work properly if you ever decide to use it.

Code model changes in V3.0 and V4.0 may require you to manually migrate code customizations

Earlier Iron Speed Designer releases used different code models, meaning the underlying architecture of your application – the code classes, methods and events that comprise your application code.

Migrating an application created with an earlier code model require you to manually migrate (re-create) any code customizations you added to your application that depend on the previous code model.  For example, migrating an application created in V3.1 to the current release requires you to port your code customizations to the updated (migrated) application.  However, applications created with V5.0 do not require code customizations to be manually ported because they were created using the current code model.

Custom page style migration

If your application uses a Custom Page Style different from the Page Styles included in Iron Speed Designer you must migrate the Page Style manually to the new version. To migrate manually, you have to copy the whole page style folder into a new Iron Speed Designer \ Design Themes folder, changing Version number in all xml files. New styles and images might be introduced in new release for web page and for mobile pages, so you might have to update the BaseStyles.css file and \Images folder in your Custom Page Style.

Using the Migration Wizard

Follow this process to migrate an application created with an earlier version of Iron Speed Designer.

Step 1:  Open your application with Iron Speed Designer.  The Migration Wizard is displayed.  Follow the steps outlined in the Migration Wizard to convert your application to the new formats.

Step 2:  We strongly recommend you let the Migration Wizard back up your application.

Step 3:  Carefully review the topics in the sections below to migrate your existing customizations successfully.  You must manually migrate certain types of web page customizations, code customizations, Javascript file customizations, and RESX file customizations as indicated for each version of Iron Speed Designer subsequent to the version used to create your application.

Step 3a:  If migrating from the version prior to V10.0 add Add Record Pop-Up pages for all used tables

Step 4:  Rebuild your application (Build, Rebuild All) in Iron Speed Designer.  This updates your application’s source code in the latest formats.

Restoring source code control files

If your original application contains any files or folders created by source code control software then during migration they will be deleted so that migration may proceed smoothly.  If you need these files and folders, check the migrated application files back into the source code control system and it will recreate the folders for you.  If not, then you can add these folders manually from the application back-up created by Iron Speed Designer as part of the application migration process.

Subversion source code control system

The Subversion source code control system adds a .svn folder within each folder of the application.  Subversion then stores identical copies of the files in these subfolders.  So if you have a ShowCustomerTable.aspx, .vb and .controls.vb in the primary folder, files with the same names are stored in the .svn folder.

The Migration Wizard is designed to look at every file in the application folder and each sub folder recursively.  Since the .svn folder contains a duplicate set of files, the migration step would attempt to migrate these as well.  Since these files should not be migrated, the Migration Wizard deletes them prior to migration.

Subversion will recreate the folder and files when the files are rechecked back into the source code control system.

Version 12.0.0 Changes

BaseApplicationPage, BaseApplicationXXXControl, Global.asax.vb(cs), and formula related code files updated

Version 11.1.0 Changes

Ciloci.Flee.dll Updated

ApplicationWebForm.js updated

BaseApplicationPage.vb(cs) updated

Version 11.0.1 Changes

BaseFormulaEvaluator is replaced

Version 11.0.0 Changes

AjaxControlToolkit.dll, ConfiguredXXXRecord, Forbidden, SharePoint master pages, Import Wizard are replaced

scrollRegion div tag is removed and defined on page level

QPPageButtonsContainer css class is changed to recordPanelButtonsAlignment

Large List Selector code files are removed

Forbidden page is replaced

BaseFormulaUtils is replaced

Crypto.vb(cs) is removed

SignInState.vb(cs) is replaced

SignIn, SignOut, ForgotUser pages are replaced

SetFocus.js is replaced

ApplicationWebForm.js is replaced

ThemeButton.xml is replaced

PaginationMobile.xml is replaced

BaseApplicationMenuControl, BaseApplicationPage, BaseApplicationRecordControl, BaseApplicationTableControl, BaseApplicationUserControl are replaced

Version 10.2.1 Changes

Crypto.vb Updated

Version 10.2.0 Changes

Pagination Controls Updated

Web.config Updated

Version 10.1.0 Changes

Web Methods Commented out

Interface files Updated

Master Pages Updated

Pagination Controls Updated

ApplicationWebform.js and SetFocus.js Updated

Resource files for language translation updated

BaseApplicationPage, BaseApplicationTableControl, BaseApplicationRecordControl, Crypto, and LargeListSelector updated

Version 10.0.3 Changes

Master pages updated

Version 10.0.2 Changes

ConfigureAddRecordPopup and Forbidden pages updated

Version 10.0.1 Changes

BaseFormulaUtils updated

Crypto updated

CompileApplication.rsp updated

ApplicationWebForm.js updated

MySql.Data and MySql.Data reference updated

Version 10.0.0 Changes

Large List Selector Discontinued

Theme Button Layout

ConfigureXXX updated

Forbidden page updated

FormulaUtils and BaseFormulaUtils updated

ExportData updated

Crypto, BaseApplicationPage, and BaseApplicationTableControl updated

SharePointUtils updated

FCK Editor is not supported in Microsoft Internet Explorer 10 (IE10)

Version 9.2.0 Changes

Large List Selector updated

Version 9.1.1 Changes

Theme Button for Mobile Pages Updated

Initial Focus for Pages Updated

Large List Selector

Export to Excel Updated

Version 9.1.0 Changes

Large List Selector Updated

Formula Evaluation Updated

Export to Excel Updated

MySQL Updated

Import Wizard Updated

Version 9.0.1 Changes

BaseApplicationPage.vb(cs) updated

Version 9.0.0 Changes

Files in Shared and App_Code/Shared folders updated

page updated

Web.config updated

Project file for presentation layer updated

Version 8.0.2 Changes

ImportDataItems updated

ExportData updated

Version 8.0.0 Changes

Files in \Shared and \App_Code\Shared folders updated

Web.config file updated

Project file for business layer updated

Project file for presentation layer updated

Changing migrated application to Appalacian or Himalaya page style

Version 7.1.0 Changes

BaseApplicationPage updated

SetFocus.js Script reference removed from master page

Ciloci.Flee.dll updated

Version 7.0.1 Changes

BaseApplicationPage file updated

Version 7.0 Changes

Default menu control properties changed

GetImage and GetFieldRecordValue functions updated

Authorize method calls moved to parent controls PreRender event handler

Header and footer files updated

Pass-through attributes for initializing FieldValue Textbox, Literal and Label controls replaced

Select Language Page removed

Sign In and Sign Out pages updated

BaseApplicationPage class updated

BaseApplicationTableControl , BaseApplicationRecordControl, FvLlsHyperLink, and LargeListSelector.Controls classes updated

ExportData class updated

Crypto method updated

SignInState class updated

SetFocus.js and ApplicationWebForm.js updated

.ascx.vb files for user controls removed

Files in \Shared folder updated

Version 6.2.1 Changes

Libraries in bin folder updated

Resource files in App_GlobalResources folder updated

Version 6.2 Changes

Files in \Shared and \App_Code\Shared folders updated

Database connection strings in Web.config updated

AjaxControlToolkit.dll and Report.dll are updated

Updating header and footer controls

Menu controls updated

Select Language Page files updated

Sign In and Sign Out pages replaced

Cascading style sheet files updated

Resource files updated

Version 6.1 Changes

HTML Encode white space (no wrapping) logic changed

Quick Layout Spreadsheet includes row buttons

Quick Layout Spreadsheet includes Pagination control

Quick Layout Spreadsheet includes row-level attributes

Page Style files updated

BaseApplicationPage and BaseUserControlPage files replaced

ApplicationWebform.js replaced

Select Language Page files updated

Version 6.0 Changes

Run() method is obsolete

Move Resource files from Bin to App_GlobalResources

Email server settings in Web.config moved to section

Logging disabled in Web.config

AjaxControlToolkit.dll updated updated

BaseApplication files updated

ImportData files updated

Select Language Page files updated

files updated

PaginationShort files updated

XML file structure updated

AppInfo.xml file updated

Header control replaced

Automatic save in workflow pages removed

Version 5.2.1 Changes

Header control replaced

Version 5.2 Changes

Application style sheets reorganized for easier customization

Expanded application generation options

SignIn and SignOut template keys removed from Web.config

Calendar date selector control replaced with Ajax-based control

Changing code language after migration

Language translation files (RESX) updated

Version 5.1 Changes

.NET Framework 1.1 no longer supported

control updated

Header control and Skip Navigation Links updated

Design Theme CSS style sheets updated

Design Theme images updated

Language translation files (RESX) updated

Web.Config file updated

Report.dll is updated

ExportFieldValue.ascx control updated

ExportData file updated

Large List Selector control updated

BaseApplicationPage file updated

PostBack property added to Button controls

Crypto file updated

Infragistics Editable WebGrid controls require manual migration

Version 5.0 Changes

Design Themes updated

Interactive search feature added

Table panel button bar enhanced

PDF Reporting feature added

Export to Excel feature added

Table Refresh feature added

Reset filters feature added

Pagination control updated

Copy and Delete table panel row buttons added

Save and New button added to Add Record and Edit Record pages

Edit button added to Show Record pages

Foreign key hyperlinking added to Table Report and Show Record panels

Quick Add button added next to dropdown lists

Quick Edit button added to Show Record panels

Large List Selector updated

Crystal Reports button control updated

Increment and Decrement buttons are now vertically aligned

Category filters now collapse properly when other filters are collapsed

ApplicationWebForm.js JavaScript File replaced

Language translation files (RESX) updated

Date selector control updated

Base files updated

AppInfo.xml file updated

Version 4.3 Changes

ApplicationWebUIValidation.js File Updated

Web.Config File Updated

New Validators.dll File Added to Your Application

Version 4.2 Changes

Microsoft AJAX Support Updated

Smooth Panel Updating Added

Pop-up Windows for Long Text and Image Fields Added

Web.Config File Updated

Crystal Reports Control Updated

ApplicationWebForm.js JavaScript File Replaced

Design Theme Images Updated

Design Theme Style Sheets Updated

ExportFieldvalue.aspx Page and Code-Behind Files Updated

Debugging Files Removed

Version 4.1 Changes

Design Theme Files Updated

Print Button Added to Application Web Pages

Collapsible Panel Button Replaced with a Toggle Region Button

Increment and Decrement Buttons Added to Input Fields

Javascript Code Files Updated

BaseApplicationPage Code Files Updated

Version 4.0 Changes

Base Files Updated

Method and Event Changes

Javascript Files Updated

Radio Button Selector Control Replaced by Check Box Control

Design Themes Updated

Language Translation Files (RESX) Updated

Control Strings Localized

Button Control Properties Updated

PagingControl Changed to Label Control

BaseClasses:ValidationSummary Control Replaced

Date Selector Image Changed

Set Language Page for Multi-Lingual Applications Added

Large List Selector Updated

Pagination Control Updated

New Properties for TableControl Added

Version 3.2 Changes

Button.html Changed to ThemeButton.html

Header & Footer Folder Renamed to Header and Footer

Design Themes Updated

Javascript Files Updated

Resource (RESX) Files Updated

Layout Files Updated for XHTML Compliance

Section 508 Compliance

Binding File Events Updated

Operator Bindings Updated

Skip Navigation Links Support

Version 3.0 Changes

Presentation Layer Classes Renamed

Data Access Classes Renamed

Specific Table and Record Control Classes

CustomBasePage Class Renamed to BaseApplicationPage

Classes, Functions and Events Renamed

V_ and P_ Prefixes Eliminated From Control Names

Ironspeed.Base Namespace Renamed to BaseClasses

Application Javascript Files Renamed

Design Themes Updated

Version 2.1 Changes

Application Folder Structure Changes

Component File Name Changes

Page Style Template Changes

Component Template Changes

Page Level Button Changes

K2 Design Theme Changes

Version 2.0 Changes

Application Behavior Changes

Data Access Layer Classes Replaced

Optional Method Parameters Removed

Certain Methods Renamed

Certain Convenience Methods Removed

Certain Constructors Have New Signatures

New Convenience Functions in Data Access Layer Classes

Version 1.6 Changes

Application Code Changes