JMRI Setup - Configuration Profiles

# JMRI Setup: Configuration Profiles

Configuration Profiles allow a single JMRI application to be launched with one of multiple user-specified Configurations. A Configuration Profile contains all Preferences as they are set in the JMRI Preferences dialog, and may - optionally - include user files, a Roster, and Throttles.

By default, only one profile is used and it's not made very visible to the user. But having multiple profiles can be useful:

- For example, you can have one profile in your laptop that defines all your hardware connections, and another that defines the same ones as "simulated" connections. By picking one or the other when starting up, you can both work at the layout with real connections and also work offline, without the real layout hardware connected.
- Another example would be one profile for your own layout, and another for using DecoderPro at your local club.

When opening an older (before JMRI 3.9) configuration in one of the newer applications, the way Preferences are stored is converted. The application notifies you with this dialog:

When a JMRI application (version 3.9 and up) is launched for the first time, it checks for a Configuration Profile. If no Profile exists, the application will create a default Profile and use it without prompting you. If only a single Profile is found, the application will use that Profile without prompting you. If there are multiple Profiles, the application will prompt you for the Profile to use. You may specify that the application should always start with the same Profile.

By default, when a JMRI application starts up with multiple profiles, it prompts the user for which Configuration Profile to use:

If the user doesn't select a new Profile and click OK, the program will continue with the default Profile after a short delay. You can check a box in the preferences to bypass this step and go directly to the last-used Profile.

## Profile Management

Configuration Profiles can be managed in the application preferences, under the Profile Configuration tab.

The line marked "Current active Profile" in the Status column is being used by this run of the JMRI application, and is also where Preferences changes will be saved.

To use or configure a different Profile, select it, click "Activate", Save and restart the application.

For more information on how to configure JMRI to share its configuration files between multiple computers, see the help page on using Dropbox with JMRI.

We recommend that Profile directory names end in `.jmri` so that other applications can use that extension to recognize a profile by extension. JMRI automatically adds `.jmri` to the name of the directory for new Profiles. If `.jmri` is added to the name of an existing Profile directory, JMRI should automatically recognize and handle that change.

## Sharing Profiles

### Exporting

Profiles can be exported from the application preferences Config Profile section. An exported Profile is a compressed archive containing the Profile's contents, and will optionally contain the user files and roster if they are stored outside the Profile.

### Importing

JMRI does not yet directly support importing Profiles.

A Profile can be imported by uncompressing it using an archive management utility into a new directory and then opening while launching JMRI or from the application's Preferences by clicking the "Add Existing..." button.

Note that using the Profile Import/Export capability to copy JMRI data back and forth between two computers is neither supported or recommended.

## Upgrading from Earlier Versions of JMRI

When you first run a JMRI application after upgrading from an earlier version of JMRI, the application will copy its existing configuration to a new Profile, and use that Profile. If you are using a JMRI application you had not used prior to upgrading, the application will behave as described above.