Skip to main content

Version 5.1.1

· 8 min read
Bob Hall
Creator of Moduops

Finally. The long awaited re-write of ModuOps is here!

New data layer

The User Interface looks the same as it has in the past. The under-pinnings of the app have been completely renovated. A brand new data layer is slid in on top of a sqlLite database. As a result you will see that opening a data file is significantly faster. When you use the app now everything you do is read/written directly to the database.

The notion of "saving" your data file has gone away. As you use the app, your data is updated as you go along. This takes a bit to get used to for sure.

NEW FILE FORMAT

The data file is now the actual database for the app. Which unfortunately means that old data files are not compatible with the new version. There was no way to make the file formats compatible and for that I am sorry.

Not to worry. Files created with older versions of ModoOps (v2017+) can be converted to the new file format. The process is as easy as I could think of.

  • select "Convert..." in the file menu
  • step 1 will have you create a a new blank file in the new format, give the file a name and save it in a location where you'll be able to find it again
  • step 2 is to locate your old .mop file on your hard drive and select it
  • Viola! The old data is converted to the new format and is ready to use in the new version of ModuOps

If you have any issues converting your data file PLEASE REACH OUT TO ME. Email me the data file that you are having issues with and I'll see if I am able to convert it for you.

Trainlist screen updates

Renaming schedule engines

I decided to update the Trainlist screen a bit as well. As the app has gained more wide-spread use the scheduling engine naming is confusing. Very few of us know what it means to schedule like the Mad River and Big Timber software did.

You will see the Trainlist screen calls out the options for what they are, "Random" and "Use Cars/Week". The random option is just that, completely random based on the equipment needs all having a factor of 1 -- ie. all equipment needs are weighted as 1 unit. If a train has 10 potential requests, each item has a 10% chance of being selected no matter what the cars per week value is. Of course that changes if drop zones are full and cars can not be scheduled to a specific drop zone.

The "Use Cars/Week" option looks at the cars per week (CPW) defined for each equipment request resulting in a weighted random selection. This has the effect of statistically higher rates of selection for equipment needs with higher CPW values.

Drop zone favoring

On the Trainlist screen is a new slider labeled "Drop Zone Favoring". The intention of this is to be able to increase the probability that the currently selected drop zone is re-selected for the next item of work going on the train.

The slider has "notches" from 0% to 100% in 25% increments. The default is set so there is a 50% chance of re-selecting the current drop zone again.

Why do you need this? Ops Chiefs will have the option to send larger cuts of cars to drop zones. If the slider is at "Never", trains will tend to have drops for more consignees with drop zone capacity trending toward less full.

On the other end of the scale if you select "Always", trains will tend to service fewer Consignees, have larger cuts per drop zone resulting in drop zones being near capacity.

Remember the system is using random generation for all this so your mileage will vary. In general you should see the trends described above. You'll have to play around with this for your setups to see what the right balance is.

New version numbers going forward

I've decided to ditch version numbers that started with the year in favor of following a more traditional version numbering scheme. As a result this new version you'll find is v5.1.1. Why 5? Well I went back and looked at how many "major" prior versions we had. I came up with 4. So I made this version 5.

Speed

Not that the app was all that slow in the past but I did put some effort into optimizing lots of things across the app. I'm hoping there's a sense the app is a little zippier.

Export module files now standard JSON

I've changed the format of the export files to now be standard JSON. I won't go into what JSON is but let's just say it's a standard for storing/transmitting data that is relatively easy to figure out and can be edited with any text editor.

You do need to be a little careful about editing the files by hand so you do not create either a syntax error or some data that may not be valid. But, this should allow for easier exchange of modules between Ops Chiefs.

This change paves the way for an integrated, online module library.

Online module library

If you have ever taken on the role of Ops Chief for a setup you know that getting the initial modules into the application can be quite a chore if you have nothing to start from. I know that many of the "regulars" have a data file that they start from that already has most if not all of the modules they will need in it.

I do have plans to bring a true online module library to ModuOps but for now we have our first step in getting there.

I have created an online open repository on Github. Github is a service that allows you to store text files (usually programming code) online and provides version control of the files. The service has a very generous free tier. While it is mostly used by programmers, it's not too difficult to download files from the service if you are not a programmer.

If you are familiar with Github, please jump on in and get the repo cloned to your local drive. If you have a data file and would like to have the modules available but are not familiar with Github, no worries. Send me the file and I'll do the work to get the modules posted online.

Feel free to head on over to the ModuOps Module Repository. The files are completely viewable from the website (for free). Of course when you open one of the module files it may look like Greek if you're not familiar with JSON.

Feel free to suggest module changes via email or if you already have a Github account go ahead and open up an issue. I will open issues as I do work with modules. Everyone should feel free to click on the "Issues" tab and see what's in the pipeline for changes to the public modules repository. If you have thoughts on the structure let me know. I took a first swing at setting things up but it is not set in stone.

We'll see how this goes. It's not ideal but it is better than trying to find modules for a setup when you know that someone already has used the module. I hope this start makes things a little easier when planning a new Ops session.

I'm working on a new section in the online manual detailing how to download and import modules from the public repository.

Mac updates

Apple Silicon native

This version natively runs on Apple Silicon hardware! The binary is dual-purposed supporting Intel macs as well.

macOS app signed

The Mac version of ModuOps is now officially code signed. This means that you should not have to jump through hoops to install ModuOps on your Mac. If you have any issues with this let me know.

Download

ModuOps is free software available on macOS and Windows. Head back to the ModuOps website home page where there is a download button near the bottom of the page.

Bug reports

While some effort was made to find issues before the release, I'm sure there are bugs out there. If you have any issues with the new version either post to the groups.io email list or a note to bhall underscore 2001 at yahoo dot com.