Shared Macro Libraries

I'm trying to figure out a way to share part of my macro library (specific groups) with other people in my company. I'm the only one that builds the macros, but everyone else uses them, so I'd like to be able to sync them whenever I make changes.

I have quite a few macro groups that I don't really want to share with everyone, so I'd like to come up with a way just to sync specific ones. I'm doing something similar with Typinator, but it supports multiple library files, so I can just sync the files I want.

Anyone done something similar that can point me in the right direction?

2 Likes

I should probably be syncing my macros with my other computers in my house, so I'm interested in this problem too.

The first thing to note is that all the KM macros are stored in a single file in your computer. So even if we were able to sync that file, (which probably wouldn't work anyway) it would include all the groups, which you said you don't want to do.

So I don't think we can leave it to macOS to do the syncing, we will have to do the syncing ourselves. (I keep thinking about the hilarious commercial which ends "What are you sinking about?") https://www.youtube.com/watch?v=gmOTpIVxji8

I know there is a way to export a specific folder and save that file in a location. And there is also a way to load that file into some other running copy of KM, if KM has access to the folder where it is stored.

So are you content with going in this direction? I think we could probably create a macro that triggers at midnight to "write" your file into a shared network folder and then another macro that runs at 1am which "reads" this file onto the target computer.

For what it's worth, I've been syncing my macro library file for quite a while with iCloud and I haven't had any issues. So I don't think the syncing is the problem, it's "selective syncing".

I was thinking about using the export option you mentioned to save the file to be synced out to a shared folder, so it sounds like we're thinking in the same direction. I'll do some test exports/imports when I have a few minutes.

This issue has come up before, and there is no really good way to accomplish it directly. This is driven by the fact that ALL KM Macros are stored in ONE large file.

Here's an untested idea:

  • Create a separate user account on your Mac
  • Install KM in that account (each user on a Mac will have a separate KM setup)
  • From your main Mac account (where you have all Macros), export only those Macro Groups want to share.
    • You can export to the Mac /Users/Shared folder which all Mac users can access
  • Switch to your 2nd Mac user, and import/install this KM export file
  • Setup a KM Macro Sync for this Mac User
  • Have all of your colleagues whom you want to share with setup the same KM Sync
  • Whenever you're ready to update your "shared" Macro Groups, export the changed Macros from your main Mac user, and import them into your 2nd Mac User

This sounds a bit complicated, and it is, but after you have done is manually a few times to workout the exact workflow, you should be able to automate most of it. I'm thinking two macros:

  • One to do the export from your main Mac user account
  • One to do the import into the 2nd user account, and maybe notify you colleagues that an update has been made.

Good luck and let us know how it goes.

1 Like

I have the exact same issue. In the WIKI I learned about %MacUUID% token. Using it I can tell KM to "Disable" specific groups on end-user computers. This is only a workaround since the "Development" macros would be visible to end-users. It is also unsettling that end-users could make changes that would update the sync file. That's not what I want.