Hi peoples! Please, tell me analogue these plugins for Confluence 4 and above
https://marketplace.atlassian.com/plugins/com.comalatech.macrostats
https://marketplace.atlassian.com/plugins/com.atlassian.confluence.plugins.macro-usage
This method https://answers.atlassian.com/questions/155280 doesn't work
Here is a user macro that I have created for this. Just put it on a page and it should give you a report of all of the macros and user macros that are being used in your instance. This requires at least Confluence 5.5 as the MacroBrowserManager.getMacroSummaries() method was added in 5.5.
## Developed by: Davin Studer ## Date created: 12/17/2014 ## @noparams #set($containerManagerClass = $content.class.forName('com.atlassian.spring.container.ContainerManager')) #set($getInstanceMethod = $containerManagerClass.getDeclaredMethod('getInstance',null)) #set($containerManager = $getInstanceMethod.invoke(null,null)) #set($containerContext = $containerManager.containerContext) #set($macroBrowserManager = $containerContext.getComponent('macroBrowserManager')) #set($allMacros = $macroBrowserManager.getMacroSummaries()) ######################################################################################### ## This is used for getting around velocity issues when writing jQuery. ## ######################################################################################### #set( $d = '$' ) ######################################################################################### ## Populate the macro information into a string that we will use as a JS object array. ## ######################################################################################### #set ($i = 0) #set($macroObjects = "") #foreach($macro in $allMacros) #if($i != 0) #set($macroObjects = $macroObjects + ",") #end #set($macroObjects = $macroObjects + "{title:'" + $macro.getTitle().getKey().replace("'","\'") + "', name:'" + $macro.getMacroName().replace("'","\'") + "'}") #set ($i = $i + 1) #end <script type="text/javascript"> var queue = { macros: [$macroObjects], current: 0, start: function () { this.macros.sort(compare); this.current = 0; this.next(); }, next: function () { if (this.current >= this.macros.length) { AJS.$('#queryStatus span').removeClass('aui-lozenge-current'); AJS.$('#queryStatus span').addClass('aui-lozenge-success'); AJS.$('#queryStatus span').text('Report Complete'); AJS.tablessortable.setTableSortable(AJS.$('#macroUsageReport table')); return null; } else { this.current += 1; lookupMacro(this.macros[this.current - 1]); } } }; function lookupMacro(macro) { var html = ''; var searchURL = ''; AJS.$('#queryStatus span').text('Getting counts for macro: ' + macro.title); searchURL = '/rest/searchv3/1.0/search?where=conf_all&spaceSearch=true&queryString=macroName:' + encodeURIComponent(macro.name); AJS.${d}.ajax( { type: 'GET', url: searchURL, dataType: "json", success: function(data) { if(data.total > 0) { html = '<tr>'; html += ' <td class="confluenceTd">' + macro.title + '</td>'; html += ' <td class="confluenceTd">' + macro.name + '</td>'; html += ' <td class="confluenceTd">' + data.total + '</td>'; html += ' <td class="confluenceTd"><a href="/dosearchsite.action?where=conf_all&spaceSearch=true&queryString=macroName:' + encodeURIComponent(macro.name) + '" target="_blank">macro usage</a></td>'; html += '</tr>'; } AJS.$('#macroUsageReport table tbody').append(html); queue.next(); }, error: function (x, y, z) { AJS.$('#queryStatus span').removeClass('aui-lozenge-current'); AJS.$('#queryStatus span').addClass('aui-lozenge-error'); AJS.$('#queryStatus span').text('Error getting counts for macro:' + macro.title); } } ); } function compare(a, b) { if (a.title < b.title) { return -1; } if (a.title > b.title) { return 1; } return 0; } AJS.toInit(function(){ queue.start(); }); </script> <div id="queryStatus"> <span class="status-macro aui-lozenge aui-lozenge-current"></span> </div> <div id="macroUsageReport"> <table class="confluenceTable"> <thead> <tr> <th>Macro Title</th> <th>Macro Name</th> <th>Times Used</th> <th>Pages Used On</th> </tr> </thead> <tbody> </tbody> </table> </div>
Just on page or need use plugin? If ust on page - does not work this method.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Correct, pasting the above code on a page won't do anything. You need to create a user macro from the above code. You can create user macros in Confluence Admin --> User Macros. One you have created the user macro. Then on a confluence page you would simply add the macro to the page.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Viktar,
did you check that plugin: https://marketplace.atlassian.com/plugins/com.atlassian.confluence.plugins.confluence-macro-indexer-plugin ? It should work for Confluence 4.0 - 4.3.7.
Regards,
Norbert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
And in SQL table query
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We use PocketQuery plugin for SQL query
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.