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