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