How do I create dynamic templates/master objects? [upd: workaround exists]

What I mean is this: I am working on web app UI prototyping, and obviously there are a lot of recurring elements. I want to create say a “cancel” button as a source template/stencil and be able to use it throughout my project; and then, if I modify the source, the change(s) would be automatically reflected in the project (e.g., I change the icon in the button).

Is this possible? Stencils don’t do that, neither do templates. The closest I can see is shared layers, but I really don’t see them working well for this - too cumbersome, too much of a pain to manage (not even sure if they would work at all - can a shared layer be repositioned inside another canvas in the project?).

I emailed support about this and two things:

  • It’s on the list of possible enhancements for OmniGraffle, so if anyone else is interested, I’d suggest emailing to make your voice heard. They do listen!
  • There’s an actual, honest to goodness workaround. (Which is great, but I hope it won’t prevent the OG to move forward with implementing a better solution!)

Omnigraffle implements a feature called LinkBack. It’s actually mentioned in the manual, not sure how I missed it. It works as follows:

  • Select the object(s)/group(s) you want to use as a source/template. Right-click (or Option-Click, or open the Edit menu) and select Copy As -> PDF.
  • Paste where desired. The pasted objects are now linked to a master source.
  • To edit the source/master object, double-click any of these new objects. This will take you to a canvas where you can make all desired modifications, but don’t forget to Save that document. Once saved, the changes will be instantly reflected in your working document…
  • … except for the original group or object that you copied from. This one’s still a regular object, not a LinkBack copy, so it won’t be updated. If that matters, just replace it with a PDF copy of itself.

Awesome, right? :-)

Clearly the management part of this sucks. You don’t have a nice list of your master objects like stencils or templates. Still, this works real nice.

Thanks a lot for that. A nice, genuine workaround, but a little hairy.

What this approach misses for me are the magnets and grid-alignment of the original object, but in several situations it will do the job. Also, the ability to edit the original in-place would help in many cases to get it to fit in its context.

I really hope proper master support (change once, propagates throughout) gets implemented soon! I have been also using copy as pdf (LinkBack) but as you’ve mentioned @joshs, it doesn’t retain dimensions as it adds shadows and borders in the instances, but not in the original.

@scoobs; Being able to create a library of graphics, colors, styles, etc is just not possible (practically) in OG. I had great hopes of using OG for some icon development/prototyping but it is just too awkward. For what you need, I hate to say it, you should probably look for another software solution. PaintCode has a neat library capability that does what you describe but I am sure there are other solutions available also.

it’s really interesting that the folks at Omni chose not to add symbols to their improvements in v7. It’s actually what drove me to switch to Sketch just a few weeks ago.

I still hope to use omnigraffle for lo-fi’s and sketches, but I’m not holding my breath.

Symbols aren’t the only way to change a master object, and propogate changes to the clones throughout. In fact, there are cognitively simpler ways to achieve the same functionality. I wrote about one such way here.

As per my knowdlege its not possible