Importing a Panorama 6 Database

Panorama X can import the data, forms and procedures of a Panorama 6 database. If the database doesn’t include any binary text or super complicated forms or procedures (see below) you’ll be able import your database exactly and start using it right away. There are a small number of advanced Panorama 6 features that will require you to make some manual adjustments to your Panorama X code.

### Pre-Import Checklist

You may have to do a bit of preparation to make your databases ready for Panorama X.

#### Panorama 6 Only

Panorama X can only import databases that have been previously saved in Panorama 6. If you are still using an earlier version of Panorama, you will need to first open and save your database in Panorama 6 before it can be imported into Panorama X. Panorama X will display an error message if you attempt to open a database that was saved with Panorama 5.5 or earlier.

#### Filenames must end in “.pan”

Panorama 6 allows database filenames with an extension of `.pan`, but it also allows filenames that do not have this extension if the old Mac OS 9 type/creator codes have been set up (which all previous Mac versions of Panorama do). However, Panorama X cannot import files without an extension – you must add `.pan` to the end of the filename if it is not already there. Here are some examples:

    Contacts ☞ Contacts.pan
    Checkbook ☞ Checkbook.pan
    Photo Album ☞ Photo Album.pan

#### Unlock any Security

Panorama X will not import any Panorama 6 database that has any kind of security restriction. If your database has security restrictions, you must use Panorama 6 to remove them before importing it into Panorama X. Once the database has been imported, you can re-lock it with Panorama X’s new security/encryption features.

#### Detach from Server

Panorama X will not import a Panorama 6 database that is shared on a Panorama Enterprise server. If your database is shared, you must un-share it using the Panorama 6 Database Sharing Options wizard before importing it into Panorama X.

#### Binary Data in Fields and Permanent Variables

Panorama 6 (and earlier versions) allowed arbitrary binary text to be stored in any text field or variable. You didn’t have to tell Panorama you were doing this, you could just store the binary data in the field or variable. Because Panorama X supports Unicode (international) text, this is no longer possible and binary data must be stored in a field designated for binary data (see Binary Data). If you have a Panorama 6 database that contains binary data fields (for example reminders or word processor data), you must use a special wizard in Panorama 6 to identify these fields before importing into Panorama X. You also have to identify any permanent variables that contain binary data. See Importing Binary Data from Panorama 6 for more information.

### Importing a Panorama 6 Database into Panorama X

To actually import the Panorama 6 database, simply drag it from the Finder onto the Panorama X icon in the dock. You can also use the Open File dialog (in the File menu). Panorama X will import the following information from your Panorama 6 database:

- Field definitions
- Data
- Forms (except for word processor, chart, and balloon text objects)
- Procedures

Panorama X does not import picture fields (which have been obsolete for years), and it does not import any Flash Art Gallery images that are embedded in the database (this may be supported in the future).

#### Importing Numeric Fields

Panorama 6 supports six types of numbers: Floating Point, Integers, and Fixed point with 1, 2, 3 and 4 digits after the decimal point. Panorama X only supports two types of numbers: Floating Point and Integers. Any fixed point fields in your Panorama databases will be converted to floating point. (Integer fields remain integers, and now allow integer values up to 64 bits instead of 32 bits.) Between the conversion of fixed point values to floating point and the expansion of integers to 64 bit, you are very unlikely to ever encounter the overflow math errors that could be a problem in earlier versions of Panorama.

### Saving the Imported Database

The imported database is automatically assigned the same name as the Panorama 6 database, with (Panorama 6) added.

Although the database appears to have a name, Panorama X really treats it as untitled until you save it. The first time you choose the File > Save command, Panorama X will ask you to specify the actual name and location of the file.

At this point you will probably want to remove (Panorama 6) from the end of the name.

### Post Import Fix-ups

Now that your database has been converted to Panorama X, you should check to see if there are any fix-ups needed to complete the transition to Panorama X.

#### Font Metrics

If possible, Panorama X preserves the fonts applied to objects in your forms. However, the font measurements in Panorama X may be slightly different, so you may need to make small adjustments to get everything to look perfect. By the way, Panorama uses a completely new method for storing font information, and unlike Panorama 6, it won’t lose all of the font information if you open a database on a computer that doesn’t have all of the fonts used in your forms.

#### Procedure Errors

Most procedures will transfer to Panorama X without any problems, but there are some (mostly obscure) statements and functions that are no longer available in Panorama X (see Unimplemented Statements and Functions). To check to see if any of your procedures have problems, just look in the View menu. Any procedures with errors are highlighted with an exclamation point in a red circle.

#### Action Menu Options

In Panorama 6, special suffixes could be added to procedure names to customize the Action menu. For example, the suffix `/N` would be used to add the command key equivalent N to an action menu item, or the suffix `<B` would be used to make the menu item bold.

In Panorama X, these suffixes are no longer used. Instead, you simply specify the attributes you want in the Property Inspector, completely independently from the name (and as you can see, you have many more options than before).

When a Panorama 6 database is imported, any suffixes in the procedure names are automatically removed, and the proper options applied. It’s all done for you. However, there is one task that cannot be done for you – adjusting any `call` statements in other procedures that call the procedure. For example, if a procedure contains this line:

    call "New Invoice/N"

it needs to be adjusted to:

    call "New Invoice"

You have to do this manually, but Panorama X does include a fantastic tool to help you with tasks like this. Open the View > Open View window, and make sure the Full Source option is selected. Then type in text you need to search for. Any forms or procedures that contain this text will be listed.

Simply double click on any item to open it, or press the down arrow until the item you want is highlighted and then press the Return key.

#### Custom Menus using Resources

In 2005 Live Menus (see Custom Menus) were added to Panorama 5.0 and resource based custom menus were deprecated. If you are still using resource based custom menus, you’ll have to convert to Live Menus now. In fact, Panorama X no longer supports resources at all (Apple dropped ResEdit years ago).

#### SuperDate Fields

If your database has any fields that contain SuperDate values, you should create a short procedure and use the fixsuperdates statement to adjust these values after converting from Panorama 6 to X. For example, suppose the database contains two fields with SuperDate values: Arrival and Departure. This short program will fix up any incorrect SuperDate values in these fields.

    field Arrival
    fixsuperdates
    field Departure
    fixsuperdates

You only need to run this procedure once, so after you run it and save the database, you can delete the procedure.

#### Drag and Drop

Panorama X uses a new scheme for drag-and-drop, so if you were using the old scheme you’ll have to convert. Fortunately, the new scheme is very simple, so rewriting should be easy. See Drag and Drop.

#### Form Object Programming

If you are doing hard-core programming of objects on forms, you may have to rewrite some of your code. Basic operations like changing object dimensions or colors are the same, but manipulating the internal data in most objects is different. The good news is that Panorama X has a much more powerful and flexible system for working with objects, in fact your programs can now do anything that can be done in graphics mode, including creating new objects from scratch.