Syncing Custom Component Palettes

So, we’ve created a few custom components. For instance, a button that on mouseclick, appears to depress, as buttons did previously on Version 7. (and probably should by default, feedback to the user is important)

That custom component is then put into a custom palette on the ‘global’ project. Every new project that inherits ‘global’ will be able to pull that custom palette as though it were a stock component.

The issue, as I have just learned, is when we try to expand the set. Any new project that is created inheriting from ‘global’ will have the full set of custom components. Any old projects will not have their custom pallettes updated. The components can be cut/pasted from other projects, but continuously syncing the custom palettes between parent and child seems like an easy, simple way to extend functionality.

It is of course very possible that I’m doing this wrong, but I have tried to Uninherit and Reinherit global and that does not work. And I’m aware of export/importing, but that would require a project by project effort and be more trouble than cut/pasting.

Palettes are probably stored in a singleton resource on disk, so after they’re inherited once, they’re “stuck” forever, unless you delete them in the child project(s). There’s no real workaround for this inside the designer. What you could do is go to the filesystem and delete the resource manually in the child projects whenever you need to sync updates - but that’s obviously a bit unwieldy.

I already have a rather unweildy solution, and a second unweildy backup, I’m just suggesting that creating custom components that are inheritable in a live way would add a lot of functionality.

Whether or not that’s possible with how the backend is designed is beyond my scope.

It would be nice if a little effort could be made towards better source control compatibility on the Vision side.... like these recommendations I made earlier this year so the resource on disk could be the XML from the shift-right-click menu:

1 Like

What was your solution? I am coming across what seems to be the same thing. Me and and co-worker are working on project changes, but not changing anything with the custom palettes, but any time one of us saves, it forces the other person to resolve conflicts when there really aren't any changes.

This is what's in one of the files to give you an idea.

If anyone wants to upvote this fix, I've posted it here. syncing custom palettes | Voters | Inductive Automation