Helen,
Thanks for the detailed response, and I’ll reply in kind...
I think the changes are worthwhile, thank you. Originally, I had issues as the title suggests that the article could be equally relevant to any user writing plugins for multiple versions. This includes upgraders, those temporarily running different versions in parallel (which is really just a subset of the first group), and finally the relatively small group of people who contribute plugins via the store.
As written, the implication was all plugin code would be affected (“this must”, “all plugins”, etc), and that is clearly not the case. Yes, virtually all big full-fat plugins of the type you, Mike and Jane write would be affected, but there is a larger community (of unknown and unknowable size) where the impact will range from major to none at all, depending on the complexity of their coding.
That’s why I picked you up on the offending statement that escaped the proofreads. It probably makes perfect sense to routinely include the code block in complicated plugins that need it, but not in simple ones that don’t. That wasn’t what the author intended, but it’s what was written down.
What’s “good” and “bad” style for coding is a topic all of its own. Certainly there is no shortage of long-standing FHUG users who are not shy about expressing views on what is good and bad practice in family history researching and recording...
Some of it may arise from the unanswered question of how store plugins should be created. Should they be coded to be as elegant and efficient as possible, even if that means they may be rather opaque? Or should they be written to be as accessible as possible, so beginners can usefully crib and learn from them, and others can run with them in the future to develop and adapt? I suspect the tendency is more the former, given the admission that even among the 3 very experienced active store authors you can’t always follow each other’s logic at times. My training and work experience strongly drives me to the latter, where scripts would be frequently handed over to other people to maintain and develop over a period of many years.
Hopefully, if Shosh’s school comes to pass, that will fill a training gap.
For this KB, I don’t think we need to do much more. I would probably expand the introduction a little, along the lines of “many users will need to write plugins that work in multiple versions of FH. Depending on the complexity of the plugin, the impact will range from nonexistent to extensive. Basic guidance for upgrading or converting is provided in FH plugin help, but this article provides a more comprehensive overview and is aimed mainly at the authors of store plugins...”