image2016-6-10 1:59:29.png
I think I was able to successfully recreate this in a User Macro. The "search for existing topics" probably works differently than Atlassian's own.
## Macro title: ask-question ## Macro has a body: N ## Body processing: No body ## ## Developed by: Steve Behnke ## Date created: 10/06/2016 ## Installed by: ??? ## @param topic:title=Topic|type=string|required=false|desc=Add topics to the question. These tags are space delimited. #if ($!paramtopic.contains(" ")) #set ($topicList="") #foreach ($topic in $paramtopic.split(" ")) #set ($topicList = $topicList + $topic + ",") #end #set ($stringLength = $topicList.length() - 1) #set ($topicList = $topicList.substring(0,$stringLength)) #end <style> #ask-question-title { margin:auto auto auto 0; } .ask-question-header { color: #205081 !important; font-size: 18pt; } .ask-question-related { font-size: 12pt; } #ask-question-submit { margin:auto 0 10px auto; } .ask-question-wrapper { text-align: center; } </style> <div class="ask-question-wrapper"> <h1 class="ask-question-header"><strong>Have a question about this article?</strong></h1> <form id="ask-question-macro" class="aui" action="$req.contextPath/questions/ask" method="get"> <div class="question-field-set"> <input class="text" type="text" id="ask-question-title" name="title" title="Question title" placeholder="Ask on Confluence Questions"/> <input type="hidden" id="ask-question-topic" name="topics" value="$topicList"/> <input type="submit" id="ask-question-submit" class="aui-button aui-button-primary" value="Ask a question"/> </div> </form> <a class="ask-question-related" href="$req.contextPath/dosearchsite.action?cql=type+%3D+%22com.atlassian.confluence.plugins.confluence-questions%3Aquestion%22+and+label+in+($topicList)">See questions about this article</a> </div>
I need to rethink out a bit of this, so I'll update this answer when I have the time. It should probably reference the page ID just like Atlassian's does.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Mr.Steve Behnke
,
Thank you so much !!! It really help me.
But one minor thing, I see the below link not go to page list all questions related to the topics:
<a
class
=
"ask-question-related"
href=
"$req.contextPath/dosearchsite.action?cql=type+%3D+%22com.atlassian.confluence.plugins.confluence-questions%3Aquestion%22+and+label+in+($topicList)"
>See questions about
this
article</a>
On Atlassian page, I hover the link and see it look like that: https://answers.atlassian.com/tags/{topicName}
when click on that link it go to page https://answers.atlassian.com/questions/topics/{topicId}/{topicName}
Can you modify your macro like that ?
Thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I try 2 ways:
1) insert link like $req.contextPath
/tags/{topicName} but It not work. It show "page not found".
Maybe there are some handler behind. I dont know.
2) insert link like: $req.contextPath
/questions/topics/{topicId}/{topicName}
problem here is I don't know how to get topic Id by topic name (currently I have only topic name based on page Id)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yeah I'll try and update it when I have the time. I'm not certain the best way to get the topic ID yet.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Atlassian Answers seems to have an additional Url handler (without the need to add the topicid) that Confluence Questions does not have but should definitely also get.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yeah I haven't found a clean way to handle it yet. Not sure if the API just isn't doc'd or what.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Steven Behnke,
I want to add on Confluence pages of document Space or KB Space.
I see there is Create from template macro that can support create Ask Question button on every page. But it's not satisfy my requirement which auto create new topic (=pageid) and set topic for that question.
Can you show me how to add macro/addon like image above ?
thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi! Couple questions...
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.