Save early and often with this Connexion macro


The OCLC online save file is handy for storing and sharing original records in progress, but its behavior discourages saving often. You can eliminate some of this hassle by using my new Connexion macro to save your records!

The Problem

While creating (or updating) new MARC records in OCLC, there are many options for saving your work, but my preferred method is the online save file; it provides an offsite backup, and allows for easy collaboration between local catalogers. One disadvantage is that Connexion’s option to “Save Record to Online File” really means “Save and then Close”. Objectively, it’s not that much trouble to make a mental note of the record number it reports, and then search the save file to retrieve that same record again, but when most software allows a simple tap of a save button or does silent periodic auto-saves (even versioning!), it seems excessive.

Abeille-bee.svgUsing the existing function, saving to the online file breaks the flow of work just enough that I often don’t do it until I’ve hit a good stopping point, and that is sometimes too late. It adds a little bit of stress to my day that one of the more labor-intensive parts of my job (original cataloging) I do without a safety net. What if there’s a crash? A power outage? (A swarm of angry bees?) What if I just hit the wrong button and confirm closing a record I haven’t saved yet? (I’ve done that more times than I’d like to admit.) I’d just have to start over on that record, and I don’t have time for that.

The Code

The OML (OCLC Macro Language) source code for this macro (“SaveNoClose”) and a packaged mbk file (containing all of my Connexion macros) are available from my Connexion GitHub repository.

If you run this macro while editing any bibliographic or authority record (new, from a local save file, or from the online save file), it will save that record to the appropriate online file, report the number of the record where it saved, and then re-open the record so you can continue editing. If the pop-up is too distracting, you can edit the macro and comment out the appropriate line starting with “msgbox”, but this version left me more confident that the record had actually been saved.

If the record is from a local save file, a copy of it will remain in the local save file; you will have to delete it manually if you want it gone.  Also, it will log you in with your default authorization and leave you logged in; if it logged off, the just-opened record would close! If you are working on a record from a local save file and want to continue saving in that local save file, I recommend just using the “Save Record to Local File” option; it does not close the record the way the online equivalent does.

I wanted very much for this same macro to work for constant data records, but these appear to be different animals. Rather than just assigning the record to the first available number in the save file, Connexion prompts the user for a name that will serve as that constant data’s identifier. The macro function CS.OnlineSave does work on constant data records (it saves them) but it always returns -1 (not the name that could be used to re-open the record through the nm: index). Even worse, if the record is new, it doesn’t prompt you to enter a name. While experimenting with this, I managed to save one with no name at all; it appears on the list, but does not open when I click on it:
I have not tried deleting it, partly out of fear that it will delete all of them! I don’t think I can make saving of constant data files work nicely enough that they should be included in the macro, so they currently just generate a helpful message about how to save them. Also, at my library we don’t make nearly as many constant data files as we do bibliographic or authority files, and I don’t build them in quite the same way, so I don’t think I’ll miss the functionality.

What do you do?

How do you save your original records in progress?

Do you do a lot of editing of constant data files where easy saving would be useful?