/
Confluence Plugin

Confluence Plugin

Target release

January 2020

Epic

 

Document status

DRAFT

Document owner

@Aaron Rothschild (Deactivated)

Designer

@Asaad Mahmood

Tech lead

 

Technical writers

 

QA

@Dylan Haussermann

Objective

Over 25 clients actively use Confluence as part of their daily software planning and development efforts. Mattermost is often used in conjunction with Jira and the two Atlassian software products are often sold together.

The objective of the Confluence plugin is to:

  • Plug the “gap” in product support for Atlassian products. We have Jira, there is a community-supported Bitbucket integration, but one of the most popular Atlassian products, Confluence, is not directly supported in Mattermost

  • Tell a story about the overall “development workflow” and how important toolsets (like Confluence) is well-integrated with Mattermost, building upon “By Developers for Developers”

  • Make it easier for developers who deal with Confluence to achieve some basic daily tasks and stay on top of changes that are happening in Confluence pages they care about, without opening a browser window.

  • Have more servers install and activate another plugin (Confluence is a popular request)

Success metrics

Goal

Metric

Goal

Metric

Make it easier to find confluence documents

Metric: Measure # of times people use search/recents

Increase customer stickiness

Metric: Measure of Server activations of Confluence plugin

Increase adoption of Jira plugin (via advertising for Jira plugin)

Metric: Higher rate of activation of both Jira/Confluence servers

Assumptions

  • Atlassian using Orgs will tend to use Jira AND confluence

  •  

 

Initial Requirements (subject to Scoping)

Requirement

User Story

Importance

Jira Issue

Notes

Requirement

User Story

Importance

Jira Issue

Notes

1

Notify Users of Mentions and comments on their content

When a user is mentioned in a Confluence page/content - it should be easy for them to review those comments in one place (Display in ConfluenceBot channel)

HIGH

 

 

2

 Easily search for confluence pages to refer to

 A user should be able to easily search confluence for topics or keywords to find a page they looking for and refer to it (/confluence search <keywords>) (Display in RHS?)

 high

 

 

3

Refer to recently accessed confluence pages

A user should be able to quickly recall their recently accessed Confluence pages so they can get back to them easily. (Possibly display in RHS)

high

 

 

4

Refer to Saved confluence pages

A user can “star” pages in Confluence, this command would make it easy to see a list of the confluence pages the user has “starred” (ie: /confluence starred)

medium

 

 

5

Refer to Recently Updated pages

Display a stream of recently updated content (updated by others) in Confluence underneath the hierarchy of Pages/Sites the user has starred (likely a CQL query)

medium

 

 

6

Pasting a link to Confluence provides context about the content

When pasting a link into MM that is hosted on a connected Confluence server, the content should render some information about the content (within the channel or in RHS) such as Title, Parent Doc, Most Recent Update, Link to Page.

High

 

 

7

Display a confluence page within a tab on ConfluenceBot Channel

(This is highly dependent on building a “tabbed interface API” for plugins) Within a channel, a channel admin could create a new tab with a relevant Confluence page rendered upon it (such as a Confluence project page related to the channel subject)

low

 

 

8

Optionally preview Confluence Content in RHS

When clicking on a Confluence link in MM, have the option to see it in the RHS. When displaying the content, display additional meta data such as other contributors, and comments and link to original page.

medium

 

 

9

Allow a user to easily star/favourite content from within Mattermost

To better serve up information tailored for this user, they should be able to star/unstar content when they are viewing it in Mattermost.

medium

 

 

10

Read Later/Catchup Bot

Tie into RemindBot to remind a user to read/review some long-form content which they may encounter in their day to day work that they want to read later. For example a project plan comes along in the channel, I don’t have time to read it now - flag it to read later. Then have a “Read-Later” tab in RHS and a bot reminder.

medium-low

 

 

11

Attach MM Conversation to Confluence content

Allow a post-action menu item to create a new piece of content in Confluence (like meeting notes). This would open a MM modal window and allow user to browse Spaces in which to create the content.

Medium

 

 

12

Allow user to Connect their own Confluence login to MM

 

 

 

 

13

Support Multiple Confluence instances and allow a user to switch between them

At least a consideration for future architecture.

low

 

 

14

Channel Notification Subscriptions

Allow a channel admin to subscribe to certain Confluence notification events in a channel (such as whenever a new page is created within Space X, notify the channel)

low

 

 

15

Task assignments

Allow users to create/view/updates/complete tasks in Confluence from MM

 

 

 

16

Create a Space

Allow users to create a space and add users to it from MM

 

 

 

User interaction and design

Slash Commands

Start out with some basic slash commands:

  • /confluence recents - Open RHS tab to recents

  • /confluence starred - Open RHS to Starred

  • /confluence notifications on|off - Turn on/off notifications/mentions

  • /confluence search <keywords> - Open RHS with search results

  • /confluence subscribe - ???

  • /confluence connect

 

Ideas for RHS Interactions:

The RHS could be triggered by a button in the Channel header Bar OR a Quick Link (similar to Github plugin) and then provide access to confluence functionality.

Alternatively, slash commands could also expose the RHS. Keep in mind the RHS has the capability of being expanded to fill more of the screen, giving some room to potentially render Confluence pages in the RHS (they have a specific API endpoint for extracting and rendering content in different view formats, we would use one of those):

 

Ideas for Interactive Elements:

  • Display a “preview” of the document when a link is posted into MM

    • Can we use the Meta-tab like Jesus' plugin?

 

Ideas for Tabbed UI

Here is a wireframe idea for the “tabbed interface” that could display recently viewed items (alternative to RHS)

Additionally, in a channel, we could render a Confluence page within a Channel’s tab:

 

Open Questions

Question

Answer

Date Answered

Question

Answer

Date Answered

Tabbed Interface (out of scope)

Would love to use tabs to display different views of Confluence Queries.

 

Re-use Jira code for authentication or make an “Atlassian” master plugin?

 

 

Out of Scope

  • Integration with Jira workflows

  • Creation of content from within Mattermost

 

Milestones

 

Related content