There are many situations that you want to access your data stored in a cloud storage but you do not want to use an external application. Or you use cloud storage to share the data between a team. Or you want to give an ability to upload files to your cloud storage. The main goal of this add-on was to be able to add links to the files in an issue easily and quickly without making them public in a cloud storage and to restrict the access permissions to them.

And whatbout if you have more cloud storages, e.g. Box, Dropbox, Google Drive, OneDrive Personal? With this add-on it is not a problem anymore. You can see and access your data in same UX and you do not need two and more add-ons.

What it does

The Cloud Connectors for Confluence add-on allows to create accounts which are linked to the cloud storages like Box, Dropbox, Google Drive, OneDrive Personal. Each account can be configured with different properties and permissions in form of Account Profile. Permissions are grouped into Permission Scheme to restrict access to a content of a configured Account Profile. So, the users can e.g. view content, download files, upload files.

The add-on currently has integrations for:

  • Image Dialog
  • to upload files to a page from a cloud storage
  • to insert images in a page from a cloud storage
  • Insert Link Dialog
  • to upload files to a page from a cloud storage
  • to insert links to files in a page from a cloud storage
  • Cloud Connectors Macro
  • to display content of a folder or several cloud storages in a page
  • Cloud Connectors Viewer Macro
  • to embed a file of supported formats in a page
  • Cloud Connectors Blueprint
  • to create page with Cloud Connectors Macro like File List Blueprint
  • Page Attachments
  • to attach files from a cloud storage to a page
  • to upload attachments from a page to a cloud storage
  • Import/Export Page
  • import a word document from a cloud storage to the Confluence as a page
  • export to pdf/word a page to a cloud storage
  • File List
  • upload files from a cloud storage to a page
  • Upload a profile picture
  • upload a profile picture from a cloud storage
  • Scheduled Back Up Confluence
  • Scheduled job to back up Confluence to a cloud storage

How I built it

At the beggining I wanted to develop an add-on for Confluence and JIRA applications. In this case I did not want to have code duplicities and therefore I decided to make one plugin for both applications. The great help was to use atlassian-spring-scanner to reduce configuration of components in the add-on descriptor.

Challenges I ran into

There were several challenges ... maybe the whole project was one big challenge. The great challenge was to create common api for both cloud storages, especially to create a custom client for OneDrive and their usage of "multipart/related" content type when uploading a file.

Accomplishments that I'm proud of

I was able to create one plugin for JIRA and Confluence but I had to split it up to separate plugins because the paid addon can support only one application :(

What I learned

I have learnt how to use atlassian-spring-scanner and how to create common plugin for multiple applications. The great experience (as always :)) is to understand how some functionalities work and are made by Atlassian.

What's next for Cloud Connectors for Confluence

This is not the final state for the add-on. There are many ideas in a queue and waiting to be implemented. And also customers can have other ideas to improve their UX.

What can be implemented in the future?

  • Permissions to create/rename/delete folders, to rename/delete files
  • Configuration to enable displaying of a content in a particular project/issue
  • To view a linked file in an issue without downloading it
  • To add a profile picture
  • Upload buttons to upload a file from cloud to the JIRA
  • Ability to manage user's accounts individually
  • File Manager to be accessible globally
Share this project: