Confluence Source

Confluence Source

The Confluence source allows DDF to pull pages/comments/attachments from a Confluence REST API  and turns the results into Metacards the system can use.

Confluence Source has been tested against the following versions of Confluence with REST API v2

  • Confluence 1000.444.5 (Cloud)

  • Confluence 5.10.6 (Server)

  • Confluence 5.10.7 (Server)

Source Configuration Properties

Name

Description

Name

Description

Confluence Rest URL

The Confluence Rest API endpoint URL. Example: https://<host>:<port>/rest/api/content

Username

Username to use with HTTP Basic Authentication. This auth info will overwrite any federated auth info. Only set this if the Confluence endpoint requires basic authentication.

Password

Password to use with HTTP Basic Authentication. This auth info will overwrite any federated auth info. Only set this if the Confluence endpoint requires basic authentication.

Include Page Contents In Results

Flag indicating if Confluence page contents should be included in the returned results.

If page contents not included in results then the returned metacards will not have the `description` or `metadata` fields set

Include Archived Spaces

Flag indicating if archived confluence spaces should be included in search results.

Exclude Confluence Spaces

Flag indicating if the list of Confluence Spaces should be excluded from searches instead of included.

Confluence Spaces

The confluence spaces to include/exclude from searches. If no spaces are specified all visible spaces will be searched.

A confluence space must be set in order for wildcard only searches to work

Additional Attributes

Additional attributes to add to confluence metacards returned from this source.

This can be used to add security attributes to the metacards returned. See Security (Alliance) for a list of the security attributes that could be used. Also note that you will need to map these attributes in

DDF Catalog → Metacard Attribute Security Policy Plugin → Metacard Union Attributes configuration. Example mapping could look like security.classification=classification

Availability Poll Interval

Availability polling interval in milliseconds

Confluence Query Restrictions

Most of the fields that can be queried on confluence have some sort of restriction on them. The tables below try to capture most of the restrictions. Most of the fields do not support the `like` aka `~` operation so the source will convert `like` queries to 'equal` queries for attributes that don't support 'like'. If the source receives a query with attributes it doesn't understand, it will just ignore them. If the query doesn't contain any attributes that map to confluence search attributes, an empty result set will be returned. 

Attachment Downloads

Depending on your version of Confluence, when downloading attachments you might get redirected to a different download URL. If this happens the default URLResourceReader configuration does not allow redirects and will fail the download. This can be fixed by enabling redirects in the URLResourceReader configuration.

Common Taxonomy Attributes (https://codice.atlassian.net/wiki/display/DDF/Attributes)

Attribute Name

Source

Query Restrictions

Attribute Name

Source

Query Restrictions

created

history.createDate

>, <, =

description

First 256 characters of the Confluence entry body

Not directly queryable.

id

Uses the Confluence id as the metacard id.

=, !=

metacard-tags

resource, confluence

 

metadata

Tika-like formatted xml containing the entire text body of the Confluence entry

Queryable via `anyText`

~, !~

modified

history.lastModified.when

>, <, =

resource-download-url

_links.download

Not directly queryable.

resource-size

extensions.fileSize

Not directly queryable.

resource-uri

_links.download

Not directly queryable.

title

title

=, !=, ~, !~

associations.external

_links.webui, _links.base, space._links.webui

Not directly queryable.

contact.contributor-name

history.contributors.publishers.users.username

=, !=

contact.creator-name

history.createdBy.username

=, !=

media.type

metadata.mediaType

Not directly queryable.

metacard.created

history.createDate

>, <, =

metacard.modified

history.lastModified.when

>, <, =

security.access-groups

restrictions.read.restrictions.group.name

Not directly queryable.

security.access-individuals

restrictions.read.restrictions.user.username

Not directly queryable.

topic.keyword

metadata.labels.results.name

=, !=

topic.category

type

=, !=

topic.vocabulary

https://developer.atlassian.com/confdev/confluence-server-rest-api/advanced-searching-using-cql/cql-field-reference#CQLFieldReference-titleTitleType

Not directly queryable.

Some Examples from the DDF Search UI

(Page result left, attachment result right)

Example Metadata

 

Decision

Added Confluence Source.

https://github.com/codice/ddf/tree/2.27.x/catalog/confluence/catalog-confluence-source