Trouble invoking UI Macro
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-26-2012 03:19 PM
I've created two new UI Macros based on two built-in UI Macros: "macro_watch_list" and "lightweight_glide_list". My new UI Macros are called "macro_monitor_list" and "lightweight_glide_list_2".
In the new "macro_monitor_list" UI Macro I defined the jvar_reference to a monitor table I'm using and I changed the UI Macro to invoke the new "lightweight_glide_list_2" UI Macro.
Seems pretty straight forward. But, the "macro_monitor_list" UI Macro doesn't show. If I change the "macro_monitor_list" to invoke the original "lightweight_glide_list" UI Macro, it displays just fine. I haven't changed anything in my copied "lightweight_glide_list_2" UI Macro (it's an identical copy) so I'm at a loss as to why it doesn't render?
Any thoughts?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-02-2012 03:04 PM
To be honest, I'm surprised this issue did not get as much attention as I thought it would. I figured someone would have chimed in relatively quickly, especially from the ServiceNow crowd. Anyway, I happened upon a solution (work-around?), but as you'll see, there still seems to be an issue that ServiceNow probably needs to address or explain.
The Solution:
Rather than invoking the UI Macro using this format:
<g:lightweight_glide_list_2 />
Using the format with the macro= parameter renders the UI Macro as expected:
<g:some_arbitrary_name macro="lightweight_glide_list_2" />
So the question for ServiceNow is, why doesn't the first approach work?
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-03-2012 05:36 AM
My bad on the using the macro= above. The tag must be named macro_invoke and not some arbitrary name. For example:
<g:macro_invoke macro="lightweight_glide_list_2" />

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-02-2016 04:41 AM
Thank you for this fix! I too am not sure why this needs to be done this way.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-02-2012 03:33 PM
Sounds like a caching issue. Perhaps new UI Macros don't automatically update the list of templates/macros available when referenced using the g:u_macro_name tag.
I wonder if it would work as expected if you used the g:inline tag instead whenever you're calling a macro - I'll bet it uses a different cache, or maybe bypasses a cache:
<g:inline template="u_macro_name" />