Getting current page macro information through JavaScript?

Hello!

I have some users who are bloating some confluence pages with macros which is causing slow performance. 

Is there a for me to use the JavaScript API to count 1) The number of confluence macros currently used on the page 2) Get the names of these macros? 

I looked at the AJS API and saw that there is a "AJS.params" object but couldn't find any macro info in there. Also examined the AJS.MacroBrowser API and couldn't find anything useful..

Any ideas?

1 answer

0 votes
Davin Studer Community Champion Dec 01, 2017

If you have access to running a query against the database this will give you a list of your pages sorted by macro count per page.

select
C.CONTENTID,
S.SPACENAME,
C.TITLE,
(len(cast(B.BODY as nvarchar(max))) - len(replace(cast(B.BODY as nvarchar(max)), '<ac:structured-macro', ''))) / len('<ac:structured-macro') as MACROCOUNT
from CONTENT C
inner join BODYCONTENT B on C.CONTENTID = B.CONTENTID
inner join SPACES S on C.SPACEID = S.SPACEID
where C.PREVVER is null
and C.CONTENT_STATUS = 'current'
and C.CONTENTTYPE in ('PAGE', 'BLOGPOST')
order by MACROCOUNT desc

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 12, 2019 in Confluence

Confluence Admin Certification now $150 for Community Members

More and more people are building their careers with Atlassian, and we want you to be at the front of this wave! Important Dates Start the Certification Prep Course by 2 April 2019 Take your e...

1,495 views 4 13
Read article

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