is there a way to search directly on XHTML or Storage Format?

I am trying to see if there is way to enter a Confluence search query which finds pages containing a macro with specific parameters.  

Partial solution:  This actually still seems to work from a way back article by Sarah Maddox in so far as one can search:  macroName: x*

https://ffeathers.wordpress.com/2011/11/04/how-to-search-confluence-for-usage-of-a-macro/

 OR  another helpful solution would be how to create something like a regex which searches XHTML or Storage Format for Confluence pages matching the criteria.

Thank you for any insights!!

2 answers

0 vote
Joe Xie Atlassian Team Jan 27, 2016

you can try using CQL to search for uses of macros (see https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql#AdvancedSearchingusingCQL-macroMacroMacro), but that doesn't let you specify the parameters unfortunately.

Hi Brendan,

If you are willing to wirte a plugin, this is the code snippet to find macros and their parameters:

 

    MacroDefinitionHandler macroDefinitionHandler = new MacroDefinitionHandler() {

        public void handle(MacroDefinition macroDefinition) { 

            String macroName = macroDefinition.getName();                

            if (macroName != null && macroName.equals(MACRO_NAME)) { 

                buttonCaptions.add(macroDefinition.getParameter(PARAM_CAPTION));

            }            

        }

    };

    try {

        xhtmlContent.handleMacroDefinitions(pageInStorageFormat, conversionContext, macroDefinitionHandler);

    }        

    catch (XhtmlException e) {

        throw new PtcException("Couldn't extract button name from MACRO_NAME.",e);

    }

 

I hope this gives you a good starting point.

Regards,
Stephan

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Posted Jul 10, 2018 in Confluence

We want to see the templates you've created in Confluence!

Hi Community, Jessica here from the Confluence Product Marketing team!  July’s community challenge is all about sharing pictures  — and as an extension of our first post on what ...

974 views 23 12
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you