I need to access a page property via a (user) macro.
Is this possible?
Is this what you are looking for?
#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 ($contentPropertyManager=$containerContext.getComponent('contentPropertyManager')) $contentPropertyManager.setStringProperty($content, "myProperty", "Stuff") $contentPropertyManager.getStringProperty($content, "myProperty")
Thanks. myProperty would be set according to https://confluence.atlassian.com/display/DOC/Page+Properties+Macro (like Deadline in the example in that page), right?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ah ... got it. You are looking for how to access values within a page properties macro. Not sure you could do it with a user macro. Mainly it is for paring with the page properties report macro.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
$content is a reference to the current page objet? Your code showed me how to move forward. In my scenario myProperty is a JIRA issueId associated with a page that display info about that issue.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Adolfo did you succeed in retreiving page properties in a User macro ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Adolfo: I also want to display values located in the page properties macro of the current page. Would you mind posting a code snippet of your successful approach here? i take it that Davin pointed you in the right direction but you had to develop the final thing? I would be very interested in what you ended up with. Thanks in Advance
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You just need the last two lines of the snippet above. The first one to set a property and the second to read it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the information. i tried it but didnt get any results regarding access to values inside the page properties macro on the same page (i assume that is what you originally asked about?) I guess i need to ask that specific question on my own, huh? :-) Thanks anyway!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That snippet is not for set/get Page Properties macro values, it's for your own values than can be set with a user macro and read within another. I used it to set a JIRA issueid to a confluence page and then use that issueid to query jira with a jiraissue macro.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks David, this worked for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sorry for the newbie question, how would I integrate this, I seem to have the option of a user macro, a macro plugin or a full blown macro.
I have documents with a page property block with things like version and document number.
I want to have the document number and version in a footer.
It would seem a generic macro that just takes one parameter, the name of the property would do.
$contentPropertyManager.getStringProperty($content, parameter1)
I need to can the solution and pass it to general purpose IT department to install.
TA
Chris
BTW: Am I missing the point, this is such an obvious thing to want to do, is it built in and I missed it?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.