FLAP Phase Two Prep Status Update: Name Change and KIDS Bug

With prep for and recovery from the VISTA Community Meeting in Sacramento, it's a good time to jump back into our series of blog posts about FLAP Phase Two Prep, which has continued through this period.

On 5 January we delivered a preview RSA file of MSC Fileman 22.2V3 to VA so their MSC Fileman 22.2 intake contract with Leidos could shift to the refreshed codebase. Since then I've been working on verification, cleanup, and packaging to prepare to distribute MSC Fileman 22.2 to the rest of the community.

This morning I finished a part-time, multi-week effort to standardize the first lines of all Fileman routines so they all pass the SAC and XINDEX. Next up is preparing the KIDS distribution, which I'll write about tomorrow, now that I've finished the research on which parts of Fileman can be distributed using KIDS.

Prior to that I found a bug in KIDS that created serious problems as a result of the renaming of the application from VA Fileman to MSC Fileman. Standard practice when renaming a VISTA application is to put the old name in the Package file's Synonym multiple, so any applications that hard-code references to it can still find it. KIDS itself, as well as some other VISTA applications, do contain such hard-coded references to the name VA Fileman. The Synonym multiple is cross-referenced, so by putting "VA FILEMAN" in that subfile we ensure that these lookups continue to work.

Unfortunately, the standard KIDS API for finding the current version of applications did not check the Synonym, making it impossible for VISTA applications to change their names without breaking all other applications that refer to their old names. Since KIDS itself referred to "VA Fileman," this meant that all patching in our Dev environment stopped working; after all, every application depends on Fileman 22.0, and if KIDS can't find it in the Package file, then it blocks further installs.

Therefore, the KIDS build for MSC Fileman 22.2 will require that a couple new patches be installed first - one for KIDS that fixes this bug, one for Pharmacy (which bypasses the standard KIDS call and hardcodes its own check for "VA Fileman"). I've already written the KIDS fix, which I'll test tomorrow, and the Pharmacy fix will be simple enough. Both of these will be released as OSEHRA VISTA patches.

KIDS was already slated to be patched for OSEHRA VISTA, to allow longer patch numbers, and that change will be bundled together into the same patch. Also, as long as I was patching KIDS, I converted its references to VA Fileman to MSC Fileman instead.

I likewise did a cleanup and standardization of Fileman's own references to itself, which used various spellings and capitalizations - which led to the discovery of the decades-long chaos on the first lines, now cleaned up. During that cataloging, I found a serious bug in Fileman's private remote procedures, one of which calls the wrong routine; I'll fix that tomorrow. I also found several routines we've carried around for in some cases decades that should have been deleted long ago, since they were temporary routines to help fix bugs back in the early 1990s or to help install old patches.

To those who in the past served as VISTA verifiers or worked closely with verifiers during VISTA's golden age, this should all sound familiar. It's the usual late-stage cleanup and release preparation, the process of combing out the tangles that inevitably accumulate over time whenever a VISTA application goes too many years with patching but no full version releases. It's like having guests over for company; it helps stimulate a thorough cleanup that rarely happens otherwise.

I expect to have a clean candidate RSA and KIDS distribution of MSC Fileman 22.2V4 ready in the next few days. I'm looking for nonproduction testers first, who have depth of experience in Fileman and are interested in installing it in a scratch environment and running it through its paces, looking for bugs. Once we finish that round of reviews, I'll be looking for production testers. Through this process, if testing turns up issues requiring further revisions, we'll keep incrementing that V number until we're all satisfied that we have a clean copy.

When all this testing is done, we'll cut the final release, which will be called MSC Fileman 22.2.