Quartz Composer Virtual Macros aren't very usable/Alias Macros feature request

Originator:signwave
Number:rdar://7926922 Date Originated:30-Apr-2010 10:50AM
Status:Open Resolved:
Product:Quartz Composer Product Version:4.0 (103.1)
Classification:Feature (New) Reproducible:n/a
 
Currently, Quartz Composer offers Virtual Macros as a way to encapsulate functionality into a re-usable form that can be duplicated easily and altered at a later stage without paying the penalty of changing each instance. This is invaluable in any large-scale production job.

However, this relies on the prototype form of the macro to be stored in an external QTZ file which is located in a Library somewhere on the host computer - and worse yet, in a place that has no relationship at all to the QTZ that uses it. QC4 does go to the effort of embedding this data within the host QTZ to avoid a loading error if this file isn't available, but the basic operation is fundamentally predicated on the need for these external files, especially if they are to be editable.

Whilst valuable, this feature is at odds with many large-scale project requirements to keep specially produced components separate from more generally authored components. This bugreport is intended to highlight this problem, and makes a recommendation to improve QC's UI so that similar functionality can be achieved without the need to rely on external files, yet retain the power of Virtual Macros. I call this functionality "Alias Macros".

Recommendation
I would recommend that in addition to Virtual Macros, a new type of similar "reference to an existing macro" macro is available, which borrows from the Finder's alias mechanism. When a normal macro in QC is selected and copied, it can be pasted either as a duplicate (as currently happens), or as an Alias Macro. This Alias Macro has it's title in italics (or perhaps with a little swooshy arrow in the corner) which indicates it is an instance of an already existing macro. If using drag'n'drop, the user would hold down alt to make a copy, but if she held down cmd-alt, an Alias Macro would be created instead (exactly how the Finder works).

These Alias Macros can still be double-clicked and edited, but doing so edits the original instance of the macro, and any changes are thus reflected in all aliases of it. The user would need to be aware that they are editing an Alias Macro in this manner, so a suitable icon or colour background would alert the user to this situation.

The original prototype macro can be found from any Alias Macro by right-clicking and selecting "Show original" from the contextual menu.

Finally, any Alias Macro can be converted into a normal macro in an advanced operation that would be accessible through a menu.

Comments

Yes, please!

The problem of changing the Virtual Marco .qtz file for purpose A is it may at the same time break purposes B, C, D,… in other unrelated compositions. That's the main problem for me.

Virtual and Alias option would be an improvement.

Alternative names: Function Macro, Shared Macro (Alias Macro sounds not quite it to me even if it was the idea memonic).

By QC.student.au at Dec. 13, 2010, 9:36 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!