how to repeat ask question box at the footer of all pages

hung vu June 9, 2016

Hi team,

Can any one show me how torepeat ask question box at the footer of all pages. like that:ask question.png

4 answers

1 vote
Steven F Behnke
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.
June 9, 2016

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>
Steven F Behnke
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.
June 9, 2016

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.

hung vu June 9, 2016

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.

hung vu June 9, 2016

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)

Steven F Behnke
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.
June 10, 2016

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.

Thomas Krause September 6, 2016

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.

Steven F Behnke
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.
September 6, 2016

Yeah I haven't found a clean way to handle it yet. Not sure if the API just isn't doc'd or what.

0 votes
hung vu June 9, 2016

by the way, i use confluence server version, not confluence cloud.

Thanks again.

 

0 votes
hung vu June 9, 2016

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.

 

0 votes
Steven F Behnke
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.
June 9, 2016

Hi! Couple questions...

  • You want to do this on Confluence pages? Or Confluence Questions pages?
  • Are you on Confluence Cloud or are you hosting Confluence somewhere else?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events