JMRI Setup: Migrating System Prefixes
JMRI system names are supposed to have a specific format that starts with a "system prefix" consisting of a single letter, optionally followed by digits. Unfortunately, for a while JMRI wasn't enforcing that properly, and in a few cases JMRI set itself up with prefixes that contained multiple letters. This can cause significant long term problems, so we're getting people to migrate their configurations and panel files to the proper format.Does this affect me?
You can check if this is an issue for your setup any of a couple ways:- Open the Preferences, and look at each of the "Connection" panes. If the connection prefix has a letter or a single letter plus digits, this doesn't affect you. If it has more than a single letter, you should do this migration. (With JMRI 4.13.4 or later, the background will be colored red and the tooltip will say "This is a legacy prefix that should be migrated, ask on JMRIusers" if the prefix needs to be migrated)
- Check the system log after running and quiting the program to see if there's a warning message about "The following system names need to be migrated..." If it's there, you should do this migration.
How to fix the issue
To fix this issue, you update your configuration and panel files to use new prefixes.If you encounter any problems, please ask for help on the JMRI users group. There are people there who will happily do the necessary file modifications. If your computer is connected to the Internet, you can upload your configuration as described on this page. This will make it easy for the people on jmriusers see exactly what's needed.
- First, you should be using JMRI 4.12 or later. If you're using an earlier version, please update to at least JMRI 4.12 and fix any problems.
- Next, determine the new prefix for your connection:
- DCCPP for DCC++ should be changed to D
- DP for DCC4PC should be changed to D
- DX for Anya DX should be changed to D
- MC for Marklin CS2 should be changed to M
- MR for MRC should be changed to M
- PI for Raspberry Pi should be changed to P
- TM for TMCC should be changed to T
- Take a backup of all your files. Maybe more than one. And make sure that they're usable in case you need to restore from them!
- Take all your panel files, and edit them to change the prefix of all the references. To help with this, the last time you run JMRI, it put a list of reference names in the log near the end, and a similar "legacy_bean_names.csv" file was written to your user files directory. You can search for each of those reference names in turn and change it to the new prefix.
- Start JMRI, open the Preferences to the Connection pane, change your connection prefix, Save and Restart.
What happens if I don't make this change?
If you don't make this change, your existing JMRI installation will keep working fine.If/when you update to newer versions of JMRI:
- When you update to JMRI 4.15.3 or later, you'll start getting prompts about fixing this every time you start JMRI.
- If you update to JMRI 4.17.1 or later (summer 2019) without fixing this, you won't be able to use your existing configuration or panel files.