After upgrade to Confluence 5.5.1 user macros aren't displaying properly

Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2014

We upgraded to 5.5.1 last night and since then a number of user macros aren't displaying as they used to. They still render but parts of them are not - and some of them are starting to behave differently. Was there a change to the way user macros behave following this upgrade? I can't find any notes on it.

7 answers

0 votes
David at David Simpson Apps
Atlassian Partner
May 26, 2014

You'll need to update your user macros.

For strings, replace #if ($paramfoo) with #if ($paramfoo).length() > 0

For booleans, #if ($paramistrue) with #if ($paramistrue == true)

This is because of the security update to xwork.

More details here:
http://davidsimpson.me/2014/05/22/update-user-macros-confluence-5-5-1-xwork-1-17/

0 votes
Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2014

You were right in that the old version was bundled with Confluence but this didn't fix the problem.

0 votes
Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2014

Thanks. I'll check.

0 votes
Deleted user May 21, 2014

A colleague's check after a first update with 5.5.1 shows that the 5.5.1 Update comes with the old 1.13 jar.

0 votes
Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2014

I'm also noticing that variables no longer evaluate as I expect them:

## @param istrue:title=Is it true?|type=boolean|default=false

#if ($paramistrue)
	YES
#else
	NO
#end

If I set the parameter in the user macro then this evaluates true. If I don't set the parameter then it still evaluates as true. In older versions of the Confluence the latter would evaluate as false.

0 votes
Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2014

We did and our hosting providers did they upgrade. Before I ask them to check, why would this make a difference?

0 votes
Deleted user May 21, 2014

Hello Steve,

Small question: Did you upgrade your confluence to 5.5.1 because of the security update?

If yes, may you check if the update brought you the new <CONFLUENCE-INSTALL>/confluence/WEB-INF/lib/atlassian-xwork-core-1.17.jar or does your confluence 5.5.1 uses still the old <CONFLUENCE-INSTALL>/confluence/WEB-INF/lib/atlassian-xwork-core-1.13.jar ?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events