Integrating Confluence in to our website

oliver marshall May 6, 2013

Hi

We're looking at using Confluence for an internal and external knowledgebase. A number of our suppliers use it, so we're happy it does what we want.

However we want our customers to find common wiki entries via our website, where we send them for various bits of info at the moment.

Other KB/Wiki tools we've looked at provide a javascript widget we can include in the site which will give us a CSS'able search box and results. That works nicely.

At a push I'd take the ability to use an iframe on our site pointing to a basic page with no confluence navbars or headers (just the page and search bar).

Anyone got any comments or feedback at all on this? Our site is in Wordpress if that helps.

Olly

3 answers

2 votes
Daniel Borcherding
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 6, 2013

Olly,

I had previouly filed a similar feature request. Please take a moment to see if that will work for your needs. Please feel free to add any comments about functionality you see that is missing from the request.

https://jira.atlassian.com/browse/CONF-26832

I also wanted to direct your attention to our end user agreement.

http://www.atlassian.com/end-user-agreement/

It states that at mimimum your confluence instnace must contain the text "Powered By Atlassian" in the footer of your page. Please be sure to keep this in mind when you are developing this custom solution.

0 votes
David at David Simpson Apps
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
May 6, 2013

Look at how the quick search drop down is populated in the Confluence search box - it delivers JSON to build the drop down menu.

Use a similar approach to query that same URL for your Wordpress search integration. You can use Firebug or Google Chrome developer tools to watch the network requests.

This approach means that you're just querying the available APIs - you won't have to add the "Powered by..." text.

Update:

This scrappy bit of working PHP code will add Confluence search results to a PHP page:

<!DOCTYPE html>
<html>
<head>
	<title>Search</title>
</head>
<body>
	<h1>Search Atlassian's documentation</h1>
	<form>
		<input name="q" placeholder="Search Confluence...">
		<input type="submit">
	</form>
<?php if (isset($_GET['q'])) {
	
		$query = rawurlencode( $_GET['q']);
		$timestamp = time();
		$baseUrl = 'http://confluence.atlassian.com';
		$url = $baseUrl.'/json/contentnamesearch.action?query='.$query.'&_='.$timestamp;
		$response = file_get_contents($url);
		$response = json_decode($response);
		
		$results = $response->contentNameMatches[0];
?>		
	<h2>Results</h2>
	<div>Searching: <?php echo $url; ?>	
	<h3>Formatted</h3>
	<ol>
	<?php foreach($results as $item) {?>	
		<li><strong><a href="<?= $baseUrl. $item->href ?>"><?= $item->name ?></a></strong> in <a href="<?= $baseUrl.'/display/'.$item->spaceKey ?>"><?= $item->spaceName ?></a></li>
	<?php } ?>
	</ol>

	<h3>Raw JSON</h3>
	<pre>
		<?php print_r($response); ?>
	</pre>
<?php } ?>
</body>
</html>

Clean it up with some error handling though. Also, take a look at the source code of contentnamesearch.action to get it to return more than 6 results ;)

0 votes
oliver marshall May 6, 2013
So, as they are saying no it's an iframe then? Is that right? Anyone know of a 3rd party widget which will allow searching from our site? Olly

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events