Most of the macros I share are "use as is" macros. But a couple, and one in particular, allow a fair amount of user customization. The one in particular is the web search via abbreviations macro, where pretty much every user has their own list of preferred shortcuts.
I have the macro set up with all the user customizations in a separate sub-macro. Still, this means that to upgrade, a user must:
- Install the new macro.
- Open two KM editor windows (ideally), one with the old macro selected, one with the new.
- Copy the contents of four separate variable definition boxes (that hold their modified content) from the old macro, and paste into the new macro.
This is a bit of a pain, so I've been thinking about how to make it easier. Unfortunately, I can only come up with one solution, and it's still not ideal. I could store their settings in a few global variables, instead of in the macro itself. When they launch the macro, it would check to see if there are any new entries in the user area, and if so, make the proper changes (add or remove) to the saved variables.
The upside of this method is that the variables would survive a macro upgrade, so there wouldn't be any work to do when they upgrade. The downside is that they can't easily see the list of things they've changed, as they can now by browsing the set variable actions.
The only way I see around that is to write an entire editor that would show their customized items, and allow them to do all adds, deletes, and changes from that screen. And the only way I can see to do that is via a whole bunch of JavaScript running in a Custom HTML Prompt action ...and that sounds like a ton of work.
Is there some other way to make the upgrade process easier for existing users with customized content?
thanks;
-rob.