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 |
---|---|
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 |
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 |
---|---|---|
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