A Work-In-Progress
Note: The PanelPro main menu has changed. See Loading and Storing Your Work for details. The menu references below are for the new menu structure, with the old menu paths in braces.
This page includes information intended for advanced users of JMRI. Basic information on commands to load and store your work is available here. The additional information on the current page is not necessary for ordinary, day-to-day use of JMRI but may be of interest to those who want to understand in more detail when, how, and where JMRI stores the data you and the system create and update.
As you work with JMRI, you will create and update many different items within JMRI's various applications and tools. You may also develop and run "scripts" (external programs) that will do that as well. JMRI will update some of these at certain points during train operation. Although JMRI tries to hide lots of technical details from you, some model railroaders want to know how things work: what data is created when you take various actions, when it gets updated by the JMRI programs, and also whether it gets saved once you quit JMRI and come back at another time. This page provides a reference guide to all JMRI data, how it gets created and updated, when it gets saved (some doesn't!), and, for more advanced users, where it gets stored.
We want to stress that this is additional technical detail. You should not need to know this for normal operation of the programs. If you find that you do, perhaps there's something going wrong, and before reading this page you should ask for help on the JmriUsers group or elsewhere.
The Elements by Category table columns show the following information:
Category: The tables below categorize the different types of JMRI data to make this information easier to present and hopefully to understand. These categories are shown in the column labelled "Category":
Creates/Stores:When it comes to saving what you input and/or what JMRI does with that input, there are multiple different situations, shown in the table column "Creates/Stores". There is data that is:
The key to successful operation with JMRI is understanding which is which. And that is what the tables below will show you.
Save Command:Unfortunately, there is no single command to save all user created or modified data. It is important to recognize when and where you have to take some action to make sure your work is there the next time you come back to it. As the table shows in the column labelled "Save Command", these are the places where a command to "save" or "store" will save and store some portion of your work:
These commands are identified in the tables by these numbers.
Where Stored: Data stored on disk by JMRI is separated into a number of files and directories. The typical user shouldn't have to deal with these, but for those who are interested, see the help page on Profile File Structure.
This index cross-references JMRI data by Category: Layout Element, Operations Element, Roster Element, Preferences, and Other. The column Creates/Saves uses abbreviations for the situations listed above, e.g. "UC/US" means "User Created/ User Stored." The Store Command uses the numbers above for the different commands.
Click a heading to sort the list up or down by that column.
Category | Data Types | Where Created | Creates/Stores | Store Command | Where Stored | |
---|---|---|---|---|---|---|
Layout Elements | LE Panels, Track Connections, Block Assignments, Signal Placement | Layout Editor | UC/US | 2, 3(b) | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Layout Elements | Sensor, Turnout, Block, Light | Table for specific element type | UC/US | 2, 3 | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Layout Elements | Icons, Images, Image Index | Icon Editor, Image Index Editor | UC/US | 5 | Image/icon files where specified (default is the User Files Location directory). Image index in catalogTrees.xml in the User Files location. | |
Layout Elements | Blocks | Block Table | UC/US | 2, 3 | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Operations Elements | Throttles | ?? | UC/US | |||
Operations Elements | Consisting | ?? | UC/US | |||
Operations Elements | Block Contents (Value) | Block Table | UC/AS [User enters then Block Tracking auto updates] or AC/AS [if Reporter linked to Block] | NA | blockvalues.xml in User Files location | ✔ |
Operations Elements | Sensor Status, Turnout Status, Block (Occupancy) Status | Table for specific element type | AC/NS | Status data is not saved when JMRI is closed. | NA | ✔ |
Operations Elements | Occupancy Block (OBlock) | OBlock Table | UC/US | 2, 3 | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Operations Elements | OBlock, Portal, OPath | Circuit Builder | AC/US | 2, 3 | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Operations Elements | Reporter | Automatically by LocoNet transponding, RFID; or manually Reporter Table | AC or UC/US | 3 | "[user named].xml" files where specified (default is the User Files Location directory) | ✔ |
Operations Elements | Scripts | Script Entry window or external editor | UC/US | 6 | Scripts are stored in ".py" or ".js" files where specified by user (default: Script Location) | ✔ |
Operations Elements | Speedometer | UC/US | Tools ⇒ Speedometer, Hit "Save as default" | In PanelProSpeedometer.xml in User Files location. NOTE: "Save as default" causes sensors to be created if they do not already exist. These must then be saved in a panel file. | ||
Operations Elements | Timetable data | UC/US | Tools ⇒ Timetable, Hit "Save" | In timetable/TimeTableData.xml in User Files location | ||
Operations Elements | CTC data | UC/US | 2, 3 | Included in the tables and panels xml data file | ||
Operations Elements | Dispatcher | UC/US | ? | In dispatcheroptions.xml in User Files location | ||
Operations Elements | Dispatcher trains | UC/US | ? | In dispatcheroptions.xml in User Files location | ||
Operations Elements | OperationsPro data | Operations Pro (Operations menu) | UC/AS | Appropriate file saved when changes made | In six files in operations/ in User Files location | ✔ |
Other | Window size/location | UC/AS | Saved when window is moved or resized | Saved in the user-interface.xml file in the Profile location. | ||
Other | Backup panels | Whenever tables and panels are stored with the same file name. | AC/AS | NA | In backupPanels/ in User Files location | ✔ |
RFID | ID Tag Info | When RFID tags are read via RFID, MQTT, or other Reporter message | AC/AS | NA | In subdirectory "idtags" in User Files Location | ✔ |
Roster Info | Roster Entry Info | Changing info on main Roster page | UC/AS | 4(a) | Individual files in subdirectory "roster" in Roster Files Location | ✔ |
Roster Info | Roster Entry (full) | "Save" Roster Entry | UC/US | 4(b) | Individual files in subdirectory "roster" in Roster Files Location | ✔ |
Roster Info | Decoder CVs | "Write" Roster Entry | UC/US | 4(c) | Individual files in subdirectory "roster" in Roster Files Location | ✔ |
Roster Info | Roster Group | DecoderPro Settings ⇒ options for Roster Group | UC/AS | 4(a) | roster.xml Roster Files Location | ✔ |
Roster Info | Consisting | Select "Consist" tab on individual roster entry | UC/US | Individual decoder files in Roster Files Location | ||
Roster Info | Consisting | Direct Entry to Consisting window | UC/NS | ?? | Not saved. | |
System Preferences | Config Profiles | Select Config Profiles in Preferences window under Edit pulldown | UC/US | 1 | In subdirectories under Config File location. | ✔ |
System Preferences | Connections, Defaults, File Locations, Start Up Actions, etc. | Select different items in Preferences window under Edit pulldown | UC/US | 1 | In several files in the Settings Location. | ✔ |
MORE | MORE | 1, 2, 3, 4(a), 4(b), 4(c), 5, 6? |