User macro parameter limitation?
Asked by Kristen Grimes:

Is there a limitation on amount of paramenter used in a user macro? Currently I have about 70 parameters in a confluence user macro. When I put the macro on the page, it allows me to fill in 37 of the 70 parameters. When putting in 38 parameters, and then saving, it gives me the spinning wheel.


Answers:
author: Nic Brough -Adaptavist-
body: There's no coded limit in Confluence, but it is checking over your parameters and how they are applied so my guess is that your macro is actually going into a loop.

I am curious as to why you've got a macro with so many parameters, but I don't think the number of them is the problem, it's going to be what the macro does with them all.

comments: author: Kristen Grimes
body: I do have a loop in there to repeat 10 instances of a group and stop but it's for a purpose to add specific code. Here is my code

## [@Param](/t5/user/viewprofilepage/user-id/1345631) RowHeader:title=Row Header\|type=string

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle1:title=Card Title 1\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText1:title=Card Text 1\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage1:title=Button Link 1\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText1:title=Button Text 1\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage1:title=Card Image 1\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText1:title=Image Alt Text 1\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle2:title=Card Title 2\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText2:title=Card Text 2\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage2:title=Button Link 2\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText2:title=Button Text 2\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage2:title=Card Image 2\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText2:title=Image Alt Text 2\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle3:title=Card Title 3\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText3:title=Card Text 3\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage3:title=Button Link 3\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText3:title=Button Text 3\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage3:title=Card Image 3\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText3:title=Image Alt Text 3\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle4:title=Card Title 4\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText4:title=Card Text 4\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage4:title=Button Link 4\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText4:title=Button Text 4\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage4:title=Card Image 4\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText4:title=Image Alt Text 4\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle5:title=Card Title 5\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText5:title=Card Text 5\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage5:title=Button Link 5\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText5:title=Button Text 5\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage5:title=Card Image 5\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText5:title=Image Alt Text 5\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle6:title=Card Title 6\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText6:title=Card Text 6\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage6:title=Button Link 6\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText6:title=Button Text 6\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage6:title=Card Image 6\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText6:title=Image Alt Text 6\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle7:title=Card Title 7\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText7:title=Card Text 7\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage7:title=Button Link 7\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText7:title=Button Text 7\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage7:title=Card Image 7\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText7:title=Image Alt Text 7\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle8:title=Card Title 8\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText8:title=Card Text 8\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage8:title=Button Link 8\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText8:title=Button Text 8\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage8:title=Card Image 8\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText8:title=Image Alt Text 8\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle9:title=Card Title 9\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText9:title=Card Text 9\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage9:title=Button Link 9\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText9:title=Button Text 9\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage9:title=Card Image 9\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText9:title=Image Alt Text 9\|type=string\|desc=Add an image description

## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardTitle10:title=Card Title 10\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardText10:title=Card Text 10\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonPage10:title=Button Link 10\|type=confluence-content\|desc=Type a Confluence page title  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ButtonText10:title=Button Text 10\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) CardImage10:title=Card Image 10\|type=string  
## [@Param](/t5/user/viewprofilepage/user-id/1345631) ImageAltText10:title=Image Alt Text 10\|type=string\|desc=Add an image description

<br />

#macro(card $paramCardImage $paramImageAltText $paramCardTitle $paramCardText $paramButtonPage $paramButtonText)  
\<li class="o-auto-grid__item c-card"\>  
\<div class="c-card__content o-media-flex"\>  
#if($paramCardImage)  
\<div class="o-media-flex__media"\>  
\<img class="u-border-radius-circle" src="$paramCardImage" alt="$paramImageAltText" /\>  
\</div\>  
#end  
\<div class="o-media-flex__content"\>  
#if($paramCardTitle)\<h2 class="c-card__title"\>$paramCardTitle\</h2\>#end  
#if($paramCardText)\<p class="c-card__copy"\>$paramCardText\</p\>#end

#if($paramButtonPage \&\& $paramButtonText)  
#if ( $paramButtonPage.indexOf(":") != -1 )  
#foreach ( $part in $paramButtonPage.split(":") )  
#set ( $space.key = $part )  
#break  
#end  
#foreach ( $part in $paramButtonPage.split(":") )  
#set ( $paramButtonPage = $part )  
#end  
#end  
#set ( $linkSpace = $spaceManager.getSpace($space.key) )  
\<p class="c-card__copy"\>\<span class="c-button"\>  
\<ac:link\>  
\<ri:page ri:content-title="$paramButtonPage" ri:space-key="$space.key" /\>  
\<ac:plain-text-link-body\>  
\<!\[CDATA\[$paramButtonText\]\]\>  
\</ac:plain-text-link-body\>  
\</ac:link\>  
\</span\>\</p\>  
#end

\</div\>  
\</div\>  
\</li\>  
#end

\<div class="t-row__wrap"\>  
\<section class="t-row"\>  
#if($paramRowHeader)\<h2 class="t-row__intro c-row-header"\>$paramRowHeader\</h2\>#end  
\<ul class="t-row__content o-card-deck o-auto-grid"\>

#card($paramCardImage1 $paramImageAltText1 $paramCardTitle1 $paramCardText1 $paramButtonPage1 $paramButtonText1)  
#if($paramCardImage2 \|\| $paramImageAltText2 \|\| $paramCardTitle2 \|\| $paramCardText2 \|\| $paramButtonPage2 \|\| $paramButtonText2)  
#card($paramCardImage2 $paramImageAltText2 $paramCardTitle2 $paramCardText2 $paramButtonPage2 $paramButtonText2)  
#end  
#if($paramCardImage3 \|\| $paramImageAltText3 \|\| $paramCardTitle3 \|\| $paramCardText3 \|\| $paramButtonPage3 \|\| $paramButtonText3)  
#card($paramCardImage3 $paramImageAltText3 $paramCardTitle3 $paramCardText3 $paramButtonPage3 $paramButtonText3)  
#end  
#if($paramCardImage4 \|\| $paramImageAltText4 \|\| $paramCardTitle4 \|\| $paramCardText4 \|\| $paramButtonPage4 \|\| $paramButtonText4)  
#card($paramCardImage4 $paramImageAltText4 $paramCardTitle4 $paramCardText4 $paramButtonPage4 $paramButtonText4)  
#end  
#if($paramCardImage5 \|\| $paramImageAltText5 \|\| $paramCardTitle5 \|\| $paramCardText5 \|\| $paramButtonPage5 \|\| $paramButtonText5)  
#card($paramCardImage5 $paramImageAltText5 $paramCardTitle5 $paramCardText5 $paramButtonPage5 $paramButtonText5)  
#end  
#if($paramCardImage6 \|\| $paramImageAltText6 \|\| $paramCardTitle6 \|\| $paramCardText6 \|\| $paramButtonPage6 \|\| $paramButtonText6)  
#card($paramCardImage6 $paramImageAltText6 $paramCardTitle6 $paramCardText6 $paramButtonPage6 $paramButtonText6)  
#end  
#if($paramCardImage7 \|\| $paramImageAltText7 \|\| $paramCardTitle7 \|\| $paramCardText7 \|\| $paramButtonPage7 \|\| $paramButtonText7)  
#card($paramCardImage7 $paramImageAltText7 $paramCardTitle7 $paramCardText7 $paramButtonPage7 $paramButtonText7)  
#end  
#if($paramCardImage8 \|\| $paramImageAltText8 \|\| $paramCardTitle8 \|\| $paramCardText8 \|\| $paramButtonPage8 \|\| $paramButtonText8)  
#card($paramCardImage8 $paramImageAltText8 $paramCardTitle8 $paramCardText8 $paramButtonPage8 $paramButtonText8)  
#end  
#if($paramCardImage9 \|\| $paramImageAltText9 \|\| $paramCardTitle9 \|\| $paramCardText9 \|\| $paramButtonPage9 \|\| $paramButtonText9)  
#card($paramCardImage9 $paramImageAltText9 $paramCardTitle9 $paramCardText9 $paramButtonPage9 $paramButtonText9)  
#end  
#if($paramCardImage10 \|\| $paramImageAltText10 \|\| $paramCardTitle10 \|\| $paramCardText10 \|\| $paramButtonPage10 \|\| $paramButtonText10)  
#card($paramCardImage10 $paramImageAltText10 $paramCardTitle10 $paramCardText10 $paramButtonPage10 $paramButtonText10)  
#end

\</ul\>  
\</section\>  
\</div\>


Tags: confluence-server

server