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 Nov 29, 2018 in New to Confluence

How to use Confluence Cloud for stakeholder management

Most of us don’t need much convincing that stakeholder management is important. It just makes sense that keeping everyone in-the-know on projects and assigning clearly defined roles is key to having ...

1,117 views 2 6
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