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.
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 ?
<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 ?
We did and our hosting providers did they upgrade. Before I ask them to check, why would this make a difference?
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.
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.
Thanks. I'll check.
You were right in that the old version was bundled with Confluence but this didn't fix the problem.
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/
It looks like you're new here. Sign in or register to get started.